Browse Source

Merge branch 'master' into next

* master:
  Update wiki links to use github
  Set theme jekyll-theme-cayman
  gh-pages
Bryan Drewery 6 năm trước cách đây
mục cha
commit
ab2cc2bd18

+ 4 - 4
README.md

@@ -2,7 +2,7 @@
 
 [![Build Status](https://travis-ci.org/wraith/wraith.png?branch=next)](https://travis-ci.org/wraith/wraith)
 
-* http://wraith.botpack.net
+* https://github.com/wraith/wraith/wiki
 * http://github.com/wraith/wraith
 * @wraithbotpack
 
@@ -24,7 +24,7 @@ are referenced here.
 For official release announcements send an email to:
   wraith-announce-subscribe@botpack.net
 
-Download: http://wraith.botpack.net/wiki/Download
+Download: https://github.com/wraith/wraith/wiki/Download
 Git: git://github.com/wraith/wraith.git
 
 See git for a list of Contributors: git shortlog -sen master
@@ -32,8 +32,8 @@ See git for a list of Contributors: git shortlog -sen master
 Support:
 * How To Contribute: http://github.com/wraith/wraith/blob/master/CONTRIBUTING.md
 * Getting Started: http://github.com/wraith/wraith/wiki/GettingStarted
-* FAQ: http://wraith.botpack.net/wiki/FrequentlyAskedQuestions
-* Documentation Index: http://wraith.botpack.net/wiki/Documentation
+* FAQ: https://github.com/wraith/wraith/wiki/FrequentlyAskedQuestions
+* Documentation Index: https://github.com/wraith/wraith/wiki/Documentation
 * Issues can be reported at: https://github.com/wraith/wraith/issues
 * #wraith @ EFnet
 

+ 1 - 1
build/autotools/configure.ac

@@ -262,7 +262,7 @@ if [ "$GIT_REQUIRED" = "1" ]; then
     echo ""
     echo "You have downloaded a GIT version of wraith."
     echo "Either 'git clone' from a git repository or download a source tarball"
-    echo "A distribution version can be found at http://wraith.botpack.net/wiki/Download"
+    echo "A distribution version can be found at https://github.com/wraith/wraith/wiki/Download"
     echo ""
     echo ""
     exit 1

+ 28 - 28
configure

@@ -7927,18 +7927,18 @@ else
 /* end build/confdefs.h.  */
 
   /* For now, do not test the preprocessor; as of 2007 there are too many
-         implementations with broken preprocessors.  Perhaps this can
-         be revisited in 2012.  In the meantime, code should not expect
-         #if to work with literals wider than 32 bits.  */
+	 implementations with broken preprocessors.  Perhaps this can
+	 be revisited in 2012.  In the meantime, code should not expect
+	 #if to work with literals wider than 32 bits.  */
       /* Test literals.  */
       long long int ll = 9223372036854775807ll;
       long long int nll = -9223372036854775807LL;
       unsigned long long int ull = 18446744073709551615ULL;
       /* Test constant expressions.   */
       typedef int a[((-9223372036854775807LL < 0 && 0 < 9223372036854775807ll)
-                     ? 1 : -1)];
+		     ? 1 : -1)];
       typedef int b[(18446744073709551615ULL <= (unsigned long long int) -1
-                     ? 1 : -1)];
+		     ? 1 : -1)];
       int i = 63;
 int
 main ()
@@ -7947,9 +7947,9 @@ main ()
       long long int llmax = 9223372036854775807ll;
       unsigned long long int ullmax = 18446744073709551615ull;
       return ((ll << 63) | (ll >> 63) | (ll < i) | (ll > i)
-              | (llmax / ll) | (llmax % ll)
-              | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
-              | (ullmax / ull) | (ullmax % ull));
+	      | (llmax / ll) | (llmax % ll)
+	      | (ull << 63) | (ull >> 63) | (ull << i) | (ull >> i)
+	      | (ullmax / ull) | (ullmax % ull));
   ;
   return 0;
 }
@@ -7981,33 +7981,33 @@ if ${ac_cv_type_long_long_int+:} false; then :
 else
   ac_cv_type_long_long_int=yes
       if test "x${ac_cv_prog_cc_c99-no}" = xno; then
-        ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
-        if test $ac_cv_type_long_long_int = yes; then
-                                        if test "$cross_compiling" = yes; then :
+	ac_cv_type_long_long_int=$ac_cv_type_unsigned_long_long_int
+	if test $ac_cv_type_long_long_int = yes; then
+	  	  	  	  if test "$cross_compiling" = yes; then :
   :
 else
   cat build/confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end build/confdefs.h.  */
 #include <limits.h>
