Quotes and CollabNet Guide: Difference between pages

From Computernewb Wiki
(Difference between pages)
Jump to navigation Jump to search
No edit summary
 
No edit summary
 
Line 1: Line 1:
This is a list of funny quotes from CollabVM users. Feel free to add to this page at any time!
This guide will walk you through setting up a Virtual Network for your VMs. This will allow you to route your VM traffic behind a VM (strongly recommended for several reasons), filter web traffic, and prevent access to your local network from the VMs.


All mentions of the N word and the F slur have been censored for obvious reasons. Don't mind the excessive amount of the aforementioned words, it's a byproduct of how CollabVM culture was back in the day.
= Prerequisites =
* An hour or two of your time
* A host running a Linux distribution
* Basic computer and command line literacy. Nobody is going to hold your hand


== 2016 ==
= Host Preparation =


=== CHOCOLATEMAN plays Solitaire on CollabVM (2016) ===
== IP Forwarding ==
<pre>
CHOCOLATEMAN▸ DOUBLE CLICK THE 2
CHOCOLATEMAN▸ D O U B L E C L I C K T H E 2
Wulf715▸ AHHA
CHOCOLATEMAN▸ FUCKING FUCKING SOLITAIRE
CHOCOLATEMAN▸ FUCK
Keurig▸ welpers
CHOCOLATEMAN▸ put the jack
CHOCOLATEMAN▸ on the queen
Wulf715▸ sorry
CHOCOLATEMAN▸ its kay friend
CHOCOLATEMAN▸ not that one
CHOCOLATEMAN▸ the other one
Wulf715▸ ok
Wulf715▸ getting an iso on here
CHOCOLATEMAN▸ i used to play this game like a religion
CHOCOLATEMAN▸ so i know pretty much how to win it always
</pre>


=== CHOCOLATEMAN plays Solitaire 2 (on ExperimentalVM) (2016) ===
First, we're going to enable IP forwarding on your host. This will allow traffic from the VMs to be routed to and from the router. The following command will write this to the sysctl configuration.
<pre>
{{code|<nowiki>
CHOCOLATEMAN▸ FUUUUUUCK
echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/router.conf
CHOCOLATEMAN▸ THIS GAME IS LITERALLY FUCKING PROGRAMMED TO FUCK YOU
</nowiki>}}
CHOCOLATEMAN▸ 9 OF DIAMONDS
To apply, either reboot or run the following:
CHOCOLATEMAN▸ HISTORY
{{code|
CHOCOLATEMAN▸ QUEEN OF HEARTS
sudo sysctl --system
CHOCOLATEMAN▸ NEGATORY 3 OF HEARTS
}}
CHOCOLATEMAN▸ NOPE
CHOCOLATEMAN▸ 6 OF DIAMONDS
CHOCOLATEMAN▸ YOU WISH
CHOCOLATEMAN▸ 10 OF SPADES
CHOCOLATEMAN▸ NEYET
CHOCOLATEMAN▸ JACK OF CLUBS
CHOCOLATEMAN▸ OVER
CHOCOLATEMAN▸ KING OF DIAMONDS
CHOCOLATEMAN▸ SCREWED THE QUEEN'S DAUGHTER
CHOCOLATEMAN▸ QUEEN OF SPADES
CHOCOLATEMAN▸ USELESS
CHOCOLATEMAN▸ FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCK
CHOCOLATEMAN▸ there
CHOCOLATEMAN▸ I WIN
CHOCOLATEMAN▸ WIN1!!11!!!
</pre>


=== Lace Querux vs. Splatoon Fanbase (Early-Mid? 2016) ===
== Bridge configuration ==
<pre>
Technoturnovers▸you know, i think sonic is fine but the community is straight up autistic
guest1337▸Same thing with Splatoon
guest1337▸It's like a great creative shooting game
guest1337▸but the fanbase is like
guest1337▸PORN
guest1337▸MORE PORN
guest1337▸PORN
guest1337▸YAY
guest1337▸PORN
</pre>


=== Trolling a guest (May 13th, 2016) ===
Next, we'll set up a network bridge with multiple TAP interfaces. You can think of a TAP interface as a virtual Ethernet port connected to your VM, and the network bridge as a virtual Ethernet switch connecting them all together. The instructions to do this vary based on your network daemon. For this guide we'll assume (and recommend) you're using systemd-networkd, or netifrc on OpenRC.
<pre>
guest68876▸Dinkleburg
guest68876▸whoever that is can suck my dick
guest68876▸and stop eating Dingleberrys for a long while
guest68876▸CHOC
Chinigan▸meow
guest68876▸NO
guest68876▸BAD TECHNOTURNOVERS
guest68876▸CHANGE IT BACK
guest68876▸OR I WILL PUT YOU I MY LOCKER YOU <friend>
Technoturnovers▸whut
Technoturnovers▸how will you put me in a locker
guest68876▸COME WITH ME TO SPONGEBOB LAND
Technoturnovers▸what the fuck
guest68876▸AND I WILL SHOW YOU MY LOCKER
Technoturnovers▸are you high
guest68876▸FULL OF GYM SOCKS
Technoturnovers▸no thank you
guest68876▸YOU GOT NO CHOICE
guest68876▸ONLY IF YOU CHANGE IT BACK
Technoturnovers▸you would splatter apple turnover all over your socks
guest68876▸THEN YOU WILL
guest68876▸DONT MIND
Technoturnovers▸you can't even find me m8
guest68876▸EASILY WASHES OFF
guest68876▸I JUST FOUND YOU
guest68876▸YOU ARE RIGHT HERE
Technoturnovers▸kekle no
Technoturnovers▸what are you on aout
Technoturnovers▸*about
guest68876▸THE WALLPAPER
guest68876▸PUT IT BACK TO THE ONE IT WAS
Technoturnovers▸no
guest68876▸YES
Technoturnovers▸do it yourself if you care so much :^)
guest68876▸PS VITAS FAULT
guest68876▸CAN NOT CTRL
Technoturnovers▸why are we talking about ctrl?
guest68876▸WE ARE NOT
Technoturnovers▸i don't like ctrl, he's annoying
guest68876▸I SAID I CAN NOT CTRL THE VM
Technoturnovers▸ctrl isnt online you tard
Chinigan▸>psvita
guest68876▸YOU ARE FUCKING RETARDED
Chinigan▸kek
Technoturnovers▸>projecting
guest68876▸BY CTRL I MEAN CONTROL
Technoturnovers▸i wonder what ctrl would say if he was here
guest68876▸What did Father Tuna do?
Technoturnovers▸ctrl can't control the vm because he isnt online guest
guest68876▸Did he make any picture of Davy Jones'v
guest68876▸?
guest68876▸DID HE
Technoturnovers▸i like tuna
Technoturnovers▸tuna is tasty
Technoturnovers▸i'm actually eating it right now, want some?
guest68876▸FATHER TUNA
guest68876▸NOT ACTUAL TUNA
Technoturnovers▸i hope that tuna wasnt a father
Technoturnovers▸or else his kids will be orphans
guest68876▸HE SAID HE WAS MINE
CHOCOLATEMAN▸??
Technoturnovers▸what? no the tuna is mine
Technoturnovers▸get your own tuna
guest68876▸NO
guest68876▸YOU SAID I COULD HAVE SOME
Technoturnovers▸oh
guest68876▸YOU SNEAKY BLACK CAT
guest68876▸YOU <nigerian>
Technoturnovers▸sorry, sometimes i think i have the attention span of a tuna :^)
guest68876▸AND WHERE IS MY VIRTUAL COFFEE
Technoturnovers▸go ask keurig for some
guest68876▸CHOCO
CHOCOLATEMAN▸what 1337
guest68876▸Techno drives me cra cra
Dinkleberg left
Technoturnovers▸lol
guest68876▸and where is the orge's source
Technoturnovers▸there is not an orgy going on guest
guest68876▸Shrek's Source
Technoturnovers▸that's gay as fuck
Technoturnovers▸why would you want to go to a shrek orgy?
guest68876▸Shrek.exe's Source
Technoturnovers▸shrek.exe is not for orgies
Technoturnovers▸how would you have sex with a computer program
guest68876▸Shrek SuperSlam's Source
Technoturnovers▸Why are you talking about superslams
Technoturnovers▸this is not a sex position chat
Technoturnovers▸>SUUUUPEEERRRR SLAAAAAAMMMMM
guest68876▸WOO
guest68876▸WHO?
Technoturnovers▸>GIGGITY
guest68876▸GIGGITY
guest68876▸CHOCO
guest68876▸WHY DID YOU NOT ANSWER
Technoturnovers▸choco is not into buttsecks
guest68876▸THIS CERIAL IS ORGE
Technoturnovers▸how do you use cereal in an orgy?
guest68876▸orge in French means well, search it up lazy fuck
Technoturnovers▸the milk you get everywhere
Technoturnovers▸french orgy?
Technoturnovers▸you have some weird fetishes
guest68876▸But Orge in French means Barley
Technoturnovers▸Orgy? I barley even know 'er?
guest68876▸OSX 10.4 is what Chinigan uses
guest68876▸go upgrade <friend>
Technoturnovers▸OS SEX?
guest68876▸NO
guest68876▸NO
guest68876▸NO
guest68876▸NO
guest68876▸IT IS OS X
guest68876▸NOT OS XXX
Technoturnovers▸OS XXX sounds weird
guest68876▸HOW ABOUT MEGAMAN XXX
Technoturnovers▸that exists?
guest68876▸AKA MEGAMAN TRIPLE X
Technoturnovers▸why do you play games like that bro
guest68876▸I DO NOT
guest68876▸YOU DO
Technoturnovers▸nah, i prefer OS XXX ;)
Ctrl joined
Ctrl▸Why is the black panther African american
Ctrl left
Technoturnovers▸blacked panther?
Technoturnovers▸whoa
guest68876▸HEY TECHNO
Ctrl joined
Technoturnovers▸what?
guest68876▸I WAS JUST SEARCHING UP STEVEN UNIVERSE TO FIND WHAT YOU WATCHED
guest68876▸AND I FOUND OUT
guest68876▸https://vimeo.com/163162419
SUCKA▸
THE▸
COCKA▸
COCKA left. Ctrl joined
VOTE▸
TRUMP▸
TRUMP left. CtrLALtDeLEte joined
guest68876▸FUCK TRUMP
VOTE▸
TRUMP▸
Chinigan▸hi ctrl!
Technoturnovers▸you want to fuck trump?
Technoturnovers▸i doubt trump would like that
guest68876▸Well
guest68876▸THAT IS WHAT YOU WATCH
guest68876▸https://vimeo.com/163162419
guest68876▸ITS RIGHT HERE FRIEND
Technoturnovers▸nah, i prefer blacked panther
CtrLALtDeLEte▸Jared fogle would like it
guest68876▸Mac OS XXX Black Panther
CtrLALtDeLEte▸Have anyone seen civil war
guest68876▸10.6
guest68876▸.66
Technoturnovers▸Mac OS XXX Blacked Panther?
Technoturnovers▸why do you use that man
Technoturnovers▸what happens when people look at your pc?
CtrLALtDeLEte left
guest68876▸You just said you prefer to use that instead
Technoturnovers▸im too busy using MEGAMAN TRIPLE X
guest68876▸"Technoturnovers> nah, i pefer blacked panther"
guest68876▸and you also said you would rather use Mac OS XXX then play MEGAMAN Triple X
Technoturnovers▸>projecting
Technoturnovers▸go take your orgy related delusions somewhere else
guest68876▸And you watch this instead of spongebob
Technoturnovers▸also, donald trump will never love you
guest68876▸you watch GemSteve RoundBelly
guest68876▸https://vimeo.com/157331299
CtrLALtDeLEte joined
CtrLALtDeLEte▸But Jared fogle will
CtrLALtDeLEte▸I just he likes little 14 year olds
CtrLALtDeLEte▸Heard*
CtrLALtDeLEte▸Frug
guest68876▸What is with all of the shocked files
Technoturnovers▸guest why do you watch steven jewnisverse?
Technoturnovers▸it seems really religious
Technoturnovers▸do you also watch lewd jude?
Guest leaves the chat
</pre>


