diff --git a/.img/1609264022.png b/.img/1609264022.png new file mode 100644 index 0000000..83871a6 Binary files /dev/null and b/.img/1609264022.png differ diff --git a/.img/1609264076.png b/.img/1609264076.png new file mode 100644 index 0000000..45018cc Binary files /dev/null and b/.img/1609264076.png differ diff --git a/.img/1609264080.png b/.img/1609264080.png new file mode 100644 index 0000000..c977663 Binary files /dev/null and b/.img/1609264080.png differ diff --git a/.img/1609264086.png b/.img/1609264086.png new file mode 100644 index 0000000..10cbed8 Binary files /dev/null and b/.img/1609264086.png differ diff --git a/.img/1609264118.png b/.img/1609264118.png new file mode 100644 index 0000000..53202bc Binary files /dev/null and b/.img/1609264118.png differ diff --git a/1610633628.png b/1610633628.png new file mode 100644 index 0000000..fbae616 Binary files /dev/null and b/1610633628.png differ diff --git a/1610908987.png b/1610908987.png new file mode 100644 index 0000000..64b790c Binary files /dev/null and b/1610908987.png differ diff --git a/cat-v.css b/cat-v.css new file mode 100644 index 0000000..e3261e9 --- /dev/null +++ b/cat-v.css @@ -0,0 +1,330 @@ +/* Default werc style */ + +body { + color: black; + background-color: white; + font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif; + font-size: 84%; /* Enables font size scaling in MSIE */ + margin: 0; + padding: 0; +} + + +/* # Header # */ +.superHeader { + color: white; + background-color: rgb(100,135,220); + height: 1.6em; +} + +.superHeader img { vertical-align: bottom; } + +.superHeader a { + color: white; + background-color: transparent; + font-size: 91%; + margin: 0; + padding: 0 0.5ex 0 0.25ex; +} + +a { text-decoration: none; } +a:hover { text-decoration: underline; } + +.superHeader div { + position: absolute; + top: 0.40ex; +} + +.superHeader .left { left: 0.4em; } +.superHeader .right { right: 0.4em; } + +.midHeader { + color: rgb(39,78,144); + background-color: rgb(140,170,230); + background-color: #ff6d06; + border: solid 0 black; + border-width: 2px 0; +} + +.headerTitle { + color: black; + font-size: 233%; + font-weight: normal; + margin: 0 0 0 4mm; + padding: 0.25ex 0; +} +#headerSubTitle { + font-size: 50%; + font-style: italic; + margin-left: 1em; +} + +.headerTitle a { color: black; } +.headerTitle a:hover { text-decoration: none; } + +.subHeader { + display: none; + color: white; + background-color: rgb(0,51,153); + margin: 0; + padding: 1ex 1ex 1ex 1.5mm; +} + +.subHeader a { + color: white; + background-color: transparent; + font-weight: bold; + margin: 0; + padding: 0 0.75ex 0 0.5ex; +} + +.superHeader .highlight, .subHeader .highlight { + color: rgb(253,160,91); + background-color: transparent; +} + + +/* # Side # */ +#side-bar { + width: 16em; + float: left; + clear: left; + border-right: 1px solid #ddd; +} + +#side-bar div { + border-bottom: 1px solid #ddd; +} + +.sideBarTitle { + font-weight: bold; + margin: 0 0 0.5em 2mm; + padding: 1em 0 0 0; +} + +#side-bar ul { + list-style-type: none; + list-style-position: outside; + margin: 0; + padding: 0 0 0.3em 0; +} + +li ul { + padding-left: 0.6em !important; +} + +#side-bar li { + margin: 0; + padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 XXX should move to iehacks.css, this causes an ugly gap */ +} + +#side-bar a { + color: rgb(0,102,204); + background-color: transparent; + margin: 0; + padding: 0.25em 1ex 0.25em 2mm; + display: block; + text-transform: capitalize; + font-weight: bold!important; + font-size: 102%; + border-left: white solid 0.2em; +} + +.thisPage, .thisPage a { + color: black!important; + background-color: white; + padding-left: 5mm; +} + +#side-bar a:hover { + color: white; + background-color: rgb(100,135,220); + border-left: black solid 0.2em; + text-decoration: none; +} + +.sideBarText { + line-height: 1.5em; + margin: 0 0 1em 0; + padding: 0 1.5ex 0 2.5mm; + display: block; +} + +#side-bar .sideBarText a { + margin: 0; + padding: 0; + display: inline; +} + +#side-bar .sideBarText a:hover { + color: rgb(0,102,204); + background-color: transparent; + text-decoration: none; +} + + +/* # Main Copy # */ +#main-copy { + max-width: 70em; + color: black; + background-color: transparent; + text-align: justify; + line-height: 1.5em; + margin: 0em 0 0 16em; + padding: 0.5mm 5mm 5mm 5mm; + border-left: 1px solid #ddd; +} + +#bodyText { + margin: 0 0 0 15.5em; + padding: 2mm 5mm 2mm 5mm; +} + +#main-copy p { + margin: 1em 1ex 1em 1ex !important; /* Need !important so troff-generated pages don't look totally squezed */ + padding: 0; +} + +#main-copy a { + color: rgb(0,102,204); + background-color: transparent; +} + +#main-copy a:hover { + color: rgb(100,135,220); +} + +#main-copy h1, #main-copy h2 { + color: rgb(0,102,204); + background-color: transparent; + font-size: 145.5%; + font-weight: bold; + margin: 2em 0 0 0; + padding: 0.5ex 0 0.5ex 0.6ex; + border-bottom: 2px solid rgb(0,102,204); +} + +#main-copy h2 { + font-size: 115.5%; + border-bottom: 1px solid rgb(0,102,204); +} + +#main-copy .topOfPage { + color: rgb(0,102,204); + background-color: transparent; + font-size: 91%; + font-weight: bold; + text-decoration: none; + margin: 3ex 1ex 0 0; + padding: 0; + float: right; +} + +dl { + margin: 1em 1ex 2em 1ex; + padding: 0; +} + +dt { + font-weight: bold; + margin: 0 0 0 0; + padding: 0; +} + +dd { + margin: 0 0 2em 2em; + padding: 0; +} + + +/* # Footer # */ +#footer { + color: white; + background-color: rgb(100,135,220); + padding: 1em; + clear: both; +} + +#footer .left { + text-align: left; + line-height: 1.55em; + float: left; + clear: left; +} + +#footer .right { + text-align: right; + line-height: 1.45em; +} + +#footer a { + color: white; + background-color: transparent; +} + + +/* GENERAL */ + +table { + border: solid 1px black; +} +th { + background-color: #abc; + border: solid 1px black; + text-align: center; +} +td { + background-color: #def; + border: solid 1px black; +} + +hr { + border-width: 0px 0px 0.1em 0px; + border-color: black; +} + +acronym, .titleTip { + border-bottom: 1px solid #ddd; + cursor: help; + margin: 0; + padding: 0 0 0.4px 0; +} + +pre { + margin-left: 2em; + font-size: 1.2em; +} + +blockquote { + border-left: 1px solid blue; + font-style: italic; +} + +.smallCaps { + font-size: 110%; + font-variant: small-caps; +} + +.doNotDisplay { display: none; } + + +.notify_errors, +.notify_notes, +.notify_success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; } + +.notify_errors { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; } +.notify_notes { background: #FFF6BF; color: #514721; border-color: #FFD324; } +.notify_success { background: #E6EFC2; color: #264409; border-color: #C6D880; } +.notify_errors a { color: #8a1f11; } +.notify_notes a { color: #514721; } +.notify_success a { color: #264409; } + + +/* # Page/Handler specific # */ +h1.dir-list-head, ul.dir-list { + text-transform: capitalize; + font-weight: bold; +} +ul.sitemap-list a { + text-transform: capitalize; +} diff --git a/darkgreen.css b/darkgreen.css new file mode 100644 index 0000000..d765bdf --- /dev/null +++ b/darkgreen.css @@ -0,0 +1,339 @@ +@namespace url(http://www.w3.org/1999/xhtml); + +@-moz-document domain("kill-9.xyz") { + /* Default werc style */ + + body { + color: white; + background-color: #1e1e1e; + font-family: Helvetica, Verdana, Arial, 'Liberation Sans', FreeSans, sans-serif; + font-size: 84%; /* Enables font size scaling in MSIE */ + margin: 0; + padding: 0; + } + + + /* # Header # */ + .superHeader { + color: white; + background-color: #333; + height: 1.6em; + } + + .superHeader img { vertical-align: bottom; } + + .superHeader a { + color: white; + background-color: transparent; + font-size: 91%; + margin: 0; + padding: 0 0.5ex 0 0.25ex; + } + + a { text-decoration: none; ;} + a:hover { text-decoration: underline; } + + .superHeader div { + position: absolute; + top: 0.40ex; + } + + .superHeader .left { left: 0.4em; } + .superHeader .right { right: 0.4em; } + + .midHeader { + color: rgb(39,78,144); + background-color: #333; + background-color: #333; + border: solid 0 black; + border-width: 2px 0; + } + + .headerTitle { + color: #32DD72; + font-size: 233%; + font-weight: normal; + margin: 0 0 0 4mm; + padding: 0.25ex 0; + } + #headerSubTitle { + font-size: 50%; + font-style: italic; + margin-left: 1em; + } + + .headerTitle a { color: #32DD72; } + .headerTitle a:hover { text-decoration: none; } + + .subHeader { + display: none; + color: white; + background-color: #333; + margin: 0; + padding: 1ex 1ex 1ex 1.5mm; + } + + .subHeader a { + color: white; + background-color: transparent; + font-weight: bold; + margin: 0; + padding: 0 0.75ex 0 0.5ex; + } + + .superHeader .highlight, .subHeader .highlight { + color: #333; + background-color: transparent; + } + + + /* # Side # */ + #side-bar { + width: 16em; + float: left; + clear: left; + border-right: 1px solid #ddd; + } + + #side-bar div { + border-bottom: 1px solid #ddd; + } + + .sideBarTitle { + font-weight: bold; + margin: 0 0 0.5em 2mm; + padding: 1em 0 0 0; + } + + #side-bar ul { + list-style-type: none; + list-style-position: outside; + margin: 0; + padding: 0 0 0.3em 0; + } + + li ul { + padding-left: 0.6em !important; + color: #ccc!important; + } + + #side-bar li { + margin: 0; + padding: 0.1ex 0; /* Circumvents a rendering bug (?) in MSIE 6.0 XXX should move to iehacks.css, this causes an ugly gap */ + } + + #side-bar a { + color: #ccc!important; + background-color: transparent; + margin: 0; + padding: 0.25em 1ex 0.25em 2mm; + display: block; + text-transform: capitalize; + font-weight: bold!important; + font-size: 102%; + border-left: white solid 0.2em; + } + + .thisPage, .thisPage a { + color: black!important; + background-color: white; + padding-left: 5mm; + } + + #side-bar a:hover { + color: white; + color: #ccc!important; + border-left: black solid 0.2em; + text-decoration: none; + } + + .sideBarText { + line-height: 1.5em; + margin: 0 0 1em 0; + padding: 0 1.5ex 0 2.5mm; + color: #ccc!important; + display: block; + } + + #side-bar .sideBarText a { + margin: 0; + padding: 0; + display: inline; + } + + #side-bar .sideBarText a:hover { + color: rgb(0,102,204); + background-color: transparent; + text-decoration: none; + } + + + /* # Main Copy # */ + #main-copy { + max-width: 70em; + color: #32DD72; + background-color: transparent; + text-align: justify; + line-height: 1.5em; + margin: 0em 0 0 16em; + padding: 0.5mm 5mm 5mm 5mm; + border-left: 1px solid #ddd; + } + + #bodyText { + margin: 0 0 0 15.5em; + padding: 2mm 5mm 2mm 5mm; + } + + #main-copy p { + margin: 1em 1ex 1em 1ex !important; /* Need !important so troff-generated pages don't look totally squezed */ + padding: 0; + } + p,pre,code {color:#999;} + #main-copy a { + color: #ccc!important; + background-color: transparent; + } + + #main-copy a:hover { + color: rgb(100,135,220); + } + + #main-copy h1, #main-copy h2 { + color: #32DD72 !important; + background-color: transparent; + font-size: 145.5%; + font-weight: bold; + margin: 2em 0 0 0; + padding: 0.5ex 0 0.5ex 0.6ex; + border-bottom: 2px solid rgb(0,102,204); + } + + #main-copy h2 { + font-size: 115.5%; + border-bottom: 1px solid rgb(0,102,204); + } + + #main-copy .topOfPage { + color: rgb(0,102,204); + background-color: transparent; + font-size: 91%; + font-weight: bold; + text-decoration: none; + margin: 3ex 1ex 0 0; + padding: 0; + float: right; + } + + dl { + margin: 1em 1ex 2em 1ex; + padding: 0; + } + + dt { + font-weight: bold; + margin: 0 0 0 0; + padding: 0; + } + + dd { + margin: 0 0 2em 2em; + padding: 0; + } + + + /* # Footer # */ + #footer { + color: white; + background-color: rgb(100,135,220); + padding: 1em; + clear: both; + } + + #footer .left { + text-align: left; + line-height: 1.55em; + float: left; + clear: left; + } + + #footer .right { + text-align: right; + line-height: 1.45em; + } + + #footer a { + color: white; + background-color: transparent; + } + + + /* GENERAL */ + + table { + border: solid 1px black; + } + th { + background-color: #abc; + border: solid 1px black; + text-align: center; + } + td { + background-color: #def; + border: solid 1px black; + } + + hr { + border-width: 0px 0px 0.1em 0px; + border-color: black; + } + + acronym, .titleTip { + border-bottom: 1px solid #ddd; + cursor: help; + margin: 0; + padding: 0 0 0.4px 0; + } + + pre { + margin-left: 2em; + font-size: 1.2em; + } + + blockquote { + border-left: 1px solid blue; + font-style: italic; + } + + .smallCaps { + font-size: 110%; + font-variant: small-caps; + } + + .doNotDisplay { display: none; } + + + .notify_errors, + .notify_notes, + .notify_success { padding: .8em; margin-bottom: 1em; border: 2px solid #ddd; } + + .notify_errors { background: #FBE3E4; color: #8a1f11; border-color: #FBC2C4; } + .notify_notes { background: #FFF6BF; color: #514721; border-color: #FFD324; } + .notify_success { background: #E6EFC2; color: #264409; border-color: #C6D880; } + .notify_errors a { color: #8a1f11; } + .notify_notes a { color: #514721; } + .notify_success a { color: #264409; } + + + /* # Page/Handler specific # */ + h1.dir-list-head, ul.dir-list { + text-transform: capitalize; + font-weight: bold; + } + ul.sitemap-list a { + text-transform: capitalize; + } + li, ul {color:#999!important + + } +} diff --git a/guides/xmpp_server.md b/guides/xmpp_server.md new file mode 100644 index 0000000..a3a4882 --- /dev/null +++ b/guides/xmpp_server.md @@ -0,0 +1,237 @@ +# How to setup a prosody server + +In this guide i'm going to show how to make a prosody (XMPP) +server, this guide will only cover the bare minimum (no extensions) ++ the http upload mod, so you can send files. + +# Requirements + +1. A domain (you can use something like or + if you don't have any. My domain in this thing + is flatline.fr.to. I got it in afraid.org +2. A server running a good operating system (Debian, FreeBSD...) I'm + using a FreeBSD machine in this guide. + +# Dependences + +1. prosody +2. nginx +3. something that enables the `mod_perl` in nginx, in FreeBSD, it is in + the `nginx-full` package, or you can choose to install it while + building nginx using the ports. In Debian you can install the + `libnginx-mod-http-perl` package +4. [Certificates](/harmful/software/CA), we are going to use certbot + here. + +# Installation + +In FreeBSD, you simply run `pkg install prosody prosody-modules nginx-full` or you can +choose to build it from ports. + +# Configuration + +Here is where the """hard part""" comes, in Debian and other good +operating systems, the configuration files are located in +`/etc/prosody`, in FreeBSD they're located at +`/usr/local/etc/prosody`. The main configuration file is +`prosody.cfg.lua` but you can add multiple configurations file in the +.conf.d folder. + +The configuration file has a lot of comments so use them as +guide. First of all is to add admins to the server: + +`admins = {wintermute@flatline.fr.to}` + +The next line is the modules_enabled, if you want to enable some +modules, add them here, some modules can be smacks, for example. but, +again, this guide only covers the minimum. + +Next thing you should check is the `allow_registration` parameter, +should be false unless you're going to make a public server. + +Next, you can configure prosody to use sql as user storage, but in +this case we are just going to do the internal thing. Make sure that +it is internal_hashed. + +Now, skip until the "VirtualHost" Here you will configure the XMPP +VirtualHost for the JID. + +Note that configuration bellow "VirtualHost" will only affect that +VirtualHost, until there's a next VirtualHost or "Component". Single +domain servers should have only one "VirtualHost" + +By default VirtualHost value is "localhost" change it to your domain: +`VirtualHost "flatline.to.fr"` + +Next, you have to add the ssl certificates to it. to use we are going +to generate them using `certbot` + +To generate the certificates, run `certbot certonly +--rsa-key-size=4096 -d your-domain`, if you have nginx running, stop +it, so you can use the temporary server option, which has never failed +me. Your certificate will be in +(usr/local)/etc/letsencrypt/youtdomain/fullchain.pem. + +prosody includes a command to import certbot certs so you don't have +to bother with permissions, to do this simply run prosodyctl --root +cert import /usr/local/etc/letsencrypt/live/ + +Now, you have to give prosody that certificate, you have to put it +twice for some reason, like this: + +~~~ + ssl = { + key = "certs/flatline.fr.to.key"; + certificate = "certs/flatline.fr.to.crt"; + } + VirtualHost "flatline.fr.to" + ssl = { + key = "certs/flatline.fr.to.key"; + certificate = "certs/flatline.fr.to.crt"; + } +~~~ + +now, run `prosodyctl check`, you should get an output like this + +~~~ + + +Checking config... +Done. + +Checking DNS for host flatline.fr.to... + Host flatline.fr.to does not seem to resolve to this server (IPv6) + +Checking certificates... +Checking certificate for flatline.fr.to + Certificate: /usr/local/etc/prosody/certs/flatline.fr.to.crt + +All checks passed, congratulations! +~~~ + +Which means everything is working! now you have to create an user to +test it, to do this, run something like this `prosodyctl adduser +wintermute@flatline.fr.to`, maybe you should create first the admin's +account. So I created the Wintermute account. + +It will ask for a password, so enter it. Now it's time to test it, you +can use any client. I recommend poezio/gajim/dino/profanity + +Before testing, you have to, obviously, start the server, in freebsd +you'd do something like `service prosody start`, probably the same in +Debian. + +If you can log in, probably everything works. + +# Uploading files + +Now you have the bare-bones XMPP server, but you probably want it to +upload files, you can use one of these: + +* `mod_http_upload` +* `mod_http_upload_external` + +We are going to use `mod_http_upload_external` because it's more +stable and have more benefits over the regular one. There are bunch of +implementations of `mod_http_upload_external` but we are going to use +the perl one because it's the one that worked for me. + +## Requirements + +* A subdomain (I created up.flatline.fr.to for this) +* nginx +* the perl mod + +## Installation + +You have to add this to the bottom of the prosody config file + +~~~ +Component "up.flatline.fr.to" "http_upload_external" +http_upload_external_base_url = "https://up.flatline.fr.to/" +http_upload_external_secret = "BURDOBORDO:DDDD:DDD:--" +~~~ + +Please note the "/" at the end of the URL + +Create a new site under sites-enabled in nginx configuration folder +with something like this. + +~~~ +server { + # Specify directives such as "listen", "server_name", and TLS-related + # settings for the "server" that handles the uploads. + server_name up.flatline.fr.to; + # Uploaded files will be stored below the "root" directory. To minimize + # disk I/O, make sure the specified path is on the same file system as + # the directory used by Nginx to store temporary files holding request + # bodies ("client_body_temp_path", often some directory below /var). + root /usr/local/var/www/upload; + + # Specify this "location" block (if you don't use "/", see below): + location / { + perl upload::handle; + } + + # Upload file size limit (default: 1m), also specified in your XMPP + # server's upload module configuration (see below): + client_max_body_size 100m; +} +~~~ + +now, in your nginx.conf add something like this in the http section + +~~~ +load_module modules/ngx_http_perl_module.so; +http { +perl_modules /usr/local/lib/perl; # Path to upload.pm. +perl_require upload.pm; +... +} +~~~ + +Run these commands + +~~~ +mkdir -p /usr/local/lib/perl +wget -O /usr/local/lib/perl/upload.pm https://git.io/fNZgL +~~~ + +Now you have to edit /usr/local/lib/perl/upload.pm to change the +password for the one you put in prosody configuration. + +`my $external_secret = 'BURDOBORDO:DDDD:DDD:--';` + +Make the directory for uploaded files `mkdir +/usr/local/var/www/upload` and use chown to give it ownership to nginx +user, in debian is www-data and in freebsd is www, but in others like +arch is nginx. + +## SSL for the upload site + +We used https:// in the prosody configuration, you can use http:// if +you want, but it's not recommended. We are going to simply use the +`--nginx` certbot flag for this. So you have to install the certbot +nginx plugin. Simply run `certbot --nginx --rsa-key-size=4096 -d +up.flatline.fr.to`. Process shold be automatic. + +Try uploading a file in dino, it shold work. + +The next step will be adding other modules to your XMPP server, such +as MUC or some others, these are very obvious to install. Only RTFM +:). If you are going to make it compatible with more extensions, +create a tester account (tester@flatline.fr.to) and add it to +. If you click on the squares of +why the thing isn't working, it will give you a guide of how to +install that. Most modules are simply adding the modules to the +modules_enabled section. You should install smacks and bookmarks! + +# References + +* [prosody website](https://prosody.im) +* [prosody basic guide](https://prosody.im/doc/configure) +* [using let's encrypt with prosody](https://prosody.im/doc/letsencrypt) +* [prosody modules](https://modules.prosody.im) +* [mod\_http\_upload\_external](https://modules.prosody.im/mod_http_upload_external.html) +* [ngx\_http\_upload](https://github.com/weiss/ngx_http_upload) + diff --git a/harmful/software/c++/index.md b/harmful/software/c++/index.md index 8be487b..791829a 100644 --- a/harmful/software/c++/index.md +++ b/harmful/software/c++/index.md @@ -24,11 +24,19 @@ max-width:75%; --- smcameron -## Object oriented +>I invented the term object oriented, and I can tell you that C++ +>wasn't what I had in mind. + +--- Alan Kay + + + + +# Object oriented So automatically sucks. -## Ugly syntax +# Ugly syntax The only non-ugly part of C++ is the headers' name: iostream, cmath, ctime, thread, etc. Unlike in C, where they are ugly as shit: stdio.h, @@ -61,7 +69,7 @@ Now what the fuck is std:: and why do I have to write << just to print some shit Note: you can skip the std:: part with ```using namespace std``` but this is a [bad practice](https://stackoverflow.com/questions/1452721/why-is-using-namespace-std-considered-bad-practice) -## Error messages +# Error messages in the following code: @@ -220,8 +228,73 @@ a.cc:5:35: error: found ‘:’ in nested-name-specifier, expected ‘::’

(In GCC) -## Compatibilty +# Objects are stupid + + +``` +std::string spurdo = "sparde" +``` + +where spurdo is an object + +`spurdo.c_str() // converts the string to a C '\0' terminated +string.` + +In C, strings are an array of chars, in C++, they're an object, with +methods. + +# Compatibilty C++ is "compatible" with C But this can break most C programs + +# A sad story about c++ executables + +~~~ +  try to strip the executable +  Did it change anything? +  strip? +  "strip a.out" +  It removes unused stuff +  like debug symbols and similar +  qorg@satania ~> md5sum a.out + cd1cc93ac2ea0c8129042e96ae7d65e7 a.out + qorg@satania ~> strip a.out + qorg@satania ~> md5sum a.out + e6e6e1ea132edb67c6005e703ebe7c81 a.out +  yeah? +  and now compare the assembly code +  how +  do i disassembly it or what +  how did you do it before? +  g++ -S +  lol +  oof +  maybe just compare the filesize +  qorg@satania ~> gcc mtx.c -lcurses -lpthread + qorg@satania ~> du -h a.out + 24K a.out +  qorg@satania ~> g++ mtx.cc -lcurses -pthread + qorg@satania ~> du -h a.out + 40K a.out +  now with -Os +  qorg@satania ~> gcc mtx.c -lcurses -lpthread -Os + qorg@satania ~> du -h a.out + 24K a.out +  lol +  qorg@satania ~> g++ mtx.cc -lcurses -pthread -Os + qorg@satania ~> du -h a.out + 24K a.out +  congrats c++! +  exact filesize: 23488 (according to stat) +  now the stripped versions +  stat'd c version: 21520 +  stripped c++ 14680 +  stripped c: 14472 +  a considerably smaller difference +  So c++ is bloated up with debug symbols, awesome +  lol +  can i take a log of this and put it in kill-9.xyz/harmful/software/c++? + +~~~ diff --git a/harmful/software/c++/linus.md b/harmful/software/c++/linus.md new file mode 100644 index 0000000..872dd65 --- /dev/null +++ b/harmful/software/c++/linus.md @@ -0,0 +1,15 @@ +# The guy who created a monolithic kernel in the 90s thinks C++ sucks + +>C++ is a horrible language. It’s made more horrible by the fact that +>a lot of substandard programmers use it, to the point where it’s much +>much easier to generate total and utter crap with it. Quite frankly, +>even if the choice of C were to do *nothing* but keep the C++ +>programmers out, that in itself would be a huge reason to use C. + +~~~ +In general, I'd say that anybody who designs his kernel modules for C++ is +either + (a) looking for problems + (b) a C++ bigot that can't see what he is writing is really just C anyway + (c) was given an assignment in CS class to do so. +~~~ diff --git a/harmful/software/c-sharp.md b/harmful/software/c-sharp.md index 8a0d987..12d75f4 100644 --- a/harmful/software/c-sharp.md +++ b/harmful/software/c-sharp.md @@ -1 +1,6 @@ >\>c# + +>C# is what happens when some kid learns java then looks at C and +>thinks "I can fix this" + +--- Baobab diff --git a/harmful/software/cloudflare.md b/harmful/software/cloudflare.md index 35d5f49..0fa3690 100644 --- a/harmful/software/cloudflare.md +++ b/harmful/software/cloudflare.md @@ -1,3 +1,49 @@ -# Cloudflare is worse than useless +# Cloudflare and its consequences have been a disaster for the cyberspace -I don't know about you. But I'm not much into Internet centralization. +Cloudflare is a MITM + +Cloudflare stays between you and the server you're going to. + +Cloudflare claims this is for "DDoS" protection and CDN. + +Which is all good, until cloudflare thinks you're a bot. + +Why can cloudflare think you're a bot? here are some reasons + +* You use a browser cloudflare don't like +* you care about your privacy, so you use something like tor +* you want sane browser so you disable JS + +If cloudflare thinks you're a bot, you'll have to enable JS and ~train +their AI~ solve a captcha to enter the website + +If you don't mind click squares for 5 minutes (I once tried to solve +one of these captchas using tor+pale moon and i shit you not, i was +clicking squares for 5 minutes) you should know how this "DDoS +protection" works. + +There is no DDoS protection actually, they just have a lot of +servers. So if a server is overloaded, they will just point your +website to another server. + +Now, on the "bot" detection. Cloudflare claims to only block "bad +bots" and "attackers". how does this thing work? + +Easy. via the **user-agent**. I believe it follows something like this + +* Normal IP, most browsers user-agent -> pass +* Tor exit node IP, -> tor browser user-agent pass +* Tor exit node/VPN, -> any user agent but tor browser's -> captcha + +Inmidiatly, people who knows how the HyperText Transfer Protocol +Secure works will say "How does Cloudflare know my user agent, the +user agent its passed in the request!" + +This is because, despite having the green lock in the browser, +cloudflare **decrypts** all your traffic. All the usernames, +passwords, have passed in plain text through cloudflare's server. + + +You should [distrust cloudflare from your browser](/guides/distrust_cloudflare) + +more info [here](https://git.fuwafuwa.moe/you/stop_cloudflare) diff --git a/harmful/software/exa.md b/harmful/software/exa.md new file mode 100644 index 0000000..c701f2f --- /dev/null +++ b/harmful/software/exa.md @@ -0,0 +1,26 @@ +# exa sucks + +>NAME + +> exa - a modern replacement for ls + +Oh, a repleacement for ls! + +~~~ +qorg@satania ~ > exa -p +Unknown argument -p +~~~ + +Huh? Why can't I tell exa to put a / at the end of every directory? + +~~~ +qorg@satania ~> exa -s +Flag -s needs a value (choices: name, Name, size, extension, Extension, +modified, changed, accessed, created, inode, type, none) +~~~ + +HUH? + +What was wrong with ls(1)? + +Plus it's written in Rust. diff --git a/harmful/software/gemini.md b/harmful/software/gemini.md new file mode 100644 index 0000000..eddcc15 --- /dev/null +++ b/harmful/software/gemini.md @@ -0,0 +1,20 @@ +# Gemini sucks + +* One line per paragraph, or, 1000 chars long lines. +* No images +* But there are emojis! +* Mandatory TLS (Which gives poor support for hidden services) + +The problem with the modern web is a social problem, not a protocol +problem. HTTP is a "good" protocol. The problem is JS, not HTTP, the +problem is multicorps, not HTTP. For example, websites in the darknet, +which are mostly personal websites are not insane, and guess what! +they use HTTP, not gemini + +# Alternatives + +* http lmao +* gopher if you want to be edgy +* ftp +* telnet +* finger diff --git a/harmful/software/index.md b/harmful/software/index.md index 02d32c5..4db518f 100644 --- a/harmful/software/index.md +++ b/harmful/software/index.md @@ -90,8 +90,8 @@ extensions are kinda useful. So I don't consider them harmful. runit, OpenRC, SysVinit - MIT, BSD - GPL, [VPL](https://viralpubliclicense.org/), [K9PL](https://gitlab.com/call-cc/k9core/-/raw/master/LICENSE) + GPL, LGPL + BSD, MIT, VPL, AGPL pacman, dnf, yum, dpkg diff --git a/harmful/software/javascript.md b/harmful/software/javascript.md index f5a6dfb..97a1d61 100644 --- a/harmful/software/javascript.md +++ b/harmful/software/javascript.md @@ -125,5 +125,6 @@ And this is what is needed to run a program written in electron: [JAVASCRIPT WAS A MISTAKE](http://www.bordi.ga/blog_shit/js.html) -![Tom Araya can't scream like i'm internally screaming -rn](/1592614085502.png) +![](/1592614085502.png) + +![](/1610633628.png) diff --git a/harmful/software/patch.diff b/harmful/software/patch.diff new file mode 100644 index 0000000..8745ad3 --- /dev/null +++ b/harmful/software/patch.diff @@ -0,0 +1,23 @@ +diff --git a/harmful/software/gitlab.md b/harmful/software/gitlab.md +index 4b17284..6ea0919 100644 +--- a/harmful/software/gitlab.md ++++ b/harmful/software/gitlab.md +@@ -13,14 +13,17 @@ What in the actual fuck? + * and it is esoteric JS + + Still not convinced? Try installing gitlab from source while remaining sane. ++ + Protip: you can't + + https://docs.gitlab.com/ee/install/installation.html + + If you still manage to get through this hell of a setup then enjoy the 700kB JS that it requires. + ++``` + $ curl --head https://gitlab.example.dom/assets/webpack/main.909b7bb7.chunk.js + HTTP/2 200 + content-type: application/javascript +-**content-length: 692119** ++content-length: 692119 ++``` + diff --git a/harmful/software/python.md b/harmful/software/python.md index 9d2b884..028b7ab 100644 --- a/harmful/software/python.md +++ b/harmful/software/python.md @@ -27,6 +27,45 @@ support on 2020 and should not be used anymore. But [some programmers](https://bugs.launchpad.net/calibre/+bug/1714107) do not want to make the change. +Once, i removed python2.7 from my system (as it is obselete and should +never be used) and some python3 libraries stopped working for some +reason i don't understand. + +# Mess in the filesystem + +~~~ +qorg@satania:/home/qorg $ xbps-query -l | grep python | wc -l +4 +qorg@satania:/home/qorg $ ls -1 /usr/lib/python3.9/|wc -l +203 +~~~ + +# Dependence hell + +~~~ +xbps-install poezio + +python3-ply install - 3.11_4 - +python3-pycparser install - 2.20_1 - +python3-cffi install - 1.14.5_1 - +python3-pycares install - 3.1.1_3 - +python3-aiodns install - 2.0.0_2 - +python3-pyasn1 install - 0.4.8_3 - +python3-pyasn1-modules install - 0.2.8_4 - +python3-async-timeout install - 3.0.1_3 - +python3-attrs install - 20.3.0_1 - +python3-chardet install - 4.0.0_1 - +python3-idna install - 2.10_1 - +python3-idna-ssl install - 1.1.0_3 - +python3-multidict install - 5.1.0_1 - +python3-yarl install - 1.6.3_1 - +python3-typing_extensions install - 3.7.4.3_1 - +python3-aiohttp install - 3.7.4_1 - +python3-slixmpp install - 1.5.2_2 - +poezio install - 0.13.1_3 - + +~~~ + # Other stuff What the hell is a \_\_main\_\_? diff --git a/harmful/software/session.md b/harmful/software/session.md new file mode 100644 index 0000000..0fec0ab --- /dev/null +++ b/harmful/software/session.md @@ -0,0 +1,18 @@ +# haha, session! + +Session is a IM that uses lokinet (lokinet website is cloudflared +though) and all of that + +it claims to be P2P and E2E encrypted which i think it is real idk + +but this is the problem: + +![Session's website is cloudflared](/session.png) + +If you don't know why cloudflare is harmful, please read +[this](/harmful/software/cloudflare) + +# blockchains + +Sending all messages through blockchain to be recorded forever is +something that really glows in dark. diff --git a/harmful/software/signal.md b/harmful/software/signal.md index 1ccab6b..321e256 100644 --- a/harmful/software/signal.md +++ b/harmful/software/signal.md @@ -78,9 +78,13 @@ because you need the private key to sign. Also the passphrase in any sane implementation of OpenPGP, BTW F-Droid signs the packages automatically. +# Signal desktop + + + # Centralization -Signal claims to be a P2P messenger, this is true I guess. But what is +Signal claims to be a P2P messenger[^1], this is true I guess. But what is not true is that the whole system is P2P. It has **centralized servers** @@ -112,13 +116,24 @@ Because they're trying to convince computer novices to use a secure IM, you know, I don't expect my grandmother to setup her own XMPP server. But I can expect her to use Signal since it is made for novices. +# Paranoia + +Jack (Twitter's CEO), Elon Musk (Guy who wants to literally backdoor your brain) are suddendly recommending signal. + +These guys sells your data to the highest bidder, why are them suddendly recommending a "private" and "secure" IM? + # Conclusion XMPP does not have any of these problems. -Okay, Signal is good, but the things we have talked about here is not +Okay, Signal is good, but the things we have talked about here is not what you expect from a "security focused" program. The chat itself is P2P, and that's good. Also it is encrypted. So if you have to choose between \ and Signal, choose Signal. Did I mention it needs phone number to work? + + + +[^1]: Signal services died in 2021-01-15. How could have this have +happened is it is P2P? \ No newline at end of file diff --git a/index.md b/index.md index 7f7441e..de8967e 100644 --- a/index.md +++ b/index.md @@ -32,9 +32,11 @@ that RSS feed. Please note that that RSS feed can have any kind of crap. From "fixed typos" to a whole new article. Anyways, I hope it helps you. -Onion
-[Eepsite](http://3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q.b32.i2p/)
- +## TODO + +This website is somehow outdated. + +satania
(defconstant NUMBER_OF_PEOPLE 10)
 (defvar *i* 0)
@@ -53,3 +55,5 @@ typos" to a whole new article. Anyways, I hope it helps you.
 
 
 car car car car cdr cdr cdr cdr car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply car cdr eval apply 
+
+We are the most honored hackers that have put a feet in this earth in million of years... and we are not honored.
diff --git a/no_category/xmpp.md b/no_category/xmpp.md
index 1261241..e6c499c 100644
--- a/no_category/xmpp.md
+++ b/no_category/xmpp.md
@@ -65,7 +65,7 @@ Awesome! This server seems good!
 Aw, shit.
 
 Good server. But be sure to always use OMEMO/PGP/OTR so this last point
-is less harmful. Middle tier.
+is less harmful. High tier.
 
 404.city
 ========
@@ -322,7 +322,7 @@ But now we have this:
 >Requested Domain: e.g. chat.sum7.eu
 >Duration of delivery: How long a request take time (in histogram cumulated in buckets)
 
-Thought you guys didn't send anything!
+Thought you guys didn't save anything!
 
 >For easy use, there is Message Archiving enabled by
 >default. Hopefully you use OMEMO or you should disable MAM. Otherwise
diff --git a/rocks/computers/software/freenet.md b/rocks/computers/software/freenet.md
new file mode 100644
index 0000000..f793aad
--- /dev/null
+++ b/rocks/computers/software/freenet.md
@@ -0,0 +1,35 @@
+# Freenet rocks!
+
+Freenet is a content-based anonymous network, this means, that unlike
+tor, it is based only in content rather than services, you don't
+need. a webserver to host a website in freenet. You only have to
+insert it.
+
+Then, when you have that website uploaded in freenet, you'll be
+seeding it, other people will visit and they'll become seeders as
+well! So you can turn off your computer, and the website will be still
+accessible!
+
+Any content you download will be kept in the datastore, a encrypted
+file that has every content you've visited in freenet. This file is
+encrypted and can be only decrypted with the keys. There are 4 types
+of keys but the most important are:
+
+* SSK: Signed Subspace Keys. For content that will change, like a website
+* USK: Updateable Subspace Keys. Useful for getting the latest version of a SSK key
+* CHK: Content Hash Keys, Used for static content, such as pdfs, images...
+
+
+
+This is a freenet URL: 
+
+It has it scheme: http://FPROXYADDRESS:/KEYTYPE@DECRYPTIONKEY/DOCUMENT/VERSION/
+
+Notice how freenet has "versions" this in freesites are some kind of
+wayback machine. You can go to *any* version of a freesite by
+modifying the URL, for example: http://127.0.0.1:8888/SSK@wA57L-2IJYwx6wOrLyKEpS6NHXRrSUXNWJNfu9T5gc4,twOe8gGJw~8~p-ICxazYTVduvS4RJZfiLUKRmRzo3so,AQACAAE/qorg-1/ 
+
+That will take you to the first version of my freesite
+
+There are some plugins to Freenet, like Frost or Sore, which enables
+social media over freenet.
diff --git a/rocks/people/acz.md b/rocks/people/acz.md
new file mode 100644
index 0000000..f9abd39
--- /dev/null
+++ b/rocks/people/acz.md
@@ -0,0 +1,25 @@
+# acz is the most awesome person in the internet
+
+[His website](https://acz.kalli.st)
+
+## Software
+
+He has worked on much software, such as outvidious (youtube frontend,
+that unlike invidous, usually works) and aoydl (acz own youtube-dl)
+which is a youtube-dl in less than 30 lines i think and without the
+evil python dependency. He's currently working on a ftpd written in
+Tcl
+
+## Quotes
+
+- OMEME is backdoreed
+  - OMEME messages go directly to CIA
+- Go is backdoreed
+- Libreboot binaries are backdoored
+- Tor browser is backdoored
+- Spooky
+- There is no free lunch. That's why I wait for dinner
+
+## Politics
+
+Based egominarchist
diff --git a/rocks/people/dendy.md b/rocks/people/dendy.md
index f737ef4..0e6da5c 100644
--- a/rocks/people/dendy.md
+++ b/rocks/people/dendy.md
@@ -1,8 +1,8 @@
-# posweg rocks
+# dendy rocks
 
-they just run  which is just their personal website,
-they use cleg for  (which is my blog software
-:p) But they're  also an awesome artist:
+they just run  which is just their personal website,
+they use cleg for  (which is my blog software
+:p) But they're also an awesome artist:
 
 
 
@@ -11,4 +11,4 @@ they use cleg for  (which is my blog software
 
 
 
-He also converted to Emacs recently :p
+They also converted to Emacs recently :p
diff --git a/rocks/people/index.md b/rocks/people/index.md
new file mode 100644
index 0000000..198979a
--- /dev/null
+++ b/rocks/people/index.md
@@ -0,0 +1 @@
+# Kill-9 hall of fame
diff --git a/rocks/people/rawilson.md b/rocks/people/rawilson.md
new file mode 100644
index 0000000..cb5ca67
--- /dev/null
+++ b/rocks/people/rawilson.md
@@ -0,0 +1,4 @@
+# Robert Anton Wilson
+
+Author, Discordian pope, Subgenius pope (pope bob), Grand Master of the
+Illuminati.
diff --git a/rocks/people/suguivy.md b/rocks/people/suguivy.md
index d57a48b..2970d00 100644
--- a/rocks/people/suguivy.md
+++ b/rocks/people/suguivy.md
@@ -1,24 +1,19 @@
-# Suguivy rocks
+>More and more traditional programmers and developers appear, because they are t
+>result of a business need. But hackers are not the result of it. Hackers are
+>individuals who dedicate themselves to their field out of sheer will. So the number o
+>developers increases, but not hackers.
 
->More and more traditional programmers and developers appear, because
->they are the result of a business need. But hackers are not the
->result of it. Hackers are individuals who dedicate themselves to
->their field out of sheer will. So the number of developers increases,
->but not hackers.
+— Suguivy about Lisp not being popular these days.
 
---- Suguivy about Lisp not being popular these days.
+>Object-oriented programming is a quite unnecesary evolution of programming
+>paradigms.
 
->Object-oriented programming is for those programmers who don't know
->how to program
+— Suguivy about something which could only have originated in California
 
---- Suguivy about something which could only have originated in California
+they just a programmer which runs  They has done an attempt of text
+editor  They had read SICP almost entirely. So respect
+them.
 
-they just a programmer which runs
-. They has done an attempt of text
-editor . They had read SICP almost
-entirely. So respect them.
-
-They has also created a pokemon mistery dungeon randomizer (like
-randomlockes but for mistery dungeon) and a nes emulator which is
-pretty dead and don't actually emulates games. but it gives you
-information about the .nes file)
+They has also created a pokemon mistery dungeon randomizer (like randomlockes but for
+mistery dungeon) and some attempts of implementations of their own Lisp dialects. And
+they is a Haskell hacker.
diff --git a/session.png b/session.png
new file mode 100644
index 0000000..3a084cc
Binary files /dev/null and b/session.png differ
diff --git a/themes/index.md b/themes/index.md
index 491e1f1..4540554 100644
--- a/themes/index.md
+++ b/themes/index.md
@@ -9,13 +9,16 @@ To install these themes, just use stylus, since stylish is botnet.
 
 These themes are in the public domain.
 
-[SICP](https://kill-9.xyz/sicp.css)
+[SICP](/sicp.css)
 
-[Yotsuba](https://kill-9.xyz/yotsuba.css)
+[Yotsuba](/yotsuba.css)
 
-[Yotsuba B](https://kill-9.xyz/yotsubab.css)
+[Yotsuba B](/yotsubab.css)
 
-[Tomorrow](https://kill-9.xyz/tomorrow.css)
+[Tomorrow](/tomorrow.css)
 
-[Fauux](https://kill-9.xyz/fauux.css)
+[Fauux](fauux.css)
 
+[cat -v](/cat-v.css)
+
+[Dark Green](/darkgreen.css)
diff --git a/who.md b/who.md
index b1dfbb5..33bedd1 100644
--- a/who.md
+++ b/who.md
@@ -1,5 +1,6 @@
 # who
 
-This website is made by its contributors, and the main ones are qorg11 and callcc
+This website is made by its contributors and hosted by [qorg11](https://qorg11.net). 
 
-You can contact them on email, with the email addresses qorg@vxempire.xyz and callcc@vxempire.xyz
+You can get a list of the contributors
+[here](https://codeberg.org/qorg11/kill9/commits/branch/master)