-                 #ifndef LLONG_MAX
-                 # define HALF \
-                          (1LL << (sizeof (long long int) * CHAR_BIT - 2))
-                 # define LLONG_MAX (HALF - 1 + HALF)
-                 #endif
+		 #ifndef LLONG_MAX
+		 # define HALF \
+			  (1LL << (sizeof (long long int) * CHAR_BIT - 2))
+		 # define LLONG_MAX (HALF - 1 + HALF)
+		 #endif
 int
 main ()
 {
 long long int n = 1;
-                 int i;
-                 for (i = 0; ; i++)
-                   {
-                     long long int m = n << i;
-                     if (m >> i != n)
-                       return 1;
-                     if (LLONG_MAX / 2 < m)
-                       break;
-                   }
-                 return 0;
+		 int i;
+		 for (i = 0; ; i++)
+		   {
+		     long long int m = n << i;
+		     if (m >> i != n)
+		       return 1;
+		     if (LLONG_MAX / 2 < m)
+		       break;
+		   }
+		 return 0;
   ;
   return 0;
 }
@@ -8021,7 +8021,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
   conftest.$ac_objext conftest.beam conftest.$ac_ext
 fi
 
-        fi
+	fi
       fi
 fi
 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_long_long_int" >&5
@@ -9023,7 +9023,7 @@ if [ "$GIT_REQUIRED" = "1" ]; then
     echo ""
     echo "You have downloaded a GIT version of wraith."
     echo "Either 'git clone' from a git repository or download a source tarball"
-    echo "A distribution version can be found at http://wraith.botpack.net/wiki/Download"
+    echo "A distribution version can be found at https://github.com/wraith/wraith/wiki/Download"
     echo ""
     echo ""
     exit 1

+ 1 - 1
doc/UPDATES.md

@@ -193,7 +193,7 @@
   * Add cmd_newhub for adding a new hub. All bots will add this to their config.
   * Hubs can now be overridden inside the botconfig (-C)
   * Optimize userfile writing by doing it asynchronously
-  * Groups support added. See: http://wraith.botpack.net/wiki/Groups
+  * Groups support added. See: https://github.com/wraith/wraith/wiki/Groups
     * Add [bot]set var 'groups' to configure what groups bots are in
     * Add chanset 'groups' to take a list of groups that should join. 'chanset #chan groups { main backup }'
     * Added group support to 'botcmd': 'botcmd [*|&|?] %group cmd'

+ 6 - 0
docs/README.md