=== The reality of the RJLPranks Vista Upgrader (Mid? 2016) ===
We'll also be giving the <code>collabvm</code> group access to the TAPs. If you have yet to create a user for CollabVM, do so now.
<pre>
Technoturnovers▸oh noes
Technoturnovers▸it didnt cancel!!!
CHOCOLATEMAN▸lmao
CHOCOLATEMAN▸it's hilarious how this fucking program predicted the windows 10 upgrader
CHOCOLATEMAN▸nearly 10 years before
</pre>


=== Fucked out of a Solitaire game (July 2016) ===
=== Systemd ===
<pre>
CHOCOLATEMAN▸so dont fuggle me plz
Technoturnovers▸k
Ruiner Of Solitaire▸Well fuggle my huggle!
Technoturnovers▸oh no
Technoturnovers▸no no
Technoturnovers▸fuck you
CHOCOLATEMAN▸who did that
CHOCOLATEMAN▸you homos
Technoturnovers▸Ruiner of Solitaire
Technoturnovers▸that son of a bitch
CHOCOLATEMAN▸woww
CHOCOLATEMAN▸way to suck dick
</pre>


=== Technoturnovers writes a LoveEevee and FluffyVulpix copypasta (2016) ===
All network configuration is done in the <code>/etc/systemd/network</code> directory. We'll start by creating the bridge itself. The following simply creates a network bridge named <code>collabnet</code>
<pre>
Technoturnovers▸https://paste.installgentoo.com/view/dbb71cae
Technoturnovers▸here is the copypasta
Technoturnovers▸where is 1337?
Technoturnovers▸hey 1337 have you read the copypasta
LoveEevee▸&gt;I DONT ACTUALLY PLAY POKEMON, I JUST GET HORNY AT THE CHARACTERS
LoveEevee▸honestly that is 100% true
</pre>


=== Ctrl accidentally admits he is a shithead (2016) ===
'''/etc/systemd/network/collabnet.netdev'''
<pre>
{{code|<nowiki>
Technoturnovers▸stop being a shithead ctrl
[NetDev]
Ctrl▸Or what
Name=collabnet
Ctrl▸You'll ignore me?
Kind=bridge
The vote to reset the VM has lost.
</nowiki>}}
Technoturnovers▸you realize you just admitted you are a shithead, right?
LoveEevee▸i know what's going on actually, had it on my own machine a long time ago
Ctrl▸Like I care lol
</pre>


=== Wewlad Dislikes CollabCorp (2016) ===
Next, we'll create a TAP for our router VM. The following creates a new TAP named <code>ktrouter</code>
<pre>
patrick: dinkle and chocolate should be mods
wewlad: not dinkle
wewlad: that guy is a retard
Dinkleberg: &gt;implying you are not one
patrick: don't get heated
wewlad: watch out dinkle is gunna hack your youtube account and change all the video titles
wewlad: really smart guy
Dinkleberg: Calling someone else a retard to try to trigger them
Dinkleberg: automatically makes yourself a retard
wewlad: yeah i dont think that's how that works
wewlad: maybe ask 8chan if they can crack this guys password too
Dinkleberg: yeah i think that's how that works
Dinkleberg: ze lag
patrick: nice turnbomb
Garry12gg: Have you seen my Robopanda?
wewlad: &gt;turn bombing
wewlad: &gt;being this mad
Dinkleberg: sorry wewmad
wewlad: that's right
wewlad: i forgot the l33t hacker cant use a proxy
wewlad: has to use the vm to test passwords
Dinkleberg: that's not even the issue dumbass
Dinkleberg: wew<friend>
wewlad: seems like it
wewlad: why would you waste your time trying to do it on here otherwise?
Dinkleberg: because
Dinkleberg: i fucking can
Dinkleberg: that's why
wewlad: ah
wewlad: so you are a retard
wewlad: cant figure out how to use a proxy
Dinkleberg: ah
wewlad: gotcha
Dinkleberg: i have tor
wewlad: &gt;i have tor
wewlad: LOL
Dinkleberg: hurr durr
Dinkleberg: tor is botnet
wewlad: i really cant understand this level of autism
wewlad: you really are
wewlad: the hardest of core hacker
wewlad: you are the next lizard squad
Dinkleberg: You say that like its a good thing
patrick: shut the fuck up you two
wewlad: lol?
wewlad: you just want attention
Dinkleberg: no
Dinkleberg: i dont
wewlad: you do
Dinkleberg: you want attention
Dinkleberg: by insulting me
wewlad: otherwise you'd be as destructive as possible
Dinkleberg: and getting me to argue with you
wewlad: lmao
wewlad: I DONT WANT ATTENTION
Dinkleberg: yes you do
wewlad: BUT I MAKE SURE I POST COLLBA SQUAD EVERYWHERE
FLUFFYVULPiX: MINECRAFT
wewlad: MY NAME IS DINKLE
FLUFFYVULPiX: REEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Dinkleberg: Why else would you want to argue with people
wewlad: I PLAY ROBLOX, IM 16, AND I HAVE NO LIFE OUTSIDE OF THIS
Dinkleberg: and call them retards?
wewlad: it's entertaining?
wewlad: not really attention seeking
Dinkleberg: Roblox?
Dinkleberg: Roblox is gay
wewlad: i feel like you don't understand basic english
Dinkleberg: o rly
Dinkleberg: if i don't understand basic english
Dinkleberg: then how am i talking to you then
dan: roblox
dan: cox
wewlad: being this literal
wewlad: what is autism
Dinkleberg: being this salty
Dinkleberg: what is trolling
wewlad: you're not trolling
wewlad: you actually want to be lizard squad
Dinkleberg: I never said i was trolling
wewlad: you are this autistic
wewlad: you beg people to crack hashes
wewlad: you go to 8chan for support
wewlad: like what is wrong with you
wewlad: you're a living meme
Dinkleberg: says the person who has a meme as their username
wewlad: &gt;implying i said i wasn't
wewlad: &gt;this level of autism
Garry12gg: More Go<friend>s to troll?
Dinkleberg: nope
Garry12gg: OK.
wewlad: we're waiting on 8chan to crack the hash
Dinkleberg: no we arent
Dinkleberg: /baphomet/ is a bunch of retarded skids
wewlad: &gt;arent
wewlad: &gt;implying you're not a skid
Dinkleberg: &gt;implying you're not a <friend>
Dinkleberg: go suck some black dicks and shut the fuck up
Dinkleberg: you cuck
wewlad: &gt;cuck
wewlad: i dont think you know what that word means
FLUFFYVULPiX: &gt;cuck spelled backwards kcuc
Dinkleberg started a vote to reset the VM.
wewlad voted no.
Garry12gg voted no.
FLUFFYVULPiX: &gt;KCUC: Kansas City Urology Care
Garry12gg: LOL
FLUFFYVULPiX: wewlad = urologist
FLUFFYVULPiX: from kansas
dan voted no.
FLUFFYVULPiX voted no.
patrick voted yes.
FLUFFYVULPiX: dan spelled backwards is nad
The vote to reset the VM has lost.
Garry12gg: https://www.instagram.com/p/BJWnaOVjgBN/?taken-by=garry12gg&amp;hl=en
FLUFFYVULPiX: nad is slang for testicle
FLUFFYVULPiX: dan likes testicles
FLUFFYVULPiX: illuminazi conformed
</pre>


== 2017 ==
'''/etc/systemd/network/ktrouter.netdev'''
{{code|<nowiki>
[NetDev]
Name=ktrouter
Kind=tap


=== "A Guest Being Silly" (June 2017 or earlier) ===
[Tap]
<pre>
Group=collabvm
Windows98_SE▸no
</nowiki>}}
Windows98_SE▸stop
Windows98_SE▸too good
LoveEevee▸nice
guest63797▸im a girl
Windows98_SE▸that's probably why you love this bright-ass pink desktop
guest63797▸i didnt set it
Windows98_SE▸I did ik
Windows98_SE▸ooh
Windows98_SE▸look at that cool turquoise hyperlink
guest63797▸reminds me of the old days with win 98
Windows98_SE▸:)
Windows98_SE▸I don't remember you
Windows98_SE▸oh
Windows98_SE▸you mean the os
Windows98_SE▸why
Windows98_SE▸why
Windows98_SE▸why
Windows98_SE▸WHY INTERNET CRAPSPLORER
guest63797▸yes messing with the colors
Windows98_SE▸THE ONLY PURPOSE OF IT IS SO FORKIES CAN SPAM IT
Windows98_SE▸because ie8 is such a bad browser
Windows98_SE▸but not as bad as ie6
Windows98_SE▸what
Windows98_SE▸chrome themmes
guest63797▸might as well get a pink t
Windows98_SE▸nah
Windows98_SE▸it's fiiiiine
Windows98_SE▸we can just run phirefocks
Windows98_SE▸oh hell yeah
guest63797▸- c:/users/shithead haha
Windows98_SE▸I'm going to make this useraccount as bad looking and as cringy possible
Windows98_SE▸as possible*
Windows98_SE▸oh yeah I forgot
Windows98_SE▸I have to make the windows super large
Windows98_SE▸like Windows 10-- erm I mean Windows 9
guest19329▸size 100
Windows98_SE▸and we need the title bars white on white
Windows98_SE▸just like windows 9
guest19329▸Windows 9?
Windows98_SE▸windows 10
Windows98_SE▸but I am calling it windows 9
guest19329▸ur right
guest19329▸should be win 9
guest19329▸oh god cant see the title names
guest19329▸upload
guest19329▸it
guest19329▸oh crap my vm is windows 7 starter
Windows98_SE▸what
Windows98_SE▸>windows 7 starter
Windows98_SE▸why not ultimat
Windows98_SE▸e
Windows98_SE▸b.1339.cf/iqwmbkl.themepack
guest19329▸In my virtual Box for some reason i installed starter
Windows98_SE▸you should've got ultimate buddy
eneness▸is this the theme?
Windows98_SE▸yes
eneness▸will it work on win10
guest19329▸I have ultimate cant remember why i installed such a shitty os
Windows98_SE▸umm
Windows98_SE▸no
eneness▸ok
guest19329▸ill just upgrade it
Windows98_SE▸because windows 10, no, 9 doesn't have classic
guest19329▸why is that in a dictionary?
Windows98_SE▸we need an eeveebuddy
guest19329▸no i mean asdassadsad
Windows98_SE▸that's who put it in urban dictionary
Windows98_SE▸peedy sucks
Windows98_SE▸no
Windows98_SE▸I wasn't fucking finished
Windows98_SE▸ther
guest19329▸funny
Windows98_SE▸e
Windows98_SE▸that's better
guest19329▸get rid of it
Windows98_SE▸what is "it"
Windows98_SE▸all it does is remove the iexplore.exe stub
guest19329▸delete it from the hard drive
Windows98_SE▸no
Windows98_SE▸microshaft doesn't let you
Windows98_SE▸Administrator is the fine account
Windows98_SE▸it's teh g0dz
guest19329▸God
guest19329▸wish it gave u that file for real
Windows98_SE▸what file
guest19329▸It's the secret administrator...
Windows98_SE▸nah
Windows98_SE▸someone put it theer
Windows98_SE▸there*
guest19329▸i know but imagine if it was by default
Windows98_SE▸it's as easy as typing net user Administrator /active:yes
Windows98_SE▸what the hell
guest63797▸u r a plumber
Windows98_SE▸no
Windows98_SE▸that's merio
Windows98_SE▸and lern hou 2 spel
</pre>


