version=pmwiki-2.2.130 ordered=1 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