@@ -0,0 +1,6 @@
+## Mirrors
+
+* [wraith.botpack.net/wiki/**PackConfig**](wraith.botpack.net/wiki/PackConfig.html)
+* [wraith.botpack.net/wiki/**PackConfig?version=28**](wraith.botpack.net/wiki/PackConfig_version_28.html)
+* [mirror.shatow.net/wraith/**auth.html**](mirror.shatow.net/wraith/auth.html)
+

+ 1 - 0
docs/_config.yml

@@ -0,0 +1 @@
+theme: jekyll-theme-cayman

+ 49 - 0
docs/_includes/PackConfig.conf

@@ -0,0 +1,49 @@
+/* The &lt; && &gt; indicates the area you must change!
+ * Do not leave the &lt;&gt;
+ * Credit to Excelsior / CELDROP for this design
+ */
+
+/* PACKNAME: name of the pack (no spaces) */
+PACKNAME &lt;name&gt;
+
+/* HASHES
+ * This must remain 100% secure/private, this key can retrieve the salts, and
+ * the entire botnet could be hijacked, a pass 8 chars or more is suggested
+ * DO NOT FORGET THE CLEARTEXT, SAVE IT IN A SAFE PLACE, IT CANNOT BE RECOVERED.
+ */
+
+/* BINARYPASS: salted-SHA1
+ *   BINARYPASS should be a salted-sha1. (Use the form at the top of this page)
+ */
+BINARYPASS &lt;salted-SHA1&gt;
+
+/* DCCPREFIX: 1 char cmd prefix for dcc. (ie, .cmd or !cmd) */
+DCCPREFIX &lt;.&gt;
+
+/* The settings below can each be defined multiple times */
+
+/* OWNER &lt;nick password&gt;
+ * Multiple OWNER lines may be defined, each will be added as a +a perm owner.
+ *   All perm owners will have remote shell access to your bots.
+ * nick: nickname what else?
+ * password: initial password for user. DO NOT MAKE THIS YOUR NORMAL PASSWORD.
+ *   Password should be a salted-sha1. (Use the form at the top of this page)
+ */
+OWNER &lt;YourNick salted-SHA1&gt;
+
+/* HUB &lt;nick host port&gt;
+ * Hubs are ranked by the order they are listed.
+ * Hubs DO NOT come on IRC.
+ * nick: nick of hub
+ * host: hostname or ip of hub (A 'dynamic' OR 'changeable' HOSTNAME IS RECOMMENDED)
+ * port: port the hub listens on
+ *
+ * Your hub hosts should NOT be vhosts. They need to be changeable dns,
+ *  so you can easily move the hubs later if needed.
+ * Use a domain you OWN/CONTROL, or a trusted friend's.
+ */
+HUB &lt;hub1 hub1.domain.tld 1234&gt;
+HUB &lt;hub2 hub2.domain.tld 1235&gt;
+
+/* You will also need to add SALTS to your packconfig. These should only be generated <strong>once per botnet.</strong>
+Click the button below to generate SALTS for your botnet. */

+ 54 - 0
docs/_includes/PackConfig_v28.conf

@@ -0,0 +1,54 @@
+/* The &lt; && &gt; indicates the area you must change!
+ * Do not leave the &lt;&gt;
+ * Credit to Excelsior / CELDROP for this design
+ */
+
+/* PACKNAME: name of the pack (no spaces) */
+PACKNAME &lt;name&gt;
+
+/* HASHES
+ * This must remain 100% secure/private, this key can retrieve the salts, and
+ * the entire botnet could be hijacked, a pass 8 chars or more is suggested
+ * DO NOT FORGET THE CLEARTEXT, SAVE IT IN A SAFE PLACE, IT CANNOT BE RECOVERED.
+ */
+
+/* SHELLHASH: SHA1 hash
+ * Use this URL to generate: <a href="http://www.shatow.net/crypt/">http://www.shatow.net/crypt</a>
+ * example: SHELLHASH 637d1f5c6e6d1be22ed907eb3d223d858ca396d8
+ */
+SHELLHASH &lt;sha1hash&gt;
+
+/* DCCPREFIX: 1 char cmd prefix for dcc. (ie, .cmd or !cmd) */
+DCCPREFIX &lt;.&gt;
+
+/* The settings below can each be defined multiple times */
+
+/* OWNER &lt;nick password [host] [host2 ...]&gt;
+ * Multiple OWNER lines may be defined, each will be added as a +a perm owner.
+ * nick: nickname what else?
+ * password: initial password for user. DO NOT MAKE THIS YOUR NORMAL PASSWORD.
+ * hosts are added for telnet access, but telnet is currently not restricted, so it is optional.
+ */
+OWNER &lt;YourNick FirstTimePass&gt;
+
+/* OWNEREMAIL: email addresses that status/errors will be sent to when needed
+ * list as many as needed. (This will be removed soon)
+ */
+OWNEREMAIL &lt;some@email.com&gt;
+
+/* HUB &lt;nick host port&gt;
+ * Hubs are ranked by the order they are listed
+ * nick: nick of hub
+ * host: hostname or ip of hub (A 'dynamic' OR 'changeable' HOSTNAME IS RECOMMENDED)
+ * port: port the hub listens on
+ *
+ * Your hub hosts should NOT be vhosts. They need to be changable dns.
+ * Use a domain you OWN/CONTROL, or a friends.
+ */
+HUB &lt;hub1 hub1.domain.tld 1234&gt;
+HUB &lt;hub2 hub2.domain.tld 1235&gt;
+
+SALT1 <span id="salt1">&nbsp;</span>
+SALT2 <span id="salt2">&nbsp;</span>
+
+/* You will also need to add SALTS to your packconfig. These should only be generated <strong>once per botnet.</strong> */

+ 15 - 0
docs/_includes/footer.html

@@ -0,0 +1,15 @@
+{% if site.github.is_project_page %}
+<div class="footer border-top border-gray-light mt-5 pt-3 text-right text-gray">
+<a href="{{ site.github.repository_url }}" class="button"><small>View repository</small></a>
+</div>
+{% endif %}
+<div id="wiki-footer" class="mt-5 mb-0 wiki-footer gollum-markdown-content">
+  <div class="Box Box--condensed bg-gray box-shadow">
+    <div class="Box-body wiki-writable markdown-body">
+      <p><em>Page was mirrored from trac at <a href="http://wraith.botpack.net" rel="nofollow">http://wraith.botpack.net</a></em></p>
+    </div>
+  </div>
+</div>
+</div>
+</body>
+</html>

+ 18 - 0
docs/_includes/header.html

@@ -0,0 +1,18 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+{% if page.title %}
+<title>
+{{ page.title }} – {{ site.description }}
+</title>
+{% endif %}
+<meta charset="UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1">
+<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
+</head>
+<body>
+<div class="container-lg px-3 my-5 markdown-body">
+{% if page.title %}
+<h1>{{ page.title }} – {{ site.description }}</h1>
+{% endif %}

+ 23 - 0
docs/_layouts/default.html

@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="en-US">
+  <head>
+    {% if page.title %}
+    <title>
+      {{ page.title }} – {{ site.description }}
+    </title>
+    {% endif %}
+    <meta charset="UTF-8">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    {% seo %}
+    <link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
+  </head>
+  <body>
+    <div class="container-lg px-3 my-5 markdown-body">
+      {% if site.description %}
+      <h1>GitHub Pages: <a href="{{ "/" | absolute_url }}">{{ site.description }}</a></h1>
+      {% endif %}
+
+      {{ content }}
+
+      {% include footer.html %}

+ 75 - 0
docs/_layouts/packconfig.html

@@ -0,0 +1,75 @@
+{% include header.html %}
+<p>
+# <strong>Version 1.2.16.1 (legacy release) requires an older version of this <a class="wiki" href="PackConfig">PackConfig</a>. Please use: <a href="PackConfig_version_28.html">PackConfig?version=28</a></strong>
+</p>
+<p>
+# <strong>Also see a working example at <a class="wiki" href="{{ site.github.repository_url }}/wiki/PackConfigExample">PackConfigExample</a></strong>
+</p>
+<pre>
+/* Salted-SHA1 format:
+ *     rand: 12345 (This should be random)
+ *     pass: password
+ *     format: +12345$SHA1(12345password)
+ *     Result: +12345$c553b125c1f87134911fe18e02f29c7ea7027303
+ */
+</pre>
+
+# <label for="pass">Pass:</label> <input type="text=" size="50" id="pass" />
+<input type="button" value="Generate Salted SHA1" onClick="saltedSHA1();">
+<br />
+# <label for="salted_sha1">salted_sha1:</label> <input type="text" size="50" readonly id="salted_sha1" onclick="javascript:this.focus();this.select();"/>
+
+<script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/core-min.js"></script> 
+<script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/sha1-min.js"></script> 
+<script language="javascript" type="text/javascript">
+function randomString(n) {
+	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
+	var string_length = n;
+	var randomstring = '';
+	for (var i=0; i<string_length; i++) {
+		var rnum = Math.floor(Math.random() * chars.length);
+		randomstring += chars.substring(rnum,rnum+1);
+	}
+        return randomstring;
+}
+
+function saltedSHA1() {
+  
+  var salt = randomString(5);
+  var pass = document.getElementById('pass').value;
+  var salted_sha1 = document.getElementById('salted_sha1');
+  salted_sha1.value = '';
+  if (!pass) return;
+  
+  salted_sha1.value = '+' + salt + '$' + CryptoJS.SHA1(salt + pass);
+}
+</script>
+<form name="randform">
+</form>
+
+<pre>
+{% include PackConfig.conf %}
+SALT1 <span id="salt1">&nbsp;</span>
+SALT2 <span id="salt2">&nbsp;</span>
+</pre>
+
+
+<script language="javascript" type="text/javascript">
+function createSalts() {
+  var salt1 = randomString(32);
+  var salt2 = randomString(16);
+  var s1 = document.getElementById('salt1');
+  s1.innerText = salt1;
+  s1.innerHtml = salt1;
+  s1.textContent = salt1;
+  var s2 = document.getElementById('salt2');
+  s2.innerText = salt2;
+  s2.innerHtml = salt2;
+  s2.textContent = salt2;
+}
+
+</script>
+<form name="randform">
+<input type="button" value="Click to Generate Salts" onClick="createSalts();">
+</form>
+{% include footer.html %}

+ 33 - 0
docs/_layouts/packconfig_v28.html

@@ -0,0 +1,33 @@
+{% include header.html %}
+<pre>
+{% include PackConfig_v28.conf %}
+</pre>
+
+<script language="javascript" type="text/javascript">
+function createSalts() {
+  var salt1 = randomString(32);
+  var salt2 = randomString(16);
+  var s1 = document.getElementById('salt1');
+  s1.innerText = salt1;
+  s1.innerHtml = salt1;
+  s1.textContent = salt1;
+  var s2 = document.getElementById('salt2');
+  s2.innerText = salt2;
+  s2.innerHtml = salt2;
+  s2.textContent = salt2;
+}
+function randomString(n) {
+	var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
+	var string_length = n;
+	var randomstring = '';
+	for (var i=0; i<string_length; i++) {
+		var rnum = Math.floor(Math.random() * chars.length);
+		randomstring += chars.substring(rnum,rnum+1);
+	}
+        return randomstring;
+}
+</script>
+<form name="randform">
+<input type="button" value="Click to Generate Salts" onClick="createSalts();">
+</form>
+{% include footer.html %}

+ 107 - 0
docs/mirror.shatow.net/wraith/auth.html

@@ -0,0 +1,107 @@
+<HTML><HEAD>
+<BODY>
+<script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/md5.js"></script> 
+<body>
+<form><table class="indented">
+  <tr><th><FONT color=green>randstring</FONT></th><td><input type="text" name="rand" size="50"></td></tr>
+  <tr><th><FONT color=blue>SECPASS</font></th><td><input type="text" name="secpass" size="15"></td></tr>
+  <tr><th><FONT color=red>AUTHKEY</font></th><td><input type="text" name="authkey" size="50"></td></tr>
+  <tr><th>Calculate</th>
+  <td style="text-align:center">
+  <input type="button" onclick="hash.value = '+Auth ' + CryptoJS.MD5(rand.value + secpass.value + authkey.value)" value="MD5">
+  </td></tr>
+  <tr><th>Result</th><td><input type="text" name="hash" size="50"></td></tr>
+</table></form>
+<!--http://pajhome.org.uk/crypt/md5/-->
+
+<BR><BR><BR>This is the concept of the auth 
+system. The hash is always different. <BR>Only chatbots will accept dcc/msg 
+authing/cmds.<BR><BR>Authing for DCC:<BR><BR>[bot] password?<BR>[you] 
+yourpass<BR>[bot] -Auth <FONT 
+color=green>i/P"R2*Go1)Cij8$-1tvT&amp;5-8d36/bA3(E.1tHl+s4#2FqNpxg</FONT> 
+botnick<BR><BR>Now, at this point, you need to know your <FONT color=blue>SECPASS</FONT> from the bot 
+and the <FONT color=green>AUTHKEY</FONT>.<BR>These can be obtained by asking your admin.<BR>Then you 
+would MD5 the three elements together: 
+<OL>
+  <LI><FONT 
+  color=green>i/P"R2*Go1)Cij8$-1tvT&amp;5-8d36/bA3(E.1tHl+s4#2FqNpxg</FONT> 
+  <LI><FONT color=blue>SECPASS</FONT> 
+  <LI><FONT color=red>AUTHKEY</FONT> </LI></OL>
+<p><BR>
+  MD5: <FONT 
+color=green>i/P"R2*Go1)Cij8$-1tvT&amp;5-8d36/bA3(E.1tHl+s4#2FqNpxg</FONT><FONT 
+color=blue>SECPASS</FONT><FONT color=red>AUTHKEY</FONT><BR>
+  The hash comes out to be: <B>8f783879950efd3e71b7de188ebfa1ad</B><BR>
+  You then paste this back to the bot like so:<BR>
+  <BR>
+  [you] +Auth 8f783879950efd3e71b7de188ebfa1ad<BR>
+  <BR>
+  If you used the correct SECPASS and AUTHKEY, then it will grant you access.<BR>
+  <BR>
+  Authing over IRC is much similar:<BR>
+  <BR>
+  /msg bot auth?<BR>
+  [bot] auth. botnick [if the bot responds with &quot;auth<b>!</b>&quot; then 
+  your host is not added, this will be used in the future.]<BR>
+  [you] auth yourpass<BR>
+  [bot] -Auth i/P"R2*Go1)Cij8$-1tvT&amp;5-8d36/bA3(E.1tHl+s4#2FqNpxg botnick<BR>
+  From here, the hash is made as described earlier<BR>
+  [you] +Auth 8f783879950efd3e71b7de188ebfa1ad<BR>
+  [bot] -notice- You are now authorized for cmds, see +help<BR>
+  <BR>
+  You remain authorized for the following commands until you haven't used a cmd 
+  for 60 minutes or when the bot reconnects.<BR>
+  <BR>
+  MSG/CHAN cmds (<B>as of version 1.0.10 </B>9/25/03):<BR>
+  [you] +help<BR>
+  [bot] op invite getkey voice channels test<BR>
+  Usage for cmds:<BR>
+  <BR>
+  <B>+op</B>/<b>+voice</b> can be used in both channels and msgs.</p>
+<p>+voice is same syntax as +op.</p>
+<p>In msg: </p>
+<UL>
+  <LI>+op #chan: Will op you in #chan if you are not already opped. 
+  <LI>+op: Will op you in all chans you are not already opped in. 
+  <LI>+op -f: Will op you in all channels, even if you are already opped. 
+  <LI>+op -f #chan: Will op you in #chan even if you are already opped.</LI>
+</UL>
+<p>In chan:<BR>
+</p>
+<UL>
+  <LI>+op: Will op you in the chan if you are not already opped. 
+  <LI>+op -f: Will op you in the channel even if you are already opped. 
+</LI></UL><BR><B>+invite</B> is msg only.<BR>
+<UL>
+  <LI>+invite: Will invite you to all +i channels you are not already on. 
+  <LI>+invite #chan: Will invite you to #chan if you are not in there and it is 
+  +i. 
+  <LI>+invite -f: Will invite you to all channels. 
+  <LI>+invite -f #chan: Will invite you to #chan even if you are already there. 
+  </LI></UL><BR><B>+getkey</B> is msg only.<BR>
+<UL>
+  <LI>+getkey #chan: Will notice you the key for #chan if there is a key set. 
+  </LI></UL>
+<p><b>+channels</b> works in both msg and channel</p>
+<UL>
+  <LI>+channels: Lists all channels you have op access to.<BR>
+</UL>
+    <BR>
+  Now that you have read all of that you deserve some scripts ;)<BR>
+    <BR>
+    Type /helpauth in these for further instructions.<BR>
+<UL>
+  <li>mIRC <a href="scripts/mIRC.tar.gz">tar.gz</a> <B>5.80 and up</B> 
+  </li>
+  <LI>BitchX/ircii <a href="scripts/BitchX.tgz">tar.gz</a>
+  <LI>irssi/perl <a href="scripts/irssi.tgz">tar.gz</a>
+  <LI>X-chat/perl (I have an unfinished one if you want it, it doesn't work though)
+</UL>
+<p><BR>
+  Any script without a link is in progress, expect it shortly.<BR>
+  Seeing how the script SHOULD operate, maybe you could write one yourself for 
+  your client? ;) [make sure to send it to me so I can post here]<BR>
+</p>
+<p>Until then, use <a href="md5.tgz">this</a> to generate the hashes (Compilable md5 executable for 
+  *nix) </p>
+</BODY></HTML>