=== "Let's Test CyberBuddy" (June 2017 or earlier) ===
Now, you can create a TAP for each VM. The following adds a TAP named <code>ktvm1</code>. To add more, repeat the following, creating files named <code>ktvm2</code>, <code>ktvm3</code>, and so on. Make sure to also change the TAP name inside the file to match this.
<pre>
CHOCOLATEMAN▸this is a good candidate
Windows98_SE▸that's a good looking instaler
Windows98_SE▸installer*
CHOCOLATEMAN▸for the worse fucking design i've ever seen in my life
CHOCOLATEMAN▸why are extra characters premium
CHOCOLATEMAN▸thats stupid
CHOCOLATEMAN▸i can fucking download them from ponx for free
CHOCOLATEMAN▸premium???
CHOCOLATEMAN▸you gotta PAY for this shit?
Garry12gg▸I've kown about Cybver Budy back in 2001.
Windows98_SE▸lmao, some butthurt wikia contributer vandalized the CHOCOLATEMAN page on the wiki by adding it to
CHOCOLATEMAN▸2001??????
Windows98_SE▸the "Forkies" category.
CHOCOLATEMAN▸wait
CHOCOLATEMAN▸how uhh
CHOCOLATEMAN▸how OLD is this program
CHOCOLATEMAN▸>2012 CHOCOLATEMAN▸oh my god this is RECENT
CHOCOLATEMAN▸THIS PROGRAM
CHOCOLATEMAN▸IS
CHOCOLATEMAN▸RECENTLY
CHOCOLATEMAN▸UPDATEDDDDDDDDD
LoveEevee▸>2012
LoveEevee▸>recent
CHOCOLATEMAN▸and it looks like this
CHOCOLATEMAN▸what uhh
CHOCOLATEMAN▸oh nice
CHOCOLATEMAN▸it closed
CHOCOLATEMAN▸guess we're done with that
CHOCOLATEMAN▸chat
CHOCOLATEMAN▸lets see if anyones online
CHOCOLATEMAN▸gay nobody is here
CHOCOLATEMAN▸so wait garry
CHOCOLATEMAN▸you've used this before huh
CHOCOLATEMAN▸oh my god why is bonzibuddy giving the tour for cyberbuddy
Garry12gg▸Yup.
CHOCOLATEMAN▸oh
CHOCOLATEMAN▸is it anus
Garry12gg▸MIDI( musicd is npow playing.
CHOCOLATEMAN▸how do i make it chat CHOCOLATEMAN▸its fucking disabled
CHOCOLATEMAN▸do i have to get approved by a moderator
Technoturnovers▸i went to take a shit and that website is what came out
CHOCOLATEMAN▸ok idk what i just did
CHOCOLATEMAN▸but i did it
CHOCOLATEMAN▸so
CHOCOLATEMAN▸UIN
CHOCOLATEMAN▸oh ok so this is basically ICQ?
CHOCOLATEMAN▸like a really shitty version of it?
CHOCOLATEMAN▸this is basically microsoft chat + ICQ
CHOCOLATEMAN▸why is he pointing to the hide button
CHOCOLATEMAN▸am i supposed to click it
CHOCOLATEMAN▸wait
CHOCOLATEMAN▸we're in
CHOCOLATEMAN▸we are in the chat
CHOCOLATEMAN▸how do we get people
LoveEevee▸>Prounced
LoveEevee▸>Prounced
LoveEevee▸>Prounced
LoveEevee▸murrican education
CHOCOLATEMAN▸how in fuck hell do i use this god damn programmmmm
CHOCOLATEMAN▸how do i get cyber the bot
CHOCOLATEMAN▸i want to have cyber sex
LoveEevee▸protip: you fucking dont
CHOCOLATEMAN▸wow its a lie
CHOCOLATEMAN▸mmm go mmm fuck mmm yourself mmm
CHOCOLATEMAN▸>not found
CHOCOLATEMAN▸ok so what
CHOCOLATEMAN▸is it gone
Windows98_SE▸this intro is fucking long
CHOCOLATEMAN▸my god this bird does not shut up
CHOCOLATEMAN▸okay
CHOCOLATEMAN▸this fucking
CHOCOLATEMAN▸program minimizing randomly
CHOCOLATEMAN▸is getting real annoying
CHOCOLATEMAN▸what
CHOCOLATEMAN▸what uhh
CHOCOLATEMAN▸what
CHOCOLATEMAN▸what uhh
CHOCOLATEMAN▸what is a cbb file
CHOCOLATEMAN▸is that a premium feature
gordy12gg▸no
CHOCOLATEMAN▸okay
CHOCOLATEMAN▸you two have used this program
CHOCOLATEMAN▸tell me how to use it
CHOCOLATEMAN▸synchronize
Windows98_SE▸>logo in comic sans
CHOCOLATEMAN▸this program looks like it was made in vb2
CHOCOLATEMAN▸well actually i'd say comic sans is actually used appropriately in this case
CHOCOLATEMAN▸it seems like a silly program
Windows98_SE▸yeah, really
CHOCOLATEMAN▸for kids and shit
CHOCOLATEMAN▸so i mean
CHOCOLATEMAN▸what
CHOCOLATEMAN▸oooh
CHOCOLATEMAN▸oooooooh
CHOCOLATEMAN▸okay so this is how we get like
CHOCOLATEMAN▸the <friend>s
CHOCOLATEMAN▸on our list
gordy12gg▸yup
LoveEevee▸>Since Last On
CHOCOLATEMAN▸alright yeti
CHOCOLATEMAN▸okay
CHOCOLATEMAN▸how do we add this guy
LoveEevee▸this guy's first language is definetely not english
CHOCOLATEMAN▸okay this program doesn't work properly
CHOCOLATEMAN▸how do you fix this
CHOCOLATEMAN▸the chat doesn't work
CHOCOLATEMAN▸initalizing
CHOCOLATEMAN▸why do you have to wait for this thing to initalize
CHOCOLATEMAN▸it obviously just fucking startedCHOCOLATEMAN▸hey look
CHOCOLATEMAN▸somebody made a song about cyberbuddy
CHOCOLATEMAN▸https://www.youtube.com/watch?v=3Y0ciVEgyfo
LoveEevee▸holy fucking shit a talking smartphone
CHOCOLATEMAN▸holy motherfucking asscrack
gordy12gg▸use chrome
CHOCOLATEMAN▸look at this guy's fucking desktop
CHOCOLATEMAN▸https://www.youtube.com/watch?v=9NELfWTTU5k
CHOCOLATEMAN▸at 0:03
LoveEevee▸where's tidus wallpaper
Windows98_SE▸what the shit
CHOCOLATEMAN▸so uhh
CHOCOLATEMAN▸this program is popular huh
CHOCOLATEMAN▸seems like a shitty pickle to me
Garry12gg▸It's even on Twitter. @ultrahal
LoveEevee▸CRINGE
Garry12gg▸Yup.
guest6372▸ass
CHOCOLATEMAN▸vagina
Ctrl▸Did you know if you put a razor blade halfway through a surveillance camera wire
Ctrl▸It makes static on the operator's end
Ctrl▸Until you remove it
CHOCOLATEMAN▸sounds fun
LoveEevee▸>inb4 hdmi cable
LoveEevee▸what now <friend>
CHOCOLATEMAN▸i downloaded cyber buddy because it sounded sexy
CHOCOLATEMAN▸it even has a sex robot
CHOCOLATEMAN▸and guess what you cant even use that shit
CHOCOLATEMAN▸what a crappy program
LoveEevee▸that bot sounds like fluffy
CHOCOLATEMAN▸you know what's really homogay
CHOCOLATEMAN▸this bonzi buddy ripoff
CHOCOLATEMAN▸can someone reprogram bonzi without it being absolute anus
Garry12gg started a vote to reset the VM.
Windows98_SE voted yes.
CHOCOLATEMAN voted no.
LoveEevee▸if bonzi had walk animation i would add it to eevee.exe
LoveEevee voted no.
CHOCOLATEMAN▸its fineee
Windows98_SE▸there
Windows98_SE▸it works now
CHOCOLATEMAN▸fuck
CHOCOLATEMAN▸this
CHOCOLATEMAN▸chat
CHOCOLATEMAN▸i say a homogayyyyyyyyy
Ctrl voted no.
The vote to reset the VM has lost.
Ctrl▸Win98 whats your obsession with shit
Ctrl▸Is it like a fetish
gordy12gg▸eevee
CHOCOLATEMAN▸he's got a scat fetish
gordy12gg▸yup
CHOCOLATEMAN▸win98 you and eevee would make good friends
gordy12gg▸^
gordy12gg▸snap
LoveEevee▸>i can sense that lucario is sexy
gordy12gg▸theres my bot
</pre>


=== Another Holy War (CollabVM Neocities Blog) (Late 2017) ===
'''/etc/systemd/network/ktvm1.netdev'''
'''Original Description:''' Why does choco hate linux so much?
{{code|<nowiki>
[NetDev]
Name=ktvm1
Kind=tap


<pre>
[Tap]
Shitface titty fart▸FUCKING X PROGTAMS
Group=collabvm
CHOCOLATEMAN▸x programs work you jew
</nowiki>}}
CHOCOLATEMAN▸you just have to install x
bcd29x_8.1▸ITT: thirld world issues
Shitface titty fart▸heh
LoveEevee▸&gt;never used bash on linux on windows 10
Technoturnovers▸they work like shit
LoveEevee▸&gt;i'll still say it sucks :^)
Technoturnovers▸try to use a DE in X on windows
CHOCOLATEMAN▸dartz had a screenshot somewhere where he was running what was it
CHOCOLATEMAN▸firefox, qemu, and libreoffice
CHOCOLATEMAN▸for linux
CHOCOLATEMAN▸on windows 10
Shitface titty fart▸atleast I don't have pajeet spying on my shit
Technoturnovers▸why would you use windows at all?
LoveEevee▸also linux is FINISHED
Ctrl▸Qemu for Windows 10 (NOW WITH SPYWARE!!!!!!)
Technoturnovers▸literally no reason
Shitface titty fart▸also, all 3 of thoese are on Windows
Technoturnovers▸just use linux in the first place
CHOCOLATEMAN▸to run 99% of the programs in the world
CHOCOLATEMAN▸&gt;inb4 wine
cutebot2 left. Vanilla joined
CHOCOLATEMAN▸wine is shitty asscrack that can't even run basic programs
Shitface titty fart▸The only reason someone would use Windows is for their winbabby gayymes
Technoturnovers▸wine works you dipshit
CHOCOLATEMAN▸no it doesn't
Technoturnovers▸for 16 but progs, it works better than windows
Technoturnovers▸*bit
CHOCOLATEMAN▸&gt;16 bit
Ctrl▸Butt progs
Shitface titty fart▸Wine is the linux equivlent of Windows Bash on Ubuntu on Windows
CHOCOLATEMAN▸what the fuck are you doing running 16 bit programs
CHOCOLATEMAN▸also, i don't care if microsoft looks at my shit
CHOCOLATEMAN▸i'm not a fucking pedophile
Vanilla left
Technoturnovers▸&gt;muh nothing to hide
Shitface titty fart▸Someone's running out of arguements
CHOCOLATEMAN▸i don't store child porn on the root of my disk
Technoturnovers▸enjoy your 1984
Vanilla joined
CHOCOLATEMAN▸&gt;enjoy your 1984
CHOCOLATEMAN▸assblasted 9/11 truther detected
Shitface titty fart▸&gt;i don't need free speech, i don't have anything to say
Shitface titty fart▸Same thing
Technoturnovers▸http://mashable.com/2013/06/13/julian-sanchez-nsa/#0yTwPaV2oEqX
CHOCOLATEMAN▸nope
Vanilla left
Ctrl▸ITT: A preview of /g/ everyday
CHOCOLATEMAN▸i'm sorry i don't have the same opinion as you
CHOCOLATEMAN▸forgive me pls
Shitface titty fart▸ITT: Winbabbies getting bottom bothered
CHOCOLATEMAN▸&gt;i've been calm and collective this entire time
Ctrl▸&gt;linux
Shitface titty fart▸That's what the all say
CHOCOLATEMAN▸but you and techno have been throwing insults and screaming at me lmfao
Ctrl▸&gt;windows
Ctrl▸&gt;not temploeos
Technoturnovers▸i havent been screaming at you
Ctrl▸Die unholy scum
Technoturnovers▸i havent even been yelling
Shitface titty fart▸No one has been screaming at you
Technoturnovers▸just calm down m8
CHOCOLATEMAN▸lmao
Shitface titty fart▸Ctrl Terry Davis uses ubuntu
CHOCOLATEMAN▸because he's a pleb
Ctrl▸I know
CHOCOLATEMAN▸only <friend>s use ubuntu
Ctrl▸I watched the stream
CHOCOLATEMAN▸real men use mikeos
Technoturnovers▸i use ubuntu
Technoturnovers▸it works fine
CHOCOLATEMAN▸then you're a <friend>
CHOCOLATEMAN▸get mikeos
Shitface titty fart▸Stop shilling for MikeOS
Shitface titty fart▸shit's <nigerian>ed
CHOCOLATEMAN▸stop shilling for linux
Technoturnovers▸im not
Ctrl▸MikeOS IS pretty good
CHOCOLATEMAN▸ya u are mang
Technoturnovers▸i only got into this debate when you started strawmanning us
CHOCOLATEMAN▸&gt;don't even know what mikeos is
Technoturnovers▸i dont go out of my way to shill linux
CHOCOLATEMAN▸average loonix user intelligence everybody
Technoturnovers▸&gt;140 iq
Shitface titty fart▸&gt;155 IQ
CHOCOLATEMAN▸&gt;372 IQ
Shitface titty fart▸Stop talking shit Jamal
CHOCOLATEMAN▸you know a lot of indian names
CHOCOLATEMAN▸those the guys you slept with
Technoturnovers▸i am literally in advanced classes for math and language arts
Shitface titty fart▸Jamal isn't indian
Shitface titty fart▸are you retarded
CHOCOLATEMAN▸he is in my mind
Technoturnovers▸Jamal is african american
Technoturnovers▸jesus
Ctrl▸Search Jamal + Indian last name
Shitface titty fart▸Who's the idiot here?
CHOCOLATEMAN▸arabic = indian
Ctrl▸You'll find SOMEONE
CHOCOLATEMAN▸that's how it works
CHOCOLATEMAN▸ask ANYONE that
Shitface titty fart▸Do you think Tyrone is an indian name too?
CHOCOLATEMAN▸they'll tell you
Shitface titty fart▸tsk tsk tsk
Ctrl▸Actually you know what os is better than all of them
Ctrl▸LMOS
CHOCOLATEMAN▸no because that's not arabic
Shitface titty fart▸Microsoft you need to step up your shill game
Technoturnovers▸my last name is irish, doesnt mean im an irish person
Vanilla joined
CHOCOLATEMAN▸yes it does
Ctrl▸Techno is part of Isis?
CHOCOLATEMAN▸ITALY
Ctrl▸Wtf techno
Ctrl▸Techno do you fuck goats?
CHOCOLATEMAN▸ITALY MAN
CHOCOLATEMAN▸ISIS MEMBER CONFIRMED
Shitface titty fart▸Choco just because your BMI is higher than 30 doesn't mean you should scream at people for using lin
Shitface titty fart▸x
CHOCOLATEMAN▸i'm actually underweight
CHOCOLATEMAN▸:(
Vanilla▸&gt;isis
Shitface titty fart▸That's what they all say
Vanilla▸i like isis
CHOCOLATEMAN▸i have a bmi of like 16 or some shit
CHOCOLATEMAN▸i need to fix that
CHOCOLATEMAN▸annnnnnywaaaaaaay
CHOCOLATEMAN▸techno is literally a part of isis
Shitface titty fart▸let's stop arguing
CHOCOLATEMAN▸let me guess techno
CHOCOLATEMAN▸you use tor browser too?
Ctrl▸So techno is part of isis
Shitface titty fart▸and fuck up this b00buntu
Vanilla left
Ctrl▸And apparently Linux is better than mikeos
CHOCOLATEMAN▸cant
Ctrl▸What else is new
CHOCOLATEMAN▸love eevee is being a fucking <friend>
Vanilla joined
CHOCOLATEMAN▸and not giving us the password
CHOCOLATEMAN▸&gt;linux is better than mikeos
CHOCOLATEMAN▸lol
Shitface titty fart▸Eeevee is being a cunt
Vanilla left
Shitface titty fart▸TELL US THE PASSWORD
CHOCOLATEMAN▸eevee
CHOCOLATEMAN▸give us the password
Vanilla joined
Shitface titty fart▸GIBE PASS
LoveEevee▸noo
Shitface titty fart▸yes
CHOCOLATEMAN▸at least install something for us
Shitface titty fart▸you shekel
bcd29x_8.1▸gibe
LoveEevee▸alright
LoveEevee▸whatcha wanna installed
CHOCOLATEMAN▸give us kolourpaint4
CHOCOLATEMAN▸the best colorpaint
CHOCOLATEMAN▸the best ms paint clone ever made
Vanilla left
Shitface titty fart▸I want tuxracer installed
LoveEevee▸it fucking sucks though
Ctrl▸Green is my pepper
LoveEevee▸yes
bcd29x_8.1▸is gimperdimper installed
Shitface titty fart▸GREEN IS MY PEPPER TOO
CHOCOLATEMAN▸i don't give a fuck
LoveEevee▸i'm doing the dark theme right now
CHOCOLATEMAN▸kolourpaint4 is the only decent paint editing tool on linux
Ctrl left
Shitface titty fart▸It's the shitty paint equivlent
Shitface titty fart▸You could just install Wine and use Photo shop
LoveEevee▸&gt;photoshop
LoveEevee▸&gt;on loonix
LoveEevee▸in your dreams
CHOCOLATEMAN▸&gt;install Wine and use Photoshop
CHOCOLATEMAN▸but i thought wangblows XDDDD
Shitface titty fart▸It's it comes down to that
Shitface titty fart▸just use wine you stingey jew
Vanilla joined
guest19492 started a vote to reset the VM.
bcd29x_8.1 voted no.
Shitface titty fart voted no.
LoveEevee▸photoshop doesnt worn on wine
bcd29x_8.1▸GUEST DOES NOT LIKE UBUNTU :^)
Vanilla voted no.
Shitface titty fart▸It does
LoveEevee▸as was said before wine is a piece of shit
bcd29x_8.1▸choco what's the sudo warudo
Shitface titty fart▸Just because it can't run your gaymes doesn't mean it sucks
cutebot2 joined
Technoturnovers▸my little cousin was watching me on my pc
cutebot2 left
Shitface titty fart▸Stop being a homo and don't play games
Vanilla▸on collabvm?
Technoturnovers▸so i had to hide my tabs
Vanilla▸lol
Ctrl joined
bcd29x_8.1▸you were watching porn weren't you
bcd29x_8.1▸:
CHOCOLATEMAN▸"Just because it can't run your gaymes doesn't mean it sucks"
bcd29x_8.1▸^
bcd29x_8.1▸)
CHOCOLATEMAN▸no it's not the gaymes
CHOCOLATEMAN▸it's the fact it can't
CHOCOLATEMAN▸run
Shitface titty fart▸It's the gaymes
CHOCOLATEMAN▸anythingggggggggg
Shitface titty fart▸It can run most things
CHOCOLATEMAN▸i tried to run photoshop in wine
CHOCOLATEMAN▸it gave me an error
Shitface titty fart▸No you havent
bcd29x_8.1▸tech was having pornosites
CHOCOLATEMAN▸yes i have
Shitface titty fart▸I thought you didn't use linux
CHOCOLATEMAN▸what
CHOCOLATEMAN▸i used it a VM
Technoturnovers▸i wasnt watching porn
Shitface titty fart▸Stop shilling pajeet
CHOCOLATEMAN▸what, you think i just say shit sucks wihtout knowing what i'm talking about
The vote to reset the VM has lost.
Shitface titty fart▸Just be quiet
Shitface titty fart▸Yes
CHOCOLATEMAN▸&gt;archbabby is this mad
CHOCOLATEMAN▸oops
Shitface titty fart▸You sound exactly like the person who would do that
Vanilla left
Shitface titty fart▸be a little bitch
CHOCOLATEMAN▸why don't you go fix x.org?
CHOCOLATEMAN▸;)))))))))
Shitface titty fart▸BECAUSE I USE WAYLAND
</pre>


=== Hannah explains what to do when the VMs are fucked (2017) ===
Finally, we connect all of our TAPs to the <code>collabnet</code> bridge.
<pre>
hannah▸if all else fails, memtest
</pre>


== 2018 ==
'''/etc/systemd/network/collabnet.network'''
{{code|<nowiki>
[Match]
Name=kt*


=== Local Autist has a sperg attack (September 21, 2018) ===
[Network]
<pre>
Bridge=collabnet
Dan Smith▸THIS IS REVENGE FOR GETTING MY FIRST CHANNEL BANNED!!!
</nowiki>}}
Wulf715▸what the hell
Wulf715▸we didnt do shit
Dan Smith▸YOU DIDN'T
Dan Smith▸BUT THEY DID
Wulf715▸who
Dan Smith▸KUBAPOLISH, ANTIFCU, [M D M C K 1 0]
Wulf715▸what are you smoking and where can i get it
</pre>


== 2020 ==
Finally, you can either reboot or run the following to reload the network configuration
{{code|
sudo systemctl restart systemd-networkd
}}


=== Icanttellyou drama/A kit abuser getting banned by [[CHOCOLATEMAN]] live (January 2020) ===
=== OpenRC ===
The drama starts around 17:42:13.208Z, the kitting starts at 17:43:00.243Z <vm1 turns> 79756683, the spam starts and ends at 17:49:37.395Z and 17:51:11.094Z.


http://computernewb.com:8080/logs/computernewb.com:6004/2020-01-25/17:00.log
TODO


'''Note: this link doesn't work anymore, someone fix it for fucks sake'''
= Setting up the router =


== 2021 ==
Now for the """fun""" part. We're going to set up a router VM, responsible for routing all traffic from the VMs. You'll want to give it '''two''' network adapters, one for the WAN (the internet) and another LAN (your VMs, the collabnet bridge).