BIN
docs/mirror.shatow.net/wraith/md5.tgz


BIN
docs/mirror.shatow.net/wraith/scripts/BitchX.tgz


BIN
docs/mirror.shatow.net/wraith/scripts/irssi.tgz


BIN
docs/mirror.shatow.net/wraith/scripts/mIRC.tar.gz


+ 4 - 0
docs/wraith.botpack.net/wiki/PackConfig.html

@@ -0,0 +1,4 @@
+---
+title: PackConfig
+layout: packconfig
+---

+ 126 - 0
docs/wraith.botpack.net/wiki/PackConfig.txt

@@ -0,0 +1,126 @@
+# '''Version 1.2.16.1 (legacy release) requires an older version of this PackConfig. Please use: http://wraith.botpack.net/wiki/PackConfig?version=28'''
+
+# '''Also see a working example at PackConfigExample'''
+
+{{{
+#!html
+<pre>
+/* Salted-SHA1 format:
+ *     rand: 12345 (This should be random)
+ *     pass: password
+ *     format: +12345$SHA1(12345password)
+ *     Result: +12345$c553b125c1f87134911fe18e02f29c7ea7027303
+ */
+</pre>
+
+# <label for="pass">Pass:</label> <input type="text=" size="50" id="pass" />
+<input type="button" value="Generate Salted SHA1" onClick="saltedSHA1();">
+<br />
+# <label for="salted_sha1">salted_sha1:</label> <input type="text" size="50" readonly id="salted_sha1" onclick="javascript:this.focus();this.select();"/>
+
+<script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/core-min.js"></script> 
+<script language="JavaScript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/sha1-min.js"></script> 
+<script language="javascript" type="text/javascript">
+function randomString(n) {
+  var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
+  var string_length = n;
+  var randomstring = '';
+  for (var i=0; i<string_length; i++) {
+    var rnum = Math.floor(Math.random() * chars.length);
+    randomstring += chars.substring(rnum,rnum+1);
+  }
+        return randomstring;
+}
+
+function saltedSHA1() {
+  
+  var salt = randomString(5);
+  var pass = document.getElementById('pass').value;
+  var salted_sha1 = document.getElementById('salted_sha1');
+  salted_sha1.value = '';
+  if (!pass) return;
+  
+  salted_sha1.value = '+' + salt + '$' + CryptoJS.SHA1(salt + pass);
+}
+</script>
+<form name="randform">
+</form>
+
+<pre>
+/* The &lt; && &gt; indicates the area you must change!
+ * Do not leave the &lt;&gt;
+ * Credit to Excelsior / CELDROP for this design
+ */
+
+/* PACKNAME: name of the pack (no spaces) */
+PACKNAME &lt;name&gt;
+
+/* HASHES
+ * This must remain 100% secure/private, this key can retrieve the salts, and
+ * the entire botnet could be hijacked, a pass 8 chars or more is suggested
+ * DO NOT FORGET THE CLEARTEXT, SAVE IT IN A SAFE PLACE, IT CANNOT BE RECOVERED.
+ */
+
+/* BINARYPASS: salted-SHA1
+ *   BINARYPASS should be a salted-sha1. (Use the form at the top of this page)
+ */
+BINARYPASS &lt;salted-SHA1&gt;
+
+/* DCCPREFIX: 1 char cmd prefix for dcc. (ie, .cmd or !cmd) */
+DCCPREFIX &lt;.&gt;
+
+/* The settings below can each be defined multiple times */
+
+/* OWNER &lt;nick password&gt;
+ * Multiple OWNER lines may be defined, each will be added as a +a perm owner.
+ *   All perm owners will have remote shell access to your bots.
+ * nick: nickname what else?
+ * password: initial password for user. DO NOT MAKE THIS YOUR NORMAL PASSWORD.
+ *   Password should be a salted-sha1. (Use the form at the top of this page)
+ */
+OWNER &lt;YourNick salted-SHA1&gt;
+
+/* HUB &lt;nick host port&gt;
+ * Hubs are ranked by the order they are listed.
+ * Hubs DO NOT come on IRC.
+ * nick: nick of hub
+ * host: hostname or ip of hub (A 'dynamic' OR 'changeable' HOSTNAME IS RECOMMENDED)
+ * port: port the hub listens on
+ *
+ * Your hub hosts should NOT be vhosts. They need to be changeable dns,
+ *  so you can easily move the hubs later if needed.
+ * Use a domain you OWN/CONTROL, or a trusted friend's.
+ */
+HUB &lt;hub1 hub1.domain.tld 1234&gt;
+HUB &lt;hub2 hub2.domain.tld 1235&gt;
+
+/* You will also need to add SALTS to your packconfig. These should only be generated <strong>once per botnet.</strong>
+Click the button below to generate SALTS for your botnet. */
+
+SALT1 <span id="salt1">&nbsp;</span>
+SALT2 <span id="salt2">&nbsp;</span>
+</pre>
+
+
+<script language="javascript" type="text/javascript">
+function createSalts() {
+  var salt1 = randomString(32);
+  var salt2 = randomString(16);
+  var s1 = document.getElementById('salt1');
+  s1.innerText = salt1;
+  s1.innerHtml = salt1;
+  s1.textContent = salt1;
+  var s2 = document.getElementById('salt2');
+  s2.innerText = salt2;
+  s2.innerHtml = salt2;
+  s2.textContent = salt2;
+}
+
+</script>
+<form name="randform">
+<input type="button" value="Click to Generate Salts" onClick="createSalts();">
+</form>
+
+}}}
+
+