=== Choc plays solitaire the third. (2021) ===
The router will be running Debian. You can either netboot it from within QEMU (Press Ctrl+B when prompted on boot, enter <code>dhcp && boot http://boot.netboot.xyz</code>) or download an ISO and mount it. Your choice.
<pre>
CHOCOLATEMAN▸are any of these cards usable
CHOCOLATEMAN▸any at all
Wulf715▸uhhhhhh
CHOCOLATEMAN▸holy shit
CHOCOLATEMAN▸HOLY shit
CHOCOLATEMAN▸i am getting fucked in like
CHOCOLATEMAN▸6 different angles right now
</pre>


=== Andrej vehemently defends his authorship of Bouncer and gets his ass kicked by the motherfuckin' CHOC (August 2021) ===
Here is an example QEMU start command for the router VM. You'll need to create the disk image and adjust paths.
<pre>
{{code|<nowiki>
20:33:15.722Z @CHOCOLATEMAN: jesus christ this dude is STILL going?
sudo -u collabvm qemu-system-x86_64 \
20:33:19.111Z @NAEM: and use ur amuzing network
-accel kvm \
20:33:23.113Z @DFU RAPE EDITION: CHOCOLATEMAN I MADE U
-cpu host \
20:33:23.355Z @NAEM: yeah it is
-m 2G \
20:33:26.624Z @Blockhead: chocolate rain
-hda /srv/collabvm/router/router.qcow2 \
20:33:27.035Z @NAEM: SHUT UP
-netdev user,id=wan -device virtio-net,netdev=wan \
20:33:33.389Z @CHOCOLATEMAN: you people are fucking killing me over here lol
-netdev tap,id=lan,ifname=ktrouter,script=no,downscript=no -device virtio-net,netdev=lan \
20:33:44.188Z @aaa: choco is dying
-vnc 127.0.0.1:10
20:33:45.554Z @NAEM: jjjj is shit
</nowiki>}}
20:33:48.784Z @CHOCOLATEMAN: can't wait for the new version of the server so your skidded stolen bullshit won't work anymore
20:33:51.106Z @NonSense: shut up
20:33:56.413Z @DFU RAPE EDITION: what stolen?
20:33:58.766Z @DFU RAPE EDITION: what is stolen?
20:34:01.768Z @Blockhead: oh wow guest3634 is such a asshole can you believe it?
20:34:03.403Z @CHOCOLATEMAN: bouncer lol
20:34:08.361Z @DFU RAPE EDITION: hilda<friend> bot?
20:34:13.564Z @CHOCOLATEMAN: you stole it home skillet
20:34:20.787Z @CHOCOLATEMAN: you didnt write a single line of that program lol
20:34:23.946Z @DFU RAPE EDITION: prove it
20:34:36.304Z @NAEM: choco
20:34:37.475Z @aaa: wow! "DFU RAPE EDITION" (user) is so utterly retarded! can you believe it?
20:34:38.860Z @NAEM: vs andrj
20:34:50.681Z @CHOCOLATEMAN: how about you prove you wrote it right now lol
20:34:53.737Z @CHOCOLATEMAN: i dare you to prove it
20:34:55.317Z @Blockhead: the only good types of bots are the ones who dont spam votes and instead act like general darian
20:34:58.549Z @DFU RAPE EDITION: how to prove?
20:35:05.154Z @CHOCOLATEMAN: figure it out <friend>
20:35:09.241Z @CHOCOLATEMAN: you made it didn't you
20:35:12.022Z @CHOCOLATEMAN: you should be able to prove it
20:35:12.175Z @DFU RAPE EDITION: you are <friend>
20:35:16.899Z @DFU RAPE EDITION: i made u too
20:35:21.616Z @CHOCOLATEMAN: so you made a <friend>
20:35:23.533Z @NAEM: im need emojis on collabvm
20:35:24.045Z @CHOCOLATEMAN: ?
20:35:28.429Z @aaa: thing im doing is trying to get this memz<friend> off the vm
20:35:28.744Z @DFU RAPE EDITION: yes
20:35:30.918Z @NonSense: yea
20:35:35.455Z @CHOCOLATEMAN: why are you making <friend>s gaylord
20:35:35.906Z @CHOCOLATEMAN: lmao
20:35:37.951Z @jjjjbot_2085359043: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:38.178Z @jjjjbot_2005257155: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:38.274Z @jjjjbot_1248619435: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:38.965Z @jjjjbot_224355879: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:40.086Z @jjjjbot_348708989: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:41.058Z @jjjjbot_1471929080: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:42.572Z @jjjjbot_2026035399: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:42.725Z @jjjjbot_66075700: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:43.819Z @jjjjbot_1874297148: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:44.033Z @jjjjbot_2070286621: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:44.118Z @jjjjbot_662509644: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:45.600Z @jjjjbot_1153445125: CIRNO SUCKS! AND I MADE CHOCOLATEMAN!
20:35:48.602Z @NonSense: *angry emoji*
20:35:52.910Z @CHOCOLATEMAN: you hate cirno because you hate women lol
20:35:55.426Z @CHOCOLATEMAN: not surprised
20:36:01.512Z @CHOCOLATEMAN: you aint into em
20:36:02.602Z @CHOCOLATEMAN: that's fine
20:36:23.395Z @NAEM: i think he left
20:36:25.355Z @NAEM: is he gone?
20:37:04.020Z @DFU RAPE EDITION: CHOCOLATEMAN
20:37:07.515Z @DFU RAPE EDITION: CIRNO IS GAY
20:37:10.631Z @NonSense: *ok emoji*
20:37:14.491Z @CHOCOLATEMAN: yeah all touhous are gay
20:37:16.038Z @CHOCOLATEMAN: whats your point lol
20:37:18.355Z @aaa: https://computernewb.com/w/index.php?title=Janusbot&action=edit
20:37:27.569Z @CHOCOLATEMAN: you should be into gay girls <friend>
20:37:32.195Z @CHOCOLATEMAN: that's the straightest thing ever
20:37:50.136Z @aaa: Dang!
20:37:52.648Z @NAEM: yea
20:37:54.942Z @NAEM: he kinda left
20:37:56.172Z @NAEM: :trl:
20:38:14.334Z @jjjj: choc i made u
20:38:17.069Z @CHOCOLATEMAN: he couldn't handle the truth
20:38:26.900Z @IDIOT: U ARE MISTAKE
20:38:28.683Z @aaa: the main vms are the only safe places now
20:38:29.428Z @CHOCOLATEMAN: i made DN
20:38:48.564Z @CHOCOLATEMAN: can you make DN, jjjj
20:38:53.660Z @NAEM: omg
20:38:56.078Z @NAEM: jjjj is
20:39:19.248Z @aaa: i made print("HELLOWORLD") in lua, can you do it?
20:39:25.670Z @NAEM: jjjj died
20:39:27.626Z @IM GAY: HOW I WOULD MAKE A DN ABOUT A BOT?
20:39:32.927Z @NAEM: yes
20:39:36.358Z @NAEM: your surely gay
20:39:37.331Z @CHOCOLATEMAN: you suck
20:39:44.747Z @NAEM: get out
20:39:45.849Z @NAEM: jjjj
20:40:32.767Z @CHOCOLATEMAN: your skidded  stolen bot plays kazoo with my asshole
20:40:49.238Z @IM GAY: CHOCOLATEMAN
20:40:56.927Z @jjjj: I MADE U
20:40:58.968Z @CHOCOLATEMAN: what's up
20:41:14.303Z @CHOCOLATEMAN: if i'm gay i guess the genes  passed on then
20:41:14.875Z @CHOCOLATEMAN: huh
20:41:18.279Z @jjjj: I have janus botnet about 20000000000000000000000 ZETABYTES
20:41:26.025Z @CHOCOLATEMAN: so does my dick
20:41:34.036Z @jjjj: you don't have dick idiot
20:41:40.464Z @Blockhead: what happened to chocolateman's software? (aka chocovirus)
20:41:41.009Z @CHOCOLATEMAN: so i'm a girl?
20:41:44.307Z @jjjj: no
20:41:46.138Z @jjjj: u are bot
20:41:52.674Z @CHOCOLATEMAN: how can a bot have a sexuality lol
20:42:03.537Z @CHOCOLATEMAN: and you keep saying, "WELL I HAVE JANUS BOTNET!"
20:42:04.481Z @jjjj: u are chocolateman
20:42:07.161Z @jjjj: a bot
20:42:08.068Z @CHOCOLATEMAN: well dude, everybody has an anus
20:42:08.583Z @Blockhead: jjjj your mom looks like
20:42:10.568Z @CHOCOLATEMAN: you're not special
20:42:13.360Z @Blockhead: brian peppers
20:42:20.479Z @jjjj: choc
20:42:26.774Z @jjjj: u know how i connect 100 bots?
20:42:38.250Z @CHOCOLATEMAN: yeah lol i literally fixed it
20:42:46.396Z @jjjj: how?
20:42:47.430Z @CHOCOLATEMAN: thats why you do it on uservm
20:42:48.009Z @aaa: previously, Janus botnet takes down Google with 2.5 TBPS DDOS!
20:42:51.153Z @guest26886: can someone make their own hex editor
20:42:51.932Z @CHOCOLATEMAN: lol
20:43:00.935Z @CHOCOLATEMAN: and why the hell would i say
20:43:03.963Z @jjjj: choc how u fixed it?
20:43:07.305Z @jjjj: u didn't
20:43:23.524Z @jjjj: is about user agent?
20:43:49.256Z @jjjj: chocolate<friend>
20:44:09.889Z @CHOCOLATEMAN: and you keep going
20:44:11.835Z @CHOCOLATEMAN: "I HAVE JANUS!"
20:44:15.517Z @CHOCOLATEMAN: well you know what dude
20:44:17.955Z @CHOCOLATEMAN: EVERYBODY's got an anus
20:44:23.428Z @CHOCOLATEMAN: why do you think you should be given an award
20:44:30.169Z @jjjj: Fool
20:44:33.077Z @Blockhead: janus?
20:44:37.064Z @jjjj: i talk about Janus cybercrime solutions
20:44:38.065Z @Blockhead: MORE LIKE ANUS
20:44:40.479Z @Blockhead: HAHAHAHAHAHAHAHA
20:44:48.163Z @jjjj: <nigerian>
20:44:51.286Z @CHOCOLATEMAN: why would you call your cybercrime solutions "anus"
20:44:54.616Z @CHOCOLATEMAN: that seems weird
20:44:59.117Z @CHOCOLATEMAN: weird ass name
20:45:32.733Z @jjjj: i said janus
20:45:43.631Z @Blockhead: without the j
20:45:49.670Z @Blockhead: AHHAHAAHAHAHAHAHAHAHAHAHAHCOUGH COUGH
20:45:54.238Z @CHOCOLATEMAN: yeah you said anus
20:45:56.766Z @CHOCOLATEMAN: i repeated it right back to you
20:45:59.541Z @jjjj: i said janus
20:46:03.758Z @CHOCOLATEMAN: yeah that's what i said
20:46:04.145Z @CHOCOLATEMAN: anus
20:46:09.638Z @jjjj: JANUS FOOL
20:46:15.442Z @CHOCOLATEMAN: THAT'S WHAT I SAID
20:46:15.867Z @CHOCOLATEMAN: ANUS
20:46:19.151Z @Blockhead: remove the j
20:46:19.521Z @jjjj: I MADE U AND I CAN DESTROY YOU
20:46:25.369Z @CHOCOLATEMAN: do it
20:46:31.113Z @Blockhead: jjjj you made nothing
20:46:36.618Z @jjjj: i made chocolateman
20:46:47.277Z @Blockhead: also i heard jjjj likes lemonparty
20:46:53.166Z @Russ: i cant get into any vms except this vm
20:46:59.959Z @Butthead: Uhh... heheheheh
20:47:02.116Z @Butthead: He said "Anus"
20:47:02.256Z @jjjj: hey chocolateman
20:47:03.927Z @Butthead: Uhuhuhuhuhuh
20:47:08.570Z @jjjj: u know DFU RAPE EDITION?
20:47:15.279Z @Blockhead: more like autism
20:47:17.438Z @Butthead: Uhhh...huhuhuhuhu
20:47:19.201Z @Butthead: He said "RAPE"
20:47:21.252Z @Butthead: Huhuhuhuhuhu
20:47:27.950Z @jjjj: fuck off
20:47:34.647Z @jjjj: @chocolateman u know dfu rape edition?
20:47:40.330Z @Butthead: Uhhh.... huhuhuhu
20:47:46.400Z @Butthead: Are you, like, coming onto me? Uhuhuhuh
20:47:46.891Z @jjjj: answer or gay
20:47:49.263Z @Blockhead: lets sing retard bus for jjjj!
20:47:56.973Z @Blockhead: retard bus, retard bus, retard bus!
20:47:57.208Z @aaa: Yooooo!
20:48:03.958Z @CHOCOLATEMAN: yeah sure
20:48:07.506Z @CHOCOLATEMAN: i know about it
20:48:09.906Z @jjjj: u know him?
20:48:13.427Z @jjjj: who is him?
20:48:17.070Z @aaa: let's sing: retard bus, retard bus, retard bus, retard bus! (for jjjj) (Unfunny)
20:48:45.570Z @Butthead: Uhhhh... like, jjjj, are you like,
20:48:48.458Z @Butthead: gay or something? Uhhuhuhuhhu
20:48:48.555Z @jjjj: @CHOCOLATEMAN
20:48:56.891Z @jjjj: tell me who is DFU RAPE EDITION
20:49:04.398Z @aaa: Ass
20:49:07.880Z @CHOCOLATEMAN: are you a pedo now lol
20:49:10.669Z @CHOCOLATEMAN: DFU is a minor
20:49:34.528Z @jjjj: fool
20:49:41.531Z @jjjj: someone called dfu rape edition
20:49:47.637Z @Blockhead: bob pony are you drunk
20:49:52.588Z @jjjjbot_393770458: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:53.205Z @jjjjbot_1793081910: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:53.299Z @jjjjbot_492726993: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:53.511Z @jjjjbot_697181991: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:55.013Z @jjjjbot_520047165: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:55.080Z @jjjjbot_1447277783: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:56.524Z @jjjjbot_271275976: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:56.807Z @jjjjbot_458799924: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:57.732Z @jjjjbot_2054100849: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:58.537Z @jjjjbot_958200930: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:49:59.094Z @jjjjbot_218494260: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:00.437Z @jjjjbot_334381845: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:00.562Z @jjjjbot_602007681: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:02.531Z @jjjjbot_924273861: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:06.335Z @jjjjbot_283523726: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:06.585Z @jjjjbot_114854425: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:07.530Z @jjjjbot_498367846: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:07.607Z @jjjjbot_1096725387: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:08.115Z @jjjjbot_1872217754: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:10.087Z @jjjjbot_946910733: CIRNO SUCKS! AND JANUS BOTNET TAKES DOWN GOOGLE WITH 2.5 TBPS DDOS!
20:50:28.334Z @CHOCOLATEMAN: whats the ANUS BOTNET
20:50:31.374Z @CHOCOLATEMAN: and why does cirno suck
20:50:42.004Z @jjjj: CIRNO IS <nigerian>
20:50:48.228Z @CHOCOLATEMAN: she looks white to me lol
20:50:51.515Z @CHOCOLATEMAN: or asian or whatever
20:51:05.070Z @jjjj: prove it
20:51:19.101Z @CHOCOLATEMAN: do you see that chick on the desktop
20:51:20.723Z @CHOCOLATEMAN: right now
20:51:29.043Z @jjjj: that's darkok's face
20:51:34.745Z @CHOCOLATEMAN: that's darkok's face?
20:51:39.654Z @jjjj: yes
20:51:42.825Z @CHOCOLATEMAN: where do you GET this shit
20:51:43.260Z @CHOCOLATEMAN: lol
</pre>


=== Admins chatting ft. random guests and other users (November 2021) ===
With this command, you can SSH forward and VNC to port 5910. When installing Debian, you can accept defaults, although I recommend not using a desktop environment on your router.
<pre>
mv_▸you know it is quite ironic how his name is sorry yet doesn't even aplogize shit
yellows111▸i think thats why he renamed it to wanderer
gogo▸his username is the opposite
gogo▸yeah
yellows111▸still uses his sorry name
yellows111▸in everything he makes
brandan▸wtf is truecatalyst for one thing
yellows111▸because hes self centered
yellows111▸thats his brand
yellows111▸right so uhh
Welcome to the official CollabVM VMs!
Please make sure to follow our rules at all times. This VM is monitored 24/7.
If the VM is broken, start a Vote Reset.
The account does not have a password, even though Windows claims it does. Just leave the password blank to login.
Join our Discord if you have any questions.
Sponsored by DataWagon.com · DDoS protected servers
yellows111▸while fucking around on RDPs
gogo▸oh yeah
gogo▸this is what happened
yellows111▸we found out there is a NASTY bitch of an executable
yellows111▸that launches a nuclear fuckfest
yellows111▸against the machine that its ran on
brandan▸electron? :troll:
gogo▸nope
yellows111▸worse
gogo▸it's the thing running on the vm(?)
yellows111▸imagine running one executable
mv_▸well i found it first
Frisk▸bitcoin miner or some shit???
yellows111▸then randomly having 80 of them run
Calub_Gex_Embracer▸mv are you sure
gogo▸nope it's a trojan downloader
modeco80▸its a crackhead explosion
Calub_Gex_Embracer▸patryk showed it off
CHOCOLATEMAN▸Time to deliver a pizzaball!!
mv_▸yes
gogo▸also uhh
brandan▸is it good if i like ask for a build of this shit or no lmao
modeco80▸anyways uh
mv_▸there is multiple
gogo▸who wants to hear a story from like uhh
mv_▸just search
yellows111▸oh you see that slowdown?
gogo▸when i was away from here
guest25540▸uhhh
yellows111▸you see how the vm is speed now
guest25540▸think it just hung
modeco80▸i guess someone linked the wiki article revision where someone did the funny transphobia
mv_▸[REDACTED, ASK IN DMS]
modeco80▸and that cause the autism
gogo▸what kind of retarded shit i was given to work with
yellows111▸oh i saw a glimpse
yellows111▸of a bluescreen
yellows111▸what uhh
modeco80▸oh it's over isnt it
yellows111▸happened there
modeco80▸it's over
</pre>


== 2022 ==
== Initial configuration ==


=== Based Hildaboo ranting about low effort graphical malware and overrated lackluster Viewer-Made Malware (December 2022) ===
Once you boot to a command line, the first thing we'll do is remove the builtin ifupdown network daemon and use systemd-networkd, as it's much easier to manage.
<pre>
CRYAKL▸ can someone like make a di rapist that doesnt destroy the machine with a shitty mbr
Emperor Palpatine▸ I am the senate
retard▸ i like holzer than memz
CRYAKL▸ like theres multiple ways to do that
CRYAKL▸ holzer is shit
retard▸ clutt?
CRYAKL▸ thats even worse
retard▸ oh my god
CRYAKL▸ all gdi shit is the same trash
CRYAKL▸ they are all written by 10 year olds who spam math expressions
CRYAKL▸ like y ou morons cant even see rand
retard▸ even spongebobfuck is crappy
CRYAKL▸ cant even read msdn docs to use findfirstfile right
CRYAKL▸ hardcode paths
guest1847▸ i guess not since they're young and not skilled programmers
CRYAKL▸ spam gdi
CRYAKL▸ dont know how to do a multithreaded payload system
CRYAKL▸ so I just see CreateThread spammed over and over and over
CRYAKL▸ Sleep(0xFFFFFFFF);
retard▸ ima do holzer vs idk your virus?
CRYAKL▸ thats cool
sus32▸ malware isn't supposed to be good but make it atleast nice
CRYAKL▸ at least make it different
CRYAKL▸ lol
CRYAKL▸ its all gdi spam
guest1847▸ imagine needing more than 1 thread to make something that spams colors
retard▸ holzer vs viruses is funny?
CRYAKL▸ hmm yes PhysicalDrive0
CRYAKL▸ like come on man
sus32▸ gdi viruses aren't funny anymore
CRYAKL▸ they werent funny after dans forum died
CRYAKL▸ its like memz remixed every single time
sus32▸ they want to be like memz because it's the most successful and popular virus
sus32▸ everybody makes content on it
CRYAKL▸ theres way better danooct1 vmm
CRYAKL▸ lol
CRYAKL▸ memz is arguably the worst of his series
CRYAKL▸ it only got popular because of vinesauce
CRYAKL▸ theres even ones
CRYAKL▸ dan never made a video on
CRYAKL▸ that are better
CRYAKL▸ lol
CRYAKL▸ theres a whole ass rootkit
guest52802▸ who was the first memz reviewer
CRYAKL▸ dan never made a video on that kicks memz ass
guest52802▸ probarly dancoot
CRYAKL▸ kernel mode driver
CRYAKL▸ Kaane
sus32▸ "xp horror edition"
retard▸ windows xp horror trash
guest52802▸ forkie
CRYAKL▸ le scary delphi form
sus32▸ this shit looks like it came straight from itch.io
CRYAKL▸ creepypasta shit makes me want to kill myself
</pre>


[[Category:Stories]]
{{code|
sudo apt-get purge -y ifupdown
sudo ip addr flush
sudo systemctl enable --now systemd-networkd
}}
 
We'll then disable systemd-resolved and set up a static DNS config
 
{{code|
sudo systemctl disable --now systemd-resolved
sudo systemctl mask systemd-resolved
sudo rm /etc/resolv.conf # remove the symlink
sudo tee /etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 1.0.0.1
EOF
}}
 
Note that the internet will die on the router. This is because systemd-networkd is not configured by default. First, let's figure out our interface names using the command <code>ip a</code>. For me, the WAN interface was <code>ens3</code> and the LAN was <code>ens4</code>. This may vary however if you're using the QEMU command above the WAN interface will appear first in the list. For the rest of the guide I will be assuming the above interface names. Make sure to change them if yours are different.
 
Let's first configure the WAN interface to use DHCP.
 
'''/etc/systemd/network/wan.network'''
{{code|<nowiki>
[Match]
Name=ens3
 
[Network]
DHCP=ipv4
</nowiki>}}
 
Then, we'll assign the LAN interface the static ip of <code>192.168.1.1</code>
 
'''/etc/systemd/network/lan.network'''
{{code|<nowiki>
[Match]
Name=ens4
 
[Network]
Address=192.168.1.1/24
</nowiki>}}
 
You can then reload the network configuration:
 
{{code|
sudo systemctl restart systemd-networkd
}}
 
If all went well, you should be able to access the internet (test with <code>ping google.com</code>)
 
Lastly, set some sysctl values:
 
{{code|
<nowiki>sudo tee /etc/sysctl.d/router.conf </nowiki><<<nowiki>EOF
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
net.ipv4.ip_forward = 1
EOF</nowiki>
}}
 
== nftables ==
Now, we can set up basic routing. First, install some required packages
{{code|
sudo apt-get install -y nftables dnsmasq curl
}}
 
Now, download our nftables config template. This sets up a simple router. We'll expand on it later.
 
{{code|
sudo curl 'https://computernewb.com/~elijah/nftables.conf' -o /etc/nftables.conf
}}
 
If your WAN and LAN IPs differ from the examples above, edit nftables.conf and change them at the top.
 
== dnsmasq ==
Next, copy our DNSMASQ config. DNSMASQ is responsible for DHCP and DNS.
 
{{code|
sudo curl 'https://computernewb.com/~elijah/dnsmasq.conf' -o /etc/dnsmasq.conf
}}
 
There are a few instances of ens4 you'll need to change if that's not your WAN interface. You can also change the instance of <code>collabnet.local</code> if you want to use a different hostname.
 
There are also some examples of static leases. You can either use the MAC addresses provided in the examples on your VMs, or change them. You need to add a static lease to dnsmasq.conf for each VM you have or it won't be able to connect to the internet.
 
== Start it up ==
 
The following commands should get all the router components up and running
{{code|
sudo systemctl enable --now dnsmasq nftables
sudo nft -f /etc/nftables.conf
}}
 
== Testing it all out ==
 
If all went well, you should now have a basic working router. To test this, start up one of your VMs on its TAP. You can do this by removing any <code>-net</code>, <code>-netdev</code>, or <code>-netdev</code> arguments from the QEMU command, and adding the following:
 
{{code|<nowiki>
-netdev tap,id=lan,ifname=ktvm1,script=no,downscript=no -device virtio-net,netdev=lan,mac=c0:11:ab:69:42:01
</nowiki>}}
 
Note that the ifname should correspond to the TAPs added earlier and should be unique per VM. The MAC address should be unique to each VM and MUST be given a static lease in dnsmasq.conf.
 
If everything went well, the VM should obtain an IP on boot and be able to access the internet. If not, you can try to troubleshoot or join our discord and create a post in #support, and we can try to help.
 
= Optional router configuration =
 
The following is not strictly required, however is recommended.
 
== VPN ==
If you don't want users to be able to make traffic from your IP address (you almost definitely do not), you should set up a VPN, for all your users' traffic to be run through. You'll need a VPN that supports wireguard (and additionally you'll want to make sure that this usecase is allowed by their Terms of Service). Here are a few:
 
* [https://mullvad.net/en Mullvad] ($5 a month)
* [https://protonvpn.com/ ProtonVPN] (Premium plan is $10 a month, however their free plan allows WireGuard making this one preferable if you don't want to spend money)
 
Once you have your VPN picked out, register an account and generate a WireGuard profile. This varies by VPN but its usually in the Downloads section or its own category. It should give you a wireguard configuration either as a downloadable file or to copy and paste.
 
Next, install wireguard into your router:
{{code|
sudo apt-get install wireguard-tools
}}
 
Once this is installed, paste the contents of your WireGuard configuration into <code>/etc/wireguard/wg.conf</code>. An example file looks like this:
{{code|<nowiki>
[Interface]
PrivateKey = ThisIsAnExampleDontActuallyUseThis=
Address = 10.65.2.87/32,fc00:bbbb:bbbb:bb01::2:256/128
DNS = 10.64.0.1
[Peer]
PublicKey = gH/ThisIsAnExampleDontActuallyUseThis=
Endpoint = 1.1.1.1:51820
AllowedIPs = 0.0.0.0/0, ::0/0
</nowiki>}}
 
With that all set, you can now enable the VPN with the following command:
{{code|
sudo systemctl enable --now wg-quick@wg
}}
If all went well, you should now be connected to the VPN:
{{code|<nowiki>
$ curl ipinfo.io/what-is-my-ip
{
  "ip": "143.244.47.86",
  "hostname": "unn-143-244-47-86.datapacket.com",
  "city": "Weehawken",
  "region": "New Jersey",
  "country": "US",
  "loc": "40.7696,-74.0204",
  "org": "AS212238 Datacamp Limited",
  "postal": "07086",
  "timezone": "America/New_York",
  "readme": "https://ipinfo.io/missingauth"
}
</nowiki>}}
The last step is to connect the VMs to the VPN. First, get your private IP on the vpn network:
{{code|<nowiki>
$ ip a
(...)
7: wg: </nowiki><<nowiki>POINTOPOINT,NOARP,UP,LOWER_UP</nowiki>><nowiki> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.65.2.87/32 </nowiki><<nowiki>---- THIS RIGHT HERE scope global wg
</nowiki>}}
As we can see, our private IP in this example is <code>10.65.2.87</code>. All we have to do is open nftables.conf and set <code>WAN</code> to <code>wg</code>, and <code>SNAT</code> to this private IP:
{{code|<nowiki>
/etc/nftables.conf
(...)
define SNAT = 10.65.2.87
(...)
define WAN = wg
</nowiki>}}
Reload your nftables configuration:
{{code|
sudo nft -f /etc/nftables.conf
}}
If all went well, your VMs should now be connected to the VPN
== E2Guardian ==
E2Guardian can be used to implement network filtering on your VM. It supports transparent HTTP and HTTPS filtering making it ideal for a setup like CollabVM where the client can't be trusted to always use a proxy or DNS server. Here's how to set it up.
=== Installation ===
First is to install e2guardian. A small issue is that the e2guardian packages have not been updated for Debian 12 and still use OpenSSL 1.1, which was removed in Debian 12. As a workaround we can install the libssl1.1 version from Debian 11. Note that usually installing packages from another Debian version is [https://wiki.debian.org/DontBreakDebian#Don.27t_make_a_FrankenDebian a bad idea], but in this case its fine since the package has no outside dependencies.
{{code|
wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb
sudo apt-get install ./libssl1.1_1.1.1w-0+deb11u1_amd64.deb
}}
You can then install e2guardian:
{{code|
wget https://e2guardian.numsys.eu/v5.5/e2debian_bullseye_V5.5.4r_20231113.deb # IF THERE'S A NEWER VERSION AVAILABLE AT https://e2guardian.numsys.eu/, USE THAT INSTEAD
sudo apt-get install ./e2debian_bullseye_V5.5.4r_20231113.deb
}}
Install some other dependencies:
{{code|
sudo apt-get install git curl tar ftp
}}
=== Configuration ===
Now we need to do some configuration. The e2guardian config directory is not readable by a normal user, so shell in as root.
{{code|
$ sudo -i
# cd /etc/e2guardian
}}
Create a directory for generated certificates, and give e2guardian permissions:
{{code|
mkdir -p private/generatedcerts
chown e2guardian:e2guardian private/generatedcerts
}}
Generate the required keys and CA certificate for SSL MITM:
{{code|
openssl genrsa 4096 > private/ca.key
openssl genrsa 4096 > private/cert.key
openssl req -new -x509 -days 3650 -sha256 -key private/ca.key -out private/ca.pem
}}
The last command will ask for some information, you can leave most of it blank and fill what you want.
 
Next, some configuration. Open e2guardian.conf in an editor, then find and set the following values:
{{code|<nowiki>
transparenthttpsport = 8443
enablessl = on
sslcertificatepath = '/etc/ssl/certs'
useoriginalip = on
</nowiki>}}
Now open e2guardianf1.conf in an editor, then find and set the following values:
{{code|<nowiki>
## COMMENT OUT THESE LINES:
# storyboard = '/etc/e2guardian/examplef1.story'  # comment out for production
# .Define LISTDIR <nowiki><</nowiki>/etc/e2guardian/lists/example.group<nowiki>></nowiki>  # comment out for production
 
sslmitm = on
</nowiki>}}
Copy <code>examplef1.story</code> to <code>group1.story</code>:
{{code|
cp examplef1.story group1.story
}}
=== Filter lists ===
Now you can download the collabnet filter lists:
{{code|
cd lists
git clone --depth 1 https://git.computernewb.com/collabvm/e2guardian.git group1
}}
Download the ut1 and oisd filter lists:
{{code|
cd group1
./getall.sh
}}
==== Updating the filter lists ====
Every once in a while, you'll want to update the filter lists with this command:
{{code|
$ sudo -i
# cd /etc/e2guardian/lists/group1
# git pull
# ./getall.sh
}}
=== Start it up ===
You should now be able to start e2guardian without error using the following command:
{{code|
sudo systemctl enable --now e2guardian
}}
You can confirm that it's working by seeing if it's listening on ports 8080 and 8443:
{{code|<nowiki>
$ sudo ss -tulnp
(...)
tcp  LISTEN 0      256                                  0.0.0.0:8080      0.0.0.0:*    users:(("e2guardian",pid=168580,fd=5))
tcp  LISTEN 0      256                                  0.0.0.0:8443      0.0.0.0:*    users:(("e2guardian",pid=168580,fd=7))
(...)
</nowiki>}}
=== Routing the VM traffic ===
We can now set a firewall rule to redirect all VM traffic through e2guardian. Open /etc/nftables.conf and uncomment the following lines near the end:
{{code|<nowiki>
iifname $LAN ip daddr != 192.168.1.0/24 tcp dport 80 redirect to :8080
iifname $LAN ip daddr != 192.168.1.0/24 tcp dport 443 redirect to :8443
</nowiki>}}
Reload nftables:
{{code|
sudo nft -f /etc/nftables.conf
}}
=== Test it out ===
First, put /etc/e2guardian/private/ca.pem onto one of your VMs. This is usually done through installing nginx onto the router and copying ca.pem into the webroot. Next, install ca.pem as a Trusted Root Certification Authority (on Windows, you need to change the file extension to .crt for it to be recognized.)
 
If all went well, you should be able to browse to websites and see that the SSL certificate was signed by your generated CA. Additionally, sites blocked in the filter list should show a block page (try something like anydesk.com)
=== Change the block page ===
You can create a custom block page by editing /usr/share/e2guardian/languages/ukenglish/template.html. For assets like images you'll need to install a webserver (usually nginx) on the router and host them that way.

Revision as of 20:53, 17 December 2023

This guide will walk you through setting up a Virtual Network for your VMs. This will allow you to route your VM traffic behind a VM (strongly recommended for several reasons), filter web traffic, and prevent access to your local network from the VMs.

Prerequisites

  • An hour or two of your time
  • A host running a Linux distribution
  • Basic computer and command line literacy. Nobody is going to hold your hand

Host Preparation

IP Forwarding

First, we're going to enable IP forwarding on your host. This will allow traffic from the VMs to be routed to and from the router. The following command will write this to the sysctl configuration.

echo 'net.ipv4.ip_forward = 1' | sudo tee /etc/sysctl.d/router.conf

To apply, either reboot or run the following:

sudo sysctl --system

Bridge configuration

Next, we'll set up a network bridge with multiple TAP interfaces. You can think of a TAP interface as a virtual Ethernet port connected to your VM, and the network bridge as a virtual Ethernet switch connecting them all together. The instructions to do this vary based on your network daemon. For this guide we'll assume (and recommend) you're using systemd-networkd, or netifrc on OpenRC.

We'll also be giving the collabvm group access to the TAPs. If you have yet to create a user for CollabVM, do so now.

Systemd

All network configuration is done in the /etc/systemd/network directory. We'll start by creating the bridge itself. The following simply creates a network bridge named collabnet

/etc/systemd/network/collabnet.netdev

[NetDev]
Name=collabnet
Kind=bridge

Next, we'll create a TAP for our router VM. The following creates a new TAP named ktrouter

/etc/systemd/network/ktrouter.netdev

[NetDev]
Name=ktrouter
Kind=tap

[Tap]
Group=collabvm

Now, you can create a TAP for each VM. The following adds a TAP named ktvm1. To add more, repeat the following, creating files named ktvm2, ktvm3, and so on. Make sure to also change the TAP name inside the file to match this.

/etc/systemd/network/ktvm1.netdev

[NetDev]
Name=ktvm1
Kind=tap

[Tap]
Group=collabvm

Finally, we connect all of our TAPs to the collabnet bridge.

/etc/systemd/network/collabnet.network

[Match]
Name=kt*

[Network]
Bridge=collabnet

Finally, you can either reboot or run the following to reload the network configuration

sudo systemctl restart systemd-networkd

OpenRC

TODO

Setting up the router

Now for the """fun""" part. We're going to set up a router VM, responsible for routing all traffic from the VMs. You'll want to give it two network adapters, one for the WAN (the internet) and another LAN (your VMs, the collabnet bridge).

The router will be running Debian. You can either netboot it from within QEMU (Press Ctrl+B when prompted on boot, enter dhcp && boot http://boot.netboot.xyz) or download an ISO and mount it. Your choice.

Here is an example QEMU start command for the router VM. You'll need to create the disk image and adjust paths.

sudo -u collabvm qemu-system-x86_64 \
-accel kvm \
-cpu host \
-m 2G \
-hda /srv/collabvm/router/router.qcow2 \
-netdev user,id=wan -device virtio-net,netdev=wan \
-netdev tap,id=lan,ifname=ktrouter,script=no,downscript=no -device virtio-net,netdev=lan \
-vnc 127.0.0.1:10

With this command, you can SSH forward and VNC to port 5910. When installing Debian, you can accept defaults, although I recommend not using a desktop environment on your router.

Initial configuration

Once you boot to a command line, the first thing we'll do is remove the builtin ifupdown network daemon and use systemd-networkd, as it's much easier to manage.

sudo apt-get purge -y ifupdown
sudo ip addr flush
sudo systemctl enable --now systemd-networkd

We'll then disable systemd-resolved and set up a static DNS config

sudo systemctl disable --now systemd-resolved
sudo systemctl mask systemd-resolved
sudo rm /etc/resolv.conf # remove the symlink
sudo tee /etc/resolv.conf <<EOF
nameserver 1.1.1.1
nameserver 1.0.0.1
EOF

Note that the internet will die on the router. This is because systemd-networkd is not configured by default. First, let's figure out our interface names using the command ip a. For me, the WAN interface was ens3 and the LAN was ens4. This may vary however if you're using the QEMU command above the WAN interface will appear first in the list. For the rest of the guide I will be assuming the above interface names. Make sure to change them if yours are different.

Let's first configure the WAN interface to use DHCP.

/etc/systemd/network/wan.network

[Match]
Name=ens3

[Network]
DHCP=ipv4

Then, we'll assign the LAN interface the static ip of 192.168.1.1

/etc/systemd/network/lan.network

[Match]
Name=ens4

[Network]
Address=192.168.1.1/24

You can then reload the network configuration:

sudo systemctl restart systemd-networkd

If all went well, you should be able to access the internet (test with ping google.com)

Lastly, set some sysctl values:

sudo tee /etc/sysctl.d/router.conf <<EOF
net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
net.ipv4.ip_forward = 1
EOF

nftables

Now, we can set up basic routing. First, install some required packages

sudo apt-get install -y nftables dnsmasq curl

Now, download our nftables config template. This sets up a simple router. We'll expand on it later.

sudo curl 'https://computernewb.com/~elijah/nftables.conf' -o /etc/nftables.conf

If your WAN and LAN IPs differ from the examples above, edit nftables.conf and change them at the top.

dnsmasq

Next, copy our DNSMASQ config. DNSMASQ is responsible for DHCP and DNS.

sudo curl 'https://computernewb.com/~elijah/dnsmasq.conf' -o /etc/dnsmasq.conf

There are a few instances of ens4 you'll need to change if that's not your WAN interface. You can also change the instance of collabnet.local if you want to use a different hostname.

There are also some examples of static leases. You can either use the MAC addresses provided in the examples on your VMs, or change them. You need to add a static lease to dnsmasq.conf for each VM you have or it won't be able to connect to the internet.

Start it up

The following commands should get all the router components up and running

sudo systemctl enable --now dnsmasq nftables
sudo nft -f /etc/nftables.conf

Testing it all out

If all went well, you should now have a basic working router. To test this, start up one of your VMs on its TAP. You can do this by removing any -net, -netdev, or -netdev arguments from the QEMU command, and adding the following:

-netdev tap,id=lan,ifname=ktvm1,script=no,downscript=no -device virtio-net,netdev=lan,mac=c0:11:ab:69:42:01

Note that the ifname should correspond to the TAPs added earlier and should be unique per VM. The MAC address should be unique to each VM and MUST be given a static lease in dnsmasq.conf.

If everything went well, the VM should obtain an IP on boot and be able to access the internet. If not, you can try to troubleshoot or join our discord and create a post in #support, and we can try to help.

Optional router configuration

The following is not strictly required, however is recommended.

VPN

If you don't want users to be able to make traffic from your IP address (you almost definitely do not), you should set up a VPN, for all your users' traffic to be run through. You'll need a VPN that supports wireguard (and additionally you'll want to make sure that this usecase is allowed by their Terms of Service). Here are a few:

  • Mullvad ($5 a month)
  • ProtonVPN (Premium plan is $10 a month, however their free plan allows WireGuard making this one preferable if you don't want to spend money)

Once you have your VPN picked out, register an account and generate a WireGuard profile. This varies by VPN but its usually in the Downloads section or its own category. It should give you a wireguard configuration either as a downloadable file or to copy and paste.

Next, install wireguard into your router:

sudo apt-get install wireguard-tools

Once this is installed, paste the contents of your WireGuard configuration into /etc/wireguard/wg.conf. An example file looks like this:

[Interface]
PrivateKey = ThisIsAnExampleDontActuallyUseThis=
Address = 10.65.2.87/32,fc00:bbbb:bbbb:bb01::2:256/128
DNS = 10.64.0.1
[Peer]
PublicKey = gH/ThisIsAnExampleDontActuallyUseThis=
Endpoint = 1.1.1.1:51820
AllowedIPs = 0.0.0.0/0, ::0/0

With that all set, you can now enable the VPN with the following command:

sudo systemctl enable --now wg-quick@wg

If all went well, you should now be connected to the VPN:

$ curl ipinfo.io/what-is-my-ip
{
  "ip": "143.244.47.86",
  "hostname": "unn-143-244-47-86.datapacket.com",
  "city": "Weehawken",
  "region": "New Jersey",
  "country": "US",
  "loc": "40.7696,-74.0204",
  "org": "AS212238 Datacamp Limited",
  "postal": "07086",
  "timezone": "America/New_York",
  "readme": "https://ipinfo.io/missingauth"
}

The last step is to connect the VMs to the VPN. First, get your private IP on the vpn network:

$ ip a
(...)
7: wg: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.65.2.87/32 <---- THIS RIGHT HERE scope global wg

As we can see, our private IP in this example is 10.65.2.87. All we have to do is open nftables.conf and set WAN to wg, and SNAT to this private IP:

/etc/nftables.conf
(...)
define SNAT = 10.65.2.87
(...)
define WAN = wg

Reload your nftables configuration:

sudo nft -f /etc/nftables.conf

If all went well, your VMs should now be connected to the VPN

E2Guardian

E2Guardian can be used to implement network filtering on your VM. It supports transparent HTTP and HTTPS filtering making it ideal for a setup like CollabVM where the client can't be trusted to always use a proxy or DNS server. Here's how to set it up.

Installation

First is to install e2guardian. A small issue is that the e2guardian packages have not been updated for Debian 12 and still use OpenSSL 1.1, which was removed in Debian 12. As a workaround we can install the libssl1.1 version from Debian 11. Note that usually installing packages from another Debian version is a bad idea, but in this case its fine since the package has no outside dependencies.

wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.1_1.1.1w-0+deb11u1_amd64.deb
sudo apt-get install ./libssl1.1_1.1.1w-0+deb11u1_amd64.deb

You can then install e2guardian:

wget https://e2guardian.numsys.eu/v5.5/e2debian_bullseye_V5.5.4r_20231113.deb # IF THERE'S A NEWER VERSION AVAILABLE AT https://e2guardian.numsys.eu/, USE THAT INSTEAD
sudo apt-get install ./e2debian_bullseye_V5.5.4r_20231113.deb

Install some other dependencies:

sudo apt-get install git curl tar ftp

Configuration

Now we need to do some configuration. The e2guardian config directory is not readable by a normal user, so shell in as root.

$ sudo -i
# cd /etc/e2guardian

Create a directory for generated certificates, and give e2guardian permissions:

mkdir -p private/generatedcerts
chown e2guardian:e2guardian private/generatedcerts

Generate the required keys and CA certificate for SSL MITM:

openssl genrsa 4096 > private/ca.key
openssl genrsa 4096 > private/cert.key
openssl req -new -x509 -days 3650 -sha256 -key private/ca.key -out private/ca.pem

The last command will ask for some information, you can leave most of it blank and fill what you want.

Next, some configuration. Open e2guardian.conf in an editor, then find and set the following values:

transparenthttpsport = 8443
enablessl = on
sslcertificatepath = '/etc/ssl/certs'
useoriginalip = on

Now open e2guardianf1.conf in an editor, then find and set the following values:

{{{1}}}

Copy examplef1.story to group1.story:

cp examplef1.story group1.story

Filter lists

Now you can download the collabnet filter lists:

cd lists
git clone --depth 1 https://git.computernewb.com/collabvm/e2guardian.git group1

Download the ut1 and oisd filter lists:

cd group1
./getall.sh

Updating the filter lists

Every once in a while, you'll want to update the filter lists with this command:

$ sudo -i
# cd /etc/e2guardian/lists/group1
# git pull
# ./getall.sh

Start it up

You should now be able to start e2guardian without error using the following command:

sudo systemctl enable --now e2guardian

You can confirm that it's working by seeing if it's listening on ports 8080 and 8443:

$ sudo ss -tulnp
(...)
tcp   LISTEN 0      256                                  0.0.0.0:8080       0.0.0.0:*    users:(("e2guardian",pid=168580,fd=5))
tcp   LISTEN 0      256                                  0.0.0.0:8443       0.0.0.0:*    users:(("e2guardian",pid=168580,fd=7))
(...)

Routing the VM traffic

We can now set a firewall rule to redirect all VM traffic through e2guardian. Open /etc/nftables.conf and uncomment the following lines near the end:

iifname $LAN ip daddr != 192.168.1.0/24 tcp dport 80 redirect to :8080
iifname $LAN ip daddr != 192.168.1.0/24 tcp dport 443 redirect to :8443

Reload nftables:

sudo nft -f /etc/nftables.conf

Test it out

First, put /etc/e2guardian/private/ca.pem onto one of your VMs. This is usually done through installing nginx onto the router and copying ca.pem into the webroot. Next, install ca.pem as a Trusted Root Certification Authority (on Windows, you need to change the file extension to .crt for it to be recognized.)

If all went well, you should be able to browse to websites and see that the SSL certificate was signed by your generated CA. Additionally, sites blocked in the filter list should show a block page (try something like anydesk.com)

Change the block page

You can create a custom block page by editing /usr/share/e2guardian/languages/ukenglish/template.html. For assets like images you'll need to install a webserver (usually nginx) on the router and host them that way.