+ 4 - 0
docs/wraith.botpack.net/wiki/PackConfig_version_28.html

@@ -0,0 +1,4 @@
+---
+title: PackConfig version 28
+layout: packconfig_v28
+---

+ 90 - 0
docs/wraith.botpack.net/wiki/PackConfig_version_28.txt

@@ -0,0 +1,90 @@
+{{{
+#!html
+<pre>
+/* The &lt; && &gt; indicates the area you must change!
+ * Do not leave the &lt;&gt;
+ * Credit to Excelsior / CELDROP for this design
+ */
+
+/* PACKNAME: name of the pack (no spaces) */
+PACKNAME &lt;name&gt;
+
+/* HASHES
+ * This must remain 100% secure/private, this key can retrieve the salts, and
+ * the entire botnet could be hijacked, a pass 8 chars or more is suggested
+ * DO NOT FORGET THE CLEARTEXT, SAVE IT IN A SAFE PLACE, IT CANNOT BE RECOVERED.
+ */
+
+/* SHELLHASH: SHA1 hash
+ * Use this URL to generate: <a href="http://www.shatow.net/crypt/">http://www.shatow.net/crypt</a>
+ * example: SHELLHASH 637d1f5c6e6d1be22ed907eb3d223d858ca396d8
+ */
+SHELLHASH &lt;sha1hash&gt;
+
+/* DCCPREFIX: 1 char cmd prefix for dcc. (ie, .cmd or !cmd) */
+DCCPREFIX &lt;.&gt;
+
+/* The settings below can each be defined multiple times */
+
+/* OWNER &lt;nick password [host] [host2 ...]&gt;
+ * Multiple OWNER lines may be defined, each will be added as a +a perm owner.
+ * nick: nickname what else?
+ * password: initial password for user. DO NOT MAKE THIS YOUR NORMAL PASSWORD.
+ * hosts are added for telnet access, but telnet is currently not restricted, so it is optional.
+ */
+OWNER &lt;YourNick FirstTimePass&gt;
+
+/* OWNEREMAIL: email addresses that status/errors will be sent to when needed
+ * list as many as needed. (This will be removed soon)
+ */
+OWNEREMAIL &lt;some@email.com&gt;
+
+/* HUB &lt;nick host port&gt;
+ * Hubs are ranked by the order they are listed
+ * nick: nick of hub
+ * host: hostname or ip of hub (A 'dynamic' OR 'changeable' HOSTNAME IS RECOMMENDED)
+ * port: port the hub listens on
+ *
+ * Your hub hosts should NOT be vhosts. They need to be changable dns.
+ * Use a domain you OWN/CONTROL, or a friends.
+ */
+HUB &lt;hub1 hub1.domain.tld 1234&gt;
+HUB &lt;hub2 hub2.domain.tld 1235&gt;
+
+SALT1 <span id="salt1">&nbsp;</span>
+SALT2 <span id="salt2">&nbsp;</span>
+</pre>
+
+/* You will also need to add SALTS to your packconfig. These should only be generated <strong>once per botnet.</strong> */
+
+<script language="javascript" type="text/javascript">
+function createSalts() {
+  var salt1 = randomString(32);
+  var salt2 = randomString(16);
+  var s1 = document.getElementById('salt1');
+  s1.innerText = salt1;
+  s1.innerHtml = salt1;
+  s1.textContent = salt1;
+  var s2 = document.getElementById('salt2');
+  s2.innerText = salt2;
+  s2.innerHtml = salt2;
+  s2.textContent = salt2;
+}
+function randomString(n) {
+  var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
+  var string_length = n;
+  var randomstring = '';
+  for (var i=0; i<string_length; i++) {
+    var rnum = Math.floor(Math.random() * chars.length);
+    randomstring += chars.substring(rnum,rnum+1);
+  }
+        return randomstring;
+}
+</script>
+<form name="randform">
+<input type="button" value="Click to Generate Salts" onClick="createSalts();">
+</form>
+
+}}}
+
+

+ 1 - 1
scripts/irssi/wraith.pl

@@ -9,7 +9,7 @@ $VERSION = "1.01";
           name        => 'wraith-auth',
           description => 'private auth script for botpack wraith',
           license     => 'ALL?',
-          url         => 'http://wraith.botpack.net/wiki/AuthSystem',
+          url         => 'https://github.com/wraith/wraith/wiki/AuthSystem',
           changed     => '$Date$ ',
 );
 

+ 1 - 1
src/binary.cc

@@ -354,7 +354,7 @@ readcfg(const char *cfgfile, bool read_stdin)
       t.c_lflag &= ~(ECHO | ISIG);
       tty_changed = (tcsetattr (fileno (stdin), TCSAFLUSH | TCSASOFT, &t) == 0);
     }
-    printf(STR("// Paste in your PACKCONFIG. Reference http://wraith.botpack.net/wiki/PackConfig\n"));
+    printf(STR("// Paste in your PACKCONFIG. Reference https://github.com/wraith/wraith/wiki/PackConfig\n"));
     printf(STR("// Press <enter> if it gets hung up. If that doesn't work hit ^D (CTRL+d)\n"));
     fflush(stdout);
   } else {

+ 4 - 6
src/cmds.cc

@@ -427,10 +427,8 @@ static void cmd_about(int idx, char *par)
   dprintf(idx, STR(" * $bMany$b others.\n"));
   dprintf(idx, " \n");
   dprintf(idx, STR("For a list of Contributors see: git shortlog -sen master\n"));
-  dprintf(idx, STR("To Contribute see: http://wraith.botpack.net/wiki/Contributing\n"));
-  dprintf(idx, STR("Credit for suggestions/bugs can be found at: http://wraith.botpack.net/report/9\n"));
-  dprintf(idx, STR("Bugs can be reported at: http://wraith.botpack.net/newticket\n"));
-  dprintf(idx, STR("Bugs can be looked up by #, ie, '#24' in url: http://wraith.botpack.net/ticket/24\n"));
+  dprintf(idx, STR("To Contribute see: https://github.com/wraith/wraith/wiki/Contributing\n"));
+  dprintf(idx, STR("Bugs can be reported at: https://github.com/wraith/wraith/issues\n"));
   dprintf(idx, " \n");
   dprintf(idx, STR("Please support wraith by signing up for a shell at http://www.xzibition.com (coupon 'wraith' for 30%% off)\n"));
   dprintf(idx, " \n");
@@ -719,8 +717,8 @@ static void cmd_help(int idx, char *par)
   } else if (!fnd) {
     dprintf(idx, "No match for '%s'.\n", match);
   }
-  dprintf(idx, "FAQ: http://wraith.botpack.net/wiki/FrequentlyAskedQuestions\n");
-  dprintf(idx, "Documentation: http://wraith.botpack.net/wiki/Documentation\n");
+  dprintf(idx, "FAQ: https://github.com/wraith/wraith/wiki/FrequentlyAskedQuestions\n");
+  dprintf(idx, "Documentation: https://github.com/wraith/wraith/wiki/Documentation\n");
 }
 
 static void cmd_addlog(int idx, char *par)

+ 2 - 2
src/config.h.in

@@ -84,7 +84,7 @@
 /* Define to 1 if you have the <locale.h> header file. */
 #undef HAVE_LOCALE_H
 
-/* Define to 1 if the system has the type 'long long int'. */
+/* Define to 1 if the system has the type `long long int'. */
 #undef HAVE_LONG_LONG_INT
 
 /* Define to 1 if you have the `madvise' function. */
@@ -221,7 +221,7 @@
 /* Define to 1 if you have the <unistd.h> header file. */
 #undef HAVE_UNISTD_H
 
-/* Define to 1 if the system has the type 'unsigned long long int'. */
+/* Define to 1 if the system has the type `unsigned long long int'. */
 #undef HAVE_UNSIGNED_LONG_LONG_INT
 
 /* Define to 1 if you have the `vsnprintf' function. */