Compare commits

..

18 Commits
main ... main

Author SHA1 Message Date
nihilist
ad72ef0c5f Merge branch 'main' of https://git.nowhere.moe/nihilist/blog-contributions 2024-10-16 20:15:22 +02:00
nihilist
fcff4bc64c updated 2024-10-16 20:14:52 +02:00
ace939c0e8 Merge pull request 'add How to Get an Email Account Anonymously (Emails as a Service)' (#152) from XMRonly/blog-contributions:main into main
Reviewed-on: nihilist/blog-contributions#152
all good, payment sent, thx
2024-10-16 19:58:27 +02:00
XMRonly
1345c08391 minor spelling error 2024-10-16 13:15:07 -04:00
XMRonly
28e3a0bc52 minor renaming of image files 2024-10-16 09:37:15 -04:00
XMRonly
3ab30e5dd9 add How to Get an Email Account Anonymously (Emails as a Service) 2024-10-15 16:37:01 -04:00
nihilist
9f2d80daa5 updated 2024-10-15 18:39:27 +02:00
nihilist
1702a7dedd updated 2024-10-14 19:09:52 +02:00
nihilist
2145f43186 Merge branch 'main' of https://git.nowhere.moe/nihilist/blog-contributions 2024-10-14 19:06:47 +02:00
nihilist
54c6d0fbbc updated 2024-10-14 19:06:14 +02:00
db5dd8843c Merge pull request 'add How to Receive Anonymous SMSes' (#150) from XMRonly/blog-contributions:main into main
all good, payment sent + merging

Reviewed-on: nihilist/blog-contributions#150
2024-10-14 18:48:35 +02:00
XMRonly
d2cbc3dd9f update footer donation info 2024-10-14 09:25:25 -04:00
XMRonly
a15ab81460 add How to Receive Anonymous SMSes 2024-10-13 15:59:07 -04:00
nihilist
e34e0bcc2e new simplex tutorial 2024-10-13 18:44:07 +02:00
nihilist
ae38f41b41 updated 2024-10-13 15:38:17 +02:00
nihilist
d6a5c9994a updated 2024-10-12 22:06:26 +02:00
nihilist
e8cb256db9 the right thing to do productivity tutorial 2024-10-12 21:38:07 +02:00
nihilist
b32a679633 updated 2024-10-11 20:51:06 +02:00
102 changed files with 1432 additions and 1650 deletions

BIN
opsec/anonemail/0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

BIN
opsec/anonemail/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 KiB

BIN
opsec/anonemail/2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

BIN
opsec/anonemail/3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

BIN
opsec/anonemail/4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

BIN
opsec/anonemail/5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 KiB

BIN
opsec/anonemail/6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

BIN
opsec/anonemail/7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

228
opsec/anonemail/index.html Normal file
View File

@ -0,0 +1,228 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>How to Get an Email Account Anonymously (Emails as a Service)</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>XMRonly - 2024 / 10 / 16</ba></p>
<h1>How to Get an Email Account Anonymously (Emails as a Service)</h1>
<img src="0.png" style="width:250px">
<p> </p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Introduction </b></h2>
<p>
Email is one of the most widely used forms of online communication, both for personal and professional interactions. With billions sent daily, you would expect email to be secure, accessible, and readable by only the intended recipient. Unfortunately, email is an old technology and this is not always the case. With metadata being visible, large email providers scanning emails, as well as potential government surveillance in some parts of the world, it is no surprise that email is hardly considered private. As such, you may want to send an email that is not tied to your real identity. In this article, we will explore how to sign up for email account anonymously. Specifically, we will explore a privacy-focused email provider, <b>Proton Mail</b>, and how to sign up using Tor without inputting any additional information whatsoever.
</p>
<!-- <img src="" class="imgRz"> -->
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<!-- <p></p> -->
<!-- <img src="" class="imgRz"> -->
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<!-- <p></p> -->
<!-- <img src="" class="imgRz"> -->
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Setup</b></h2> </br> </br>
<p>
Using the Tor Browser, navigate to Proton Mail's onion address to create a free account. You can find the address on their <a href=https://proton.me/blog/tor-encrypted-email target=_blank>official site</a>. It is also posted here for convenience:
<br>
<b>https://protonmailrmez3lotccipshtkleegetolb73fuirgj7r4o4vfu7ozyd.onion/</b>
<img src="1.png" class="imgRz">
</p>
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<p>
At the time of writing, the next page produced an error resulting in some aspects not loading correctly. No matter, we carry on. Click to select a plan as shown.
<img src="2.png" class="imgRz">
</p>
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<p>
We are not interested in a paid plan, so click to continue with free.
<img src="3.png" class="imgRz">
</p>
<p>
Enter a unique username and password and click Create Account.
<img src="4.png" class="imgRz">
</p>
<p>
At this point, you will be greeted with additional verification. Proton Mail does this to prevent abuse of their services by bots and spammers. If presented with the option requiring verification by email or <a href=https://blog.nowhere.moe/opsec/anonsms/index.html target=_blank>SMS</a>, close the browser and restart from the beginning. After maybe a handful of attempts, you will be presented with Proton's Captcha option. Slide the puzzle piece in place and click Next.
<img src="5.png" class="imgRz">
</p>
<p>
Select a display name and deny a recovery method.
<img src="6.png" class="imgRz">
</p>
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="anon1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Conclusion</b></h2> </br> </br>
<p>
And your new anonymous email account is ready for use! In line with practicing good <a href=https://blog.nowhere.moe/opsec/opsec4levels/index.html target=_blank>OPSEC</a>, this account is for use exclusively over the Tor network for activities unrelated to your real identity.
<img src="7.png" class="imgRz">
</p>
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<!---->
<!-- <p></p> -->
<!---->
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
<!---->
<!-- <p></p> -->
<!-- <pre><code class="nim"> -->
<!-- </code></pre> -->
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4 class="readable">About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u>
8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8
</p></br>
<p style="word-wrap: break-word;"><u>Donate XMR to the author:</u>
8AHNGepbz9844kfCqR4aVTCSyJvEKZhtxdyz6Qn8yhP2gLj5u541BqwXR7VTwYwMqbGc8ZGNj3RWMNQuboxnb1X4HobhSv3</p>
<p class="readable"><u>Contact:</u> nihilist@contact.nowhere.moe (<a
href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

BIN
opsec/anonsimplex/11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
opsec/anonsimplex/12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
opsec/anonsimplex/13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 212 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 960 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

View File

@ -0,0 +1,340 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Anonymity - Easy Anonymous Chats Using SimpleX</title>
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<link href="../../assets/css/main.css" rel="stylesheet">
</head>
<body>
<!-- Navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand-anon" href="/index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div>
</div>
</div>
<!-- Introduction -->
<div id="anon1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a><br><br>
<p>
<img src="../../assets/img/user.png" width="50px" height="50px"
alt="User Icon">
<span class="author-date">Hoover - 2024-10-12</span>
</p>
<h1>Anonymity - Easy Anonymous Chats Using SimpleX</h1>
<p>In this tutorial we're going to see how to setup a chat application for Anonymous use. This is especially important in a world where mass-surveillance is nearly-omnipresent. It has become the end users' responsibility to uphold their privacy and anonymity while communicating online.</p>
</div>
</div>
</div>
</div>
<!-- Why Anonymous Chats? -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Choosing the most appropriate chat application</b></h2>
<p>In order to choose the most appropriate messaging app for our intended use (Anonymity), we have the following requirements:</p>
<p><u>Privacy:</u></p>
<ol>
<li><p>The application must be free and open source (FOSS)</p></li>
<li><p>The application must have End to End Encryption by default (E2EE)</p></li>
<li><p>The application must allow us to run and use our own servers (Decentralisation)</p></li>
</ol>
<p><u>Anonymity:</u></p>
<ol>
<li><p>The application must support Tor .onion servers out of the box</p></li>
<li><p>The application must allow you to chat without requiring any information (no emails, no usernames, no phone numbers)</p></li>
<li><p>The application must have the ability for us to join chatrooms without revealing our identity (Incognito Mode)</p></li>
</ol>
<p><u>Deniability:</u></p>
<ol>
<li><p>The application must have disappearing messages (Deniability)</p></li>
</ol>
<p>You'd be suprised to see that as of right now (November 2024) there is only SimpleX that actually fits all of these criterias. therefore that's what we'll use for Anonymous chats.</p>
</div>
</div>
</div>
</div>
<!-- What Tools Will Be Used? -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<p><h2><u>Mobile OPSEC Recommendations:</u></h2></p>
<ol>
<li><p>Hardware : Google Pixel Phone</p></li>
<li><p>Host OS: <a href="../graphene/index.html">GrapheneOS</a></p></li>
<li><p>Graphene Profile: Anonymous Use </p></li>
<li><p>Applications: Orbot and SimpleX </p></li>
</ol>
<p><h2><u>Desktop OPSEC Recommendations:</u></h2></p>
<ol>
<li><p>Hardware : (Personal Computer / Laptop)</p></li>
<li><p>Host OS: <a href="../linux/index.html">Linux</a></p></li>
<li><p>Hypervisor: <a href="../hypervisorsetup/index.html">libvirtd QEMU/KVM</a></p></li>
<li><p>Virtual Machine: <a href="../hypervisorsetup/index.html">Linux</a> or <a href="../whonixqemuvms/index.html">Whonix</a> or <a href="../tailsqemuvm/index.html">Tails</a> </p></li>
<li><p>Application: Tor (if not on Whonix or Tails), and SimpleX </p></li>
</ol>
<p>We will be going through how to set up your own SimpleX server through Tor, and how to configure your Android client to route your traffic through it.</p>
</div>
</div>
</div>
</div>
<!-- How to Set Up Anonymous Chats -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>How to Set Up Anonymous Chats</b></h2>
<h3><b>Step 1. Option A: GNU/Linux</b></h3>
<p>First, update your package list and install Tor by running the following commands in your terminal:</p>
<pre><code class=nim">sudo apt update
sudo apt install tor</pre></code>
<p>Once installed, start the Tor service:</p>
<pre><code class=nim">sudo systemctl start tor@default</pre></code>
<p>Next you'll need to download SimpleX AppImage which can be <a href="https://simplex.chat/downloads/">found here on SimpleX website</a>.</p>
<p>Open a terminal in the directory of your downloaded AppImage. Make the AppImage executable, then launch it:</p>
<pre><code class=nim">
[ mainpc ] [ /dev/pts/26 ] [~]
→ chmod +x simplex-desktop-x86_64.AppImage
[ mainpc ] [ /dev/pts/26 ] [~]
→ ./simplex-desktop-x86_64.AppImage
</pre></code>
<h3><b>Step 1. Option B: Android</b></h3>
<p>Download and install the Orbot .apk from <a
href="https://github.com/guardianproject/orbot/releases"
target="_blank">the GitHub repository</a>.</p>
<img src="Orbot1.png" class="imgRz"
alt="Orbot installation screenshot">
<p>Open Orbot, and in the bottom-right corner, tap on <strong>More</strong>, then <strong>Settings</strong> to enter the settings.</p>
<p>In the settings menu, scroll down and enable the <strong>Power User Mode</strong>.</p>
<p>After enabling Power User Mode, go back to the More section and press <strong>Choose apps</strong> and select SimpleX in the list. Go back to <strong>Connect</strong> in the bottom navigation menu and press <strong>Connect</strong>.</p>
<!--<img src="Orbot2.png" class="imgRz" alt="Orbot PUM screenshot">-->
<img src="orbot.png" class="imgRz">
<p>Download and install <a
href="https://f-droid.org/packages/chat.simplex.app/">SimpleX
using F-Droid</a></p>
<img src="Simplex1.png" class="imgRz"
alt="SimpleX installation screenshot">
<h3><b>Step 2.</b></h3>
<p>Navigate through the setup process, select your username, and
press Create. The screenshots showcase the process for Android, but the steps are identical for Linux/GNU as well.</p>
<img src="Simplex2.png" class="imgRz" alt="SimpleX setup screen">
<p>Once you've created your profile, open the kebab menu on the
bottom left and open <strong>Settings &gt; Network and servers</strong>
and activate SOCKS Proxy. Press <strong>SOCKS proxy settings</strong> and set your
port to 9050, then save.</p>
<img src="Simplex4.png" class="imgRz" alt="SimpleX proxy switch">
<img src="Simplex6.png" class="imgRz" alt="SimpleX proxy settings">
<h3><b>You have now successfully configured SimpleX to use Tor!</b></h3>
</div>
</div>
</div>
</div>
<!-- SimpleX Server Setup -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Step 3. SimpleX Server Setup</b></h2>
<p>It's important to note that in theory, it doesn't matter which SimpleX server you connect to, as all communication is end-to-end encrypted. When you connect via Tor, it further ensures that the server itself won't be able to trace your connection back to you. Your anonymity is maintained through the use of Tor, and your conversations are protected by SimpleX's encryption.</p>
<p>HackLiberty has a great guide on how to install and configure a
SimpleX server using Docker.</p>
<ul>
<li><strong>1. </strong> Navigate to the <a
href="https://forum.hackliberty.org/t/simplex-server-docker-installation-guide-smp-xftp/140">Simplex
Server Docker Installation Guide from HackLiberty</a> and
follow the instructions.</li>
<li><strong>2. </strong> Note your SMP and XFTP server addresses.</li>
</ul>
<p>Once you have configured and started your server, carry on with
this guide.</p>
</div>
</div>
</div>
</div>
<!-- Configure SimpleX -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Step 4: Configure SimpleX To Use Your Server</b></h2>
<p>After setting up your SimpleX server, you need to configure your
client to route its traffic through it.</p>
<p>Open the kebab menu at the bottom left again, and navigate to
<strong>Settings &gt; Network and servers</strong>, then press
<strong>Message servers</strong>.</p>
<img src="13.png" class="imgRz" alt="SimpleX message server settings">
<p>If you desire, you can remove all the default SimpleX instances
individually before proceeding; this ensures that SimpleX will
only ever use your server.</p>
<p>Press <strong>Add server</strong>, then <strong>Enter server
manually</strong>. Specify your SMP server address and save.
Make sure to check the <strong>Use for new connections</strong>
option.</p>
<img src="Simplex8.png" class="imgRz" alt="Adding a SimpleX server">
<p>Repeat the same steps for your XFTP address by navigating to
<strong>Settings &gt; Network and servers</strong>, then press
<strong>Media & file servers</strong>.</p>
<p>Similarly, you can remove all default instances here if you
desire. Then add your XFTP server address by pressing <strong>Add
server &gt; Enter server manually</strong>. Specify your XFTP
address and save. Don't forget to tick the <strong>Use for new
connections</strong> option.</p>
<img src="12.png" class="imgRz" alt="SimpleX message server settings">
<img src="11.png" class="imgRz" alt="Adding a SimpleX server">
<h3><b>Congratulations!</b></h3>
<p>You have now successfully configured your SimpleX server and
client.</p>
</div>
</div>
</div>
</div>
<!-- How to Create Chatrooms in Incognito -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>How to Create Chatrooms in Incognito mode</b></h2>
<p>After configuring your SimpleX client through Orbot and your own
server, you are ready to create and join chatrooms. Here is how to
create a chatroom in Incognito mode:</p>
<h3><b>Step 1: Create the Chatroom</b></h3>
<p>Press the pen icon in the bottom right of the screen. This will
bring up a menu. Select <strong>Create group</strong>.</p>
<img src="Simplex9.png" class="imgRz"
alt="Creating a group in SimpleX">
<p>Enter a name for your group. You can also add a photo for the
group.</p>
<p>Tick the <strong>Incognito</strong> option. Doing this ensures
your profile name and image is hidden from your group members and
allows for anonymous connections with other people without shared
data. Once you have filled out the necessary information, press
<strong>Create group</strong>.</p>
<img src="Simplex10.png" class="imgRz"
alt="SimpleX incognito mode settings">
<h3><b>Step 2: Invite Members</b></h3>
<p>After creating your chatroom, you will be met with an invite
link. You will use this link to invite other people to your
chatroom.</p>
<img src="Simplex11.png" class="imgRz" alt="SimpleX invite link">
</div>
</div>
</div>
</div>
<!-- How to Join Chatrooms in Incognito -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>How to Join Chatrooms in Incognito mode</b></h2>
<p>If you have received an invite to a SimpleX chatroom, you can
join it by pressing the input field at the bottom of the screen
labeled <strong>Search or paste SimpleX link</strong>.</p>
<p>Paste your invite link into the input field and press <strong>Enter</strong>.</p>
<img src="Simplex12.png" class="imgRz"
alt="Joining a SimpleX chatroom">
<p>You will be met with a window asking whether you'd like to
connect using your current profile or using an Incognito profile.</p>
<p>Select <strong>Use new incognito profile</strong>. </p>
<img src="Simplex13.png" class="imgRz"
alt="Selecting an incognito profile in SimpleX">
<p>This is because we don't want to reveal what our simplex username is, we just want to join the chatroom using a random username that is not tied to our identity.</p>
<img src="Simplex14.png" class="imgRz"
alt="Simplex group">
<p>And there as you can see, everyone that joins in in incognito gets a random pseudonym with the format "Random Adjective Random Word" effectively helping the users maintain their anonymity while in the chat.</p>
</div>
</div>
</div>
</div>
<!-- Conclusion -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Conclusion</b></h2>
<p>By following this tutorial, you've set up a secure, anonymous
chat system using SimpleX and Tor. You've learned how to install
Orbot, configure SimpleX servers with `.onion` addresses, create
incognito chatrooms, and join them anonymously. This setup ensures
that your private conversations remain secure and untraceable.</p>
<h3><b>What You've Accomplished</b></h3>
<p>- Installed Orbot and routed traffic through the Tor network.<br>
- Configured SimpleX servers to use `.onion` addresses.<br>
- Created and joined anonymous chatrooms in incognito mode.</p>
</div>
</div>
</div>
</div>
<!-- Footer -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.<br>
Creative Commons Zero: No Rights Reserved<br>
<img src="\CC0.png" alt="Creative Commons Zero">
</p>
</div>
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer"
href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br>
<a target="_blank" rel="noopener noreferrer"
href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX
Chat</a>
</p>
</div>
<div class="col-lg-4">
<h4>About Hoover</h4>
<p style="word-wrap: break-word;">
<u>Donate XMR:</u>
42yco9t6qK98N191EZzKJUCH7cit5JT8mBJQvVULEPAPeBHurbFqGj2hK7kaFhqasv8AYLpbuP15Wg5suzyjUd5SMLqabRw<br>
<u>Contact:</u> fuzzy.hat4381@fastmail.com
</p>
</div>
</div>
</div>
</div>
</body>
</html>

BIN
opsec/anonsimplex/orbot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 KiB

202
opsec/anonsms/index.html Normal file
View File

@ -0,0 +1,202 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>How to Receive Anonymous SMSes (Remote SMSes as a Service)</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>XMRonly - 2024 / 10 / 13</ba></p>
<h1>How to Receive Anonymous SMSes (Remote SMSes as a Service)</h1>
<img src="sms0.png" style="width:250px">
<p> </p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Introduction </b></h2>
<p>
Many services ask for your phone number when signing up to perform SMS verification. This is undesirable for many reasons, including the possible sharing of your information with third parties, exposure during data leaks, and correlating social demographics for further surveillance. To get around this we need a way to receive SMS messages anonymous in order to sign up for our desired services. While you may get lucky and be able to get around the phone number requirement with various free online services that receive SMSes, it is generally not a reliable solution because many of the phone numbers provided are already taken, blocked or incompatible due to their VoIP infrastructure. In this article we will explore <b>SMSpool: a cheap, non-KYC, non-VoIP phone service provider that accepts crypto payments.</b> Specifically, we will explore how to receive a one-time SMS code to sign up for a Telegram account anonymously.
</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Setup</b></h2> </br> </br>
<p>
Using the Tor browser, navigate to smspool.net. You may be automatically redirected to an onion address:
<img src="sms1.png" class="imgRz">
</p>
<p>
Register a unique username and password. Accept the Terms & Conditions, verify you are human and click Register. Then simply log in.
<img src="sms2.png" class="imgRz">
</p>
<p>
We will need to get a sense of prices to know how much this is going to cost. On the left sidebar, click on Order and select your desired country and service. We'll go with a United Kingdom phone number for Telegram. Scroll down and click on Advanced view to see more detailed information. Scroll down some more and find a Pool that has stock listed. In this case, the Mike Pool has plenty of stock and a listed price of $0.81. We will need to deposit this amount of XMR into our account. Note: the listed success rate is not very reliable and while 30% may seem low, there is actually no penalty for failed attempts since orders purchased that do not receive an SMS in the allotted timeframe are automatically refunded.
<img src="sms3.png" class="imgRz">
</p>
<p>
The next step is funding your account. On the left panel, click on Deposit. Select Cryptocurrency, leave your country set to Other, and finally select XMR. SMSpool will output a newly generated XMR address which you can use to fund your account either by copy/pasta or by scanning the QR code.
<img src="sms4.png" class="imgRz">
</p>
<p>
Using DuckDuckGo, we calculate $0.81 to be 0.00532927 XMR. We populate the required fields in our Monero Wallet and send the transaction, leaving the default transaction priority. Once the transaction is sent and has received around 10 on-chain confirmations, you will receive a notification on SMSpool that your funds are received.
<img src="sms5.png" class="imgRz">
</p>
<p>
With your account funded, it's time to purchase a one-time-use SMS verification. Proceed in the same way you did when checking prices and click Purchase on the Mike Pool option under the Advanced view.
</p>
<p>
<ol>
<li>You will now see a phone number generated onscreen under the Pending SMS section</li>
<li>Enter this number in your phone Telegram app</li>
<li>Proceed to the next screen on Telegram</li>
<li>You should now receive an SMS code in the Pending SMS section on SMSpool</li>
<li>Enter the SMS code into Telegram</li>
</ol>
</p>
<p>
<img src="sms6.png" class="imgRz">
</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="anon1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Conclusion</b></h2> </br> </br>
<p>
Simply complete the remaining steps onscreen and voilà! If prompted for an email address, alias addresses from SimpleLogin will do the trick despite the onscreen warning from SMSpool about disposable email addresses not working. SMSpool doesn't reuse phone numbers for the same service so the number you purchased for Telegram will not be resold to anyone else signing up for Telegram. They also do not rotate phone numbers after a period of time has passed. However, it is possible that upstream carriers may recycle numbers after some 6 months and this is something that SMSpool does not have control over. <a href=https://files.catbox.moe/i9xqzc.png target="_blank">Sauce</a>
<img src="sms7.png" class="imgRz">
</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4 class="readable">About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u>
8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8
</p></br>
<p style="word-wrap: break-word;"><u>Donate XMR to the author:</u>
8AHNGepbz9844kfCqR4aVTCSyJvEKZhtxdyz6Qn8yhP2gLj5u541BqwXR7VTwYwMqbGc8ZGNj3RWMNQuboxnb1X4HobhSv3</p>
<p class="readable"><u>Contact:</u> nihilist@contact.nowhere.moe (<a
href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

BIN
opsec/anonsms/sms0.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
opsec/anonsms/sms1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

BIN
opsec/anonsms/sms2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

BIN
opsec/anonsms/sms3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

BIN
opsec/anonsms/sms4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

BIN
opsec/anonsms/sms5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
opsec/anonsms/sms6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 KiB

BIN
opsec/anonsms/sms7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

View File

@ -133,7 +133,6 @@
<li><a href="passwordmanagement/index.html">✅ Password Management 101 (How to use Keepass)</a></li>
<li><a href="serversideencryption/index.html">✅ Serverside: Should I trust serverside encryption? Should I use PGP?</a></li>
<li><a href="pgp/index.html">✅ Private Messaging (PGP encryption)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/44">❌ How to use GPG SmartCards to secure your PGP keys</a></li>
</ol></br>
<p>⚠️ Miscellaneous - In real life</p>
@ -176,7 +175,7 @@
<li><a href="tailsqemuvm/index.html">✅ Tails OS QEMU VM for Temporary Anonymity</a></li>
<li><a href="whonixqemuvms/index.html">✅ VMs for Long-term Anonymity (Whonix QEMU VMs)</a></li>
<li><a href="whonixqemuvms/index.html">❌ How to Anonymously access websites that block Tor</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/129"> Easy Anonymous Chats - SimpleX</a></li>
<li><a href="anonsimplex/index.html"> Easy Anonymous Chats - SimpleX</a></li>
</ol></br>
<p>💻 Clientside - Censorship Evasion </p>
@ -213,8 +212,8 @@
<p>💻 Clientside - Making use of Anonymity (<a href="https://kycnot.me/?t=service">Non-KYC Providers</a>)</p>
<ol>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/26">❌ How to get a mail account anonymously (Mails as a service)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/27">❌ How to get a phone number anonymously (Remote SMSes as a service)</a></li>
<li><a href="anonemail/index.html">✅ How to Get an Email Account Anonymously (Emails as a Service)</a></li>
<li><a href="anonsms/index.html">✅ How to Receive Anonymous SMSes (Remote SMSes as a Service)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/28">❌ How to get a credit card anonymously (Credit cards as a service)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/29">❌ How to get residential proxies anonymously</a></li>
@ -242,7 +241,6 @@
<li><a href="torwebsite/index.html">🟠 Hidden Service with custom .onion Vanity V3 address</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/20">❌ Basic Webserver setup (NGINX / PHP / MYSQL)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/21">❌ Minimalistic MoneroSSO .onion setup</a></li>
<li><a href="xmpp2024/index.html">✅ XMPP Chat Server Setup (Clearnet + Onion + OMEMO E2EE)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/22">❌ Gitea .onion setup (Code repositories)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/23">❌ Nextcloud .onion setup (cloud storage)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/24">❌ Mastodon .onion setup (Microblogging)</a></li>
@ -257,7 +255,6 @@
<li><a href="anondomain/index.html">✅ How to rent remote domains anonymously (Registrar resellers) ⭐</a></li>
<li><a href="anonaccess/index.html">✅ Remote anonymous access setup (cockpit + ssh through tor)</a></li>
<li><a href="dns/index.html">✅ Clearnet Bind9 DNS server setup (with DNSSEC)</a></li>
<li><a href="matrixnew/index.html">✅ Clearnet Matrix server (federated clearnet chatting)</a></li>
<li><a href="mailprivate/index.html">✅ Anonymous (remote or self-hosted) clearnet Mail Server ⭐</a></li>
</br>
</ol></br>
@ -310,6 +307,13 @@
<ol>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/49">❌ How to Cash out your crypto gains (Fiat income limits, and justifications)</a></li>
</ol></br>
<p>⚠️ When you risk being persecuted for just using technology</p>
<ol>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/147">❌ When your harddrives must look innocent and you can use Tails</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/146">❌ When your harddrives must look innocent and you can only use VPNs</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/148">❌ When your harddrives must look innocent and you can't use Tails nor VPNs</a></li>
</ol></br>
</div>
@ -335,6 +339,7 @@
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/41">❌ Intrusion detection on remote servers </a></li>
</ol></br>
<p>⚠️ Miscellaneous - In real life</p>
<ol>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/63">❌ When protests go wrong - SimpleX Disappearing Messages</a></li>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

View File

@ -1,342 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>Matrix Chat Setup</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>root@Datura - 2024-01-14</ba></p>
<h1>Matrix Chat Setup </h1>
<img src="0.png" style="width:250px">
<p>In this tutorial we're going to setup a private matrix chat server along with VoIP support for the element desktop client. </p>
<p><u>Disclaimer:</u> If you want this service to remain anonymous, make sure you at least keep <a href="../sensitiveremotevshome/index.html">TOR between you and the service</a> from the <a href="../anonymousremoteserver/index.html">VPS acquisition</a> to actual service usage. </p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Initial Setup </b></h2>
<p>First install the required packages:</p>
<pre><code class="nim">
apt install docker.io docker-compose
</code></pre>
<p>Then create the directories required:</p>
<pre><code class="nim">
mkdir /srv/matrix/data -p
chown -R 755 /srv/matrix/data
cd /srv/matrix
</code></pre>
<p>Then we'll create the docker-compose.yml file and the generateconfig.sh script:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat docker-compose.yml
version: "3.3"
services:
synapse:
image: "matrixdotorg/synapse:latest"
container_name: "matrix_synapse"
ports:
- 8008:8008
volumes:
- "./data:/data" #it will look at the current directory where you save the file and look for the data folder inside
environment:
VIRTUAL_HOST: "m.nowhere.moe"
VIRTUAL_PORT: 8008
LETSENCRYPT_HOST: "m.nowhere.moe"
SYNAPSE_SERVER_NAME: "m.nowhere.moe"
SYNAPSE_REPORT_STATS: "yes"
coturn:
image: instrumentisto/coturn:latest
restart: unless-stopped
volumes:
- ./coturn/turnserver.conf:/etc/coturn/turnserver.conf
ports:
- 47160-47200:47160-47200/udp
- 3478:3478
- 5349:5349
networks:
- mybridge
networks:
mybridge:
driver: bridge
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat generateconfig.sh
#!/bin/bash
docker-compose run --rm -e SYNAPSE_SERVER_NAME=m.nowhere.moe -e SYNAPSE_REPORT_STATS=yes synapse generate
</code></pre>
<p>My matrix server will have the "m.nowhere.moe" domain name. The coturn config mentioned here is used for the VOIP support. Now let's generate the initial keys of the matrix server like so:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ ./generateconfig.sh
Creating network "matrix_default" with the default driver
Creating network "matrix_mybridge" with driver "bridge"
Setting ownership on /data to 991:991
Creating log config /data/m.nowhere.moe.log.config
Generating config file /data/homeserver.yaml
Generating signing key file /data/m.nowhere.moe.signing.key
A config file has been generated in '/data/homeserver.yaml' for server name 'm.nowhere.moe'. Please review this file and customise it to your needs.
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ ls
coturn data docker-compose.yml docker-compose.yml.coturn generateconfig.sh m.nowhere.moe.conf.nginx
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ ls data -lash
total 20K
4.0K drwxr-xr-x 2 991 991 4.0K Jan 14 11:12 .
4.0K drwxr-xr-x 4 root root 4.0K Jan 4 13:50 ..
4.0K -rw-r--r-- 1 root root 1.3K Jan 14 11:12 homeserver.yaml
4.0K -rw-r--r-- 1 root root 694 Jan 14 11:12 m.nowhere.moe.log.config
4.0K -rw-r--r-- 1 root root 59 Jan 14 11:12 m.nowhere.moe.signing.key
</code></pre>
<p>Now that's done, we can edit the homeserver.yaml if you want to remove trust into the "matrix.org" keys for federation to make it a truly private server:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat data/homeserver.yaml | grep server
trusted_key_servers:
- server_name: ""
</code></pre>
<p>Then we can edit the coturn config like so:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ ls
coturn data docker-compose.yml docker-compose.yml.coturn generateconfig.sh m.nowhere.moe.conf.nginx
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat coturn/turnserver.conf
use-auth-secret
static-auth-secret=cuAWWAAWWAAWWAWADDWADWADWADWADWADWAWADDWADWWADWADDWADWDWoy
realm=m.nowhere.moe
listening-port=3478
tls-listening-port=5349
min-port=47160
max-port=47200
verbose
allow-loopback-peers
cli-password=cuAWWAAWWAAWWAWADDWADWADWADWADWADWAWADDWADWWADWADDWADWDWoy
external-ip=116.202.216.190
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat data/homeserver.yaml | grep turn
turn_uris: [ "turn:m.nowhere.moe?transport=udp", "turn:m.nowhere.moe?transport=tcp" ]
turn_shared_secret: "cuAWWAAWWAAWWAWADDWADWADWADWADWADWAWADDWADWWADWADDWADWDWoy"
turn_user_lifetime: 86400000
turn_allow_guests: true
</code></pre>
<p>Make sure the ports match the ones in the docker-compose.yml file, and the external IP is the one of your server:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ curl ifconfig.me -4
116.202.216.190
</code></pre>
<p>Then we start the docker-compose:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ docker-compose up -d
Creating matrix_coturn_1 ... done
Creating matrix_synapse ... done
</code></pre>
<p>Then we create the accounts like so:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ docker container ls | grep matrixdot
134d440b1480 matrixdotorg/synapse:latest "/start.py" About a minute ago Up 25 seconds (healthy) 8009/tcp, 0.0.0.0:8008->8008/tcp, :::8008->8008/tcp, 8448/tcp matrix_synapse
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ docker exec -it 134 bash
root@134d440b1480:/#
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ docker exec -it 134 bash
root@134d440b1480:/# register_new_matrix_user -c /data/homeserver.yaml http://localhost:8008
New user localpart [root]: nihilist
Password:
Confirm password:
Make admin [no]: yes
Sending registration request...
Success!
root@134d440b1480:/# exit
exit
</code></pre>
<p>Then we make sure that we can access the matrix server via nginx:</p>
<pre><code class="nim">
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ cat /etc/nginx/sites-enabled/m.nowhere.moe.conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
# For the federation port
listen 8448 ssl http2;
listen [::]:8448 ssl http2;
server_name m.nowhere.moe;
ssl_certificate /etc/acme/certs/m.nowhere.moe/fullchain.cer;
ssl_certificate_key /etc/acme/certs/m.nowhere.moe/m.nowhere.moe.key;
location ~ ^(/_matrix|/_synapse/client) {
# note: do not add a path (even a single /) after the port in `proxy_pass`,
# otherwise nginx will canonicalise the URI and cause signature verification
# errors.
proxy_pass http://localhost:8008;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
# Nginx by default only allows file uploads up to 1M in size
# Increase client_max_body_size to match max_upload_size defined in homeserver.yaml
client_max_body_size 50M;
# Synapse responses may be chunked, which is an HTTP/1.1 feature.
proxy_http_version 1.1;
}
}
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/matrix]
→ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
</code></pre>
<p>Then we test that we can login from a matrix client (which can be installed inside a <a href="../whonixqemuvms/index.html">whonix VM</a>), let's use <a href="https://element.io/download">element</a> because we want to be able to do voicecalls:</p>
<img src="1.png" class="imgRz">
<img src="2.png" class="imgRz">
<img src="3.png" class="imgRz">
<img src="4.png" class="imgRz">
<img src="5.png" class="imgRz">
<p>Here we will setup a secure backup password, that is a separate password, for end to end encryption purposes. Then you can do the following steps:</p>
<img src="6.png" class="imgRz">
<p>Make sure you log out of every unverified session:</p>
<img src="7.png" class="imgRz">
<img src="8.png" class="imgRz">
<p>You may need to log in and log out before being able to send messages so do that, then create the space along with the chatroom</p>
<img src="9.png" class="imgRz">
<img src="10.png" class="imgRz">
<img src="11.png" class="imgRz">
<img src="12.png" class="imgRz">
<img src="13.png" class="imgRz">
<img src="14.png" class="imgRz">
<img src="15.png" class="imgRz">
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View File

@ -1,369 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>XMPP server (Gajim, OMEO encryption, ejabberd .onion setup)</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@mainpc - 2024-05-29</ba></p>
<h1>XMPP server (Gajim, OMEO encryption, ejabberd .onion setup) </h1>
<p>In this tutorial we're going to cover how to setup an XMPP chatting service over Tor. </p>
<p><u>Disclaimer:</u> If you want this service to remain anonymous, make sure you at least keep <a href="../sensitiveremotevshome/index.html">TOR between you and the service</a> from the <a href="../anonymousremoteserver/index.html">VPS acquisition</a> to actual service usage. </p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Initial Setup </b></h2>
<p>First let's install the required packages, and then run the xmpp server using docker (you can check the documentation <a href="https://github.com/processone/docker-ejabberd/blob/master/ecs/README.md">here</a>), we'll follow <a href="https://landchad.net/ejabberd/">Lukesmith's tutorial</a> specifically:</p>
<pre><code class="nim">
apt install ejabberd -y
</code></pre>
<p>Now we need the following domain names to point to your server:</p>
<pre><code class="nim">
nowhere.moe - Your XMPP hostname
xmpp.nowhere.moe - For mod_muc, Multi User Chats (MUCs)
upload.nowhere.moe - For mod_http_upload, file upload support
proxy.nowhere.moe - For mod_proxy65, SOCKS5 proxy support
pubsub.nowhere.moe - For mod_pubsub, publish-subscribe support (A fancier RSS)
</code></pre>
<p>Then we edit the ejabberd config file accordingly:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [/srv]
→ vim /etc/ejabberd/ejabberd.yml
[...]
hosts:
- nowhere.moe
[...]
mod_muc:
host: xmpp.nowhere.moe
[...]
</code></pre>
<p>Next we need to obtain the TLS certificate for the xmpp.nowhere.moe domain, to do so we'll use acme.sh: </p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl stop nginx ; acme.sh --issue --standalone -d xmpp.nowhere.moe -k 4096 ; systemctl start nginx
[Sun Jun 9 07:12:21 PM CEST 2024] Using CA: https://acme-v02.api.letsencrypt.org/directory
[Sun Jun 9 07:12:21 PM CEST 2024] Standalone mode.
[Sun Jun 9 07:12:21 PM CEST 2024] Creating domain key
[Sun Jun 9 07:12:23 PM CEST 2024] The domain key is here: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.key
[Sun Jun 9 07:12:23 PM CEST 2024] Single domain='xmpp.nowhere.moe'
[Sun Jun 9 07:12:25 PM CEST 2024] Getting webroot for domain='xmpp.nowhere.moe'
[Sun Jun 9 07:12:25 PM CEST 2024] Verifying: xmpp.nowhere.moe
[Sun Jun 9 07:12:25 PM CEST 2024] Standalone mode server
[Sun Jun 9 07:12:26 PM CEST 2024] Pending, The CA is processing your order, please just wait. (1/30)
[Sun Jun 9 07:12:30 PM CEST 2024] Pending, The CA is processing your order, please just wait. (2/30)
[Sun Jun 9 07:12:33 PM CEST 2024] Pending, The CA is processing your order, please just wait. (3/30)
[Sun Jun 9 07:12:37 PM CEST 2024] Success
[Sun Jun 9 07:12:37 PM CEST 2024] Verify finished, start to sign.
[Sun Jun 9 07:12:37 PM CEST 2024] Lets finalize the order.
[Sun Jun 9 07:12:37 PM CEST 2024] Le_OrderFinalize='https://acme-v02.api.letsencrypt.org/acme/finalize/1581078457/276884921497'
[Sun Jun 9 07:12:38 PM CEST 2024] Downloading cert.
[Sun Jun 9 07:12:38 PM CEST 2024] Le_LinkCert='https://acme-v02.api.letsencrypt.org/acme/cert/03a21dfde3a1a017ddaec55ef3c43a3cae0c'
[Sun Jun 9 07:12:39 PM CEST 2024] Cert success.
[...]
[Sun Jun 9 07:12:39 PM CEST 2024] Your cert is in: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.cer
[Sun Jun 9 07:12:39 PM CEST 2024] Your cert key is in: /root/.acme.sh/xmpp.nowhere.moe/xmpp.nowhere.moe.key
[Sun Jun 9 07:12:39 PM CEST 2024] The intermediate CA cert is in: /root/.acme.sh/xmpp.nowhere.moe/ca.cer
[Sun Jun 9 07:12:39 PM CEST 2024] And the full chain certs is there: /root/.acme.sh/xmpp.nowhere.moe/fullchain.cer
[ Datura ] [ /dev/pts/10 ] [~]
→ chown -R ejabberd:ejabberd /root/.acme.sh/xmpp.nowhere.moe
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
certfiles:
- "/root/.acme.sh/xmpp.nowhere.moe/fullchain.cer"
[...]
</code></pre>
<p>Then we add the admin user in ejabberd.yml:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
acl:
admin:
user:
- "nihilist"
[...]
</code></pre>
<p>We also add the File Uploads:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_http_upload:
put_url: https://@HOST@:5443/upload
docroot: /srv/xmpp/upload/
custom_headers:
"Access-Control-Allow-Origin": "https://@HOST@"
"Access-Control-Allow-Methods": "GET,HEAD,PUT,OPTIONS"
"Access-Control-Allow-Headers": "Content-Type"
[...]
[ Datura ] [ /dev/pts/10 ] [~]
→ mkdir /srv/xmpp/upload/ -p
[ Datura ] [ /dev/pts/10 ] [~]
→ chown -R ejabberd:ejabberd /srv/xmpp/upload/
</code></pre>
<p>We enable message archives too:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_mam:
## Mnesia is limited to 2GB, better to use an SQL backend
## For small servers SQLite is a good fit and is very easy
## to configure. Uncomment this when you have SQL configured:
## db_type: sql
assume_mam_usage: true
default: always
[...]
</code></pre>
<p>Next, you setup a coturn service for the VOIP <a href="https://landchad.net/coturn/">here</a>, but in this case we'll use the same coturn service that we previously setup for the <a href="../matrixnew/index.html">matrix server</a></p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ cat /etc/ejabberd/ejabberd.yml
[...]
mod_stun_disco:
secret: "DAWDDWADWADAWDWAWDDWAADWADWDWADWADWAAWDDWAWAD"
services:
-
host: m.nowhere.moe
type: stun
-
host: m.nowhere.moe
type: turn
[...]
</code></pre>
<p>Then we restart the ejabberd service:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl restart ejabberd
[ Datura ] [ /dev/pts/10 ] [~]
→ systemctl status ejabberd
● ejabberd.service - robust, scalable and extensible realtime platform (XMPP server + MQTT broker + SIP service)
Loaded: loaded (/lib/systemd/system/ejabberd.service; enabled; preset: enabled)
Active: active (running) since Sun 2024-06-09 21:21:41 CEST; 6s ago
Docs: https://www.process-one.net/en/ejabberd/docs/
Main PID: 3664214 (sh)
Tasks: 116 (limit: 77002)
Memory: 111.9M
CPU: 3.022s
CGroup: /system.slice/ejabberd.service
</code></pre>
<p>Now that the ejabberd service has restarted successfully, we can register the admin user:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/10 ] [~]
→ ejabberdctl register nihilist nowhere.moe P@SSW0RD
User nihilist@contact.nowhere.moe successfully registered
</code></pre>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Setup</b></h2> </br> </br>
<p>Now the xmpp server is active, along with your nihilist user, so let's connect to it from a XMPP client like gajim:</p>
<pre><code class="nim">
[ mainpc ] [ /dev/pts/8 ] [~]
→ sudo apt install gajim -y
</code></pre>
<img src="1.png" class="imgRz">
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
</code></pre>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
</code></pre>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
</code></pre>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="anon1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Setup</b></h2> </br> </br>
<p></p>
<pre><code class="nim">
</code></pre>
<p></p>
<pre><code class="nim">
</code></pre>
<p></p>
<pre><code class="nim">
</code></pre>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 202 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 364 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 287 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@ -1,481 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>XMPP Chat Server Setup (Clearnet + Onion + OMEMO E2EE)</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-anon navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-anon" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a></br></br><p><img src="../../assets/img/user.png" width="50px" height="50px"> <ba>nihilist@mainpc - 2024-08-05</ba></p>
<h1>XMPP Chat Server Setup (Clearnet + Onion + OMEMO E2EE)</h1>
<p>In this tutorial, we're going to check out how to setup a XMPP chat server, that is accessible over Tor, as a hidden service, using Prosody. We'll also cover how to have a Clearnet XMPP server, and how to have OMEMO End to End encryption using the Gajim XMPP client.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="anon3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>XMPP Onion Server Setup </b></h2>
<p>Before starting, check out <a href="../torwebsite/index.html">this</a> tutorial on how to create your first hidden service.</p>
<pre><code class="nim">
root@ANON-home:~# apt install prosody prosody-modules lua-unbound -y
root@ANON-home:~# prosodyctl about
/var/lib/prosody/custom_plugins - not a directory!
/usr/local/lib/prosody/modules - not a directory!
/var/lib/prosody/custom_plugins/share/lua/5.4/?.lua
/var/lib/prosody/custom_plugins/share/lua/5.4/?/init.lua
root@ANON-home:~# mkdir /var/lib/prosody/custom_plugins
root@ANON-home:~# mkdir /usr/local/lib/prosody/modules -p
</code></pre>
<p>Then, we make sure that the tor hidden service includes the XMPP ports:</p>
<pre><code class="nim">
root@ANON-home:# vim /etc/tor/torrc
root@ANON-home:# cat /etc/tor/torrc
HiddenServiceDir /var/lib/tor/onions/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion/
[...]
HiddenServicePort 5222 127.0.0.1:5222
HiddenServicePort 5269 127.0.0.1:5269
HiddenServicePort 5280 127.0.0.1:5280
HiddenServicePort 5281 127.0.0.1:5281
root@ANON-home:# systemctl restart tor@default
</code></pre>
<p>Here, my hidden service is aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion, let's check that the mod_onions module is installed and configure the prosody.cfg.lua file:</p>
<pre><code class="nim">
root@ANON-home:~# ls /usr/lib/prosody/modules/mod_onions
mod_onions.lua
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
[...]
VirtualHost "localhost"
-- Prosody requires at least one enabled VirtualHost to function. You can
-- safely remove or disable 'localhost' once you have added another.
VirtualHost "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion"
modules_enabled = {"onions"};
onions_only = true;
disco_items = {
{"conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion","Public Chatroom"},
{"upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion","Public Chatroom"}
}
Component "conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "muc"
modules_enabled = { "onions" };
onions_only = true;
Component "upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "http_file_share"
modules_enabled = { "onions" };
onions_only = true;
[...]
</code></pre>
<p></p>
<pre><code class="nim">
root@ANON-home:~# prosodyctl cert generate aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
Choose key size (2048):
<b>Key written to /var/lib/prosody/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion.key</b>
Please provide details to include in the certificate config file.
Leave the field empty to use the default value or '.' to exclude the field.
countryName (GB):
localityName (The Internet):
organizationName (Your Organisation):
organizationalUnitName (XMPP Department):
commonName (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion):
emailAddress (xmpp@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion):
<b>Config written to /var/lib/prosody/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion.cnf
Certificate written to /var/lib/prosody/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion.crt</b>
root@ANON-home:~# prosodyctl check
[...]
Checking certificates...
Checking certificate for conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
certmanager info No certificate present in SSL/TLS configuration for conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion. SNI will be required.
No 'certificate' found for conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
Checking certificate for localhost
certmanager info No certificate present in SSL/TLS configuration for localhost. SNI will be required.
No 'certificate' found for localhost
Checking certificate for upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
certmanager info No certificate present in SSL/TLS configuration for upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion. SNI will be required.
No 'certificate' found for upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
Checking certificate for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
certmanager info No certificate present in SSL/TLS configuration for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion. SNI will be required.
No 'certificate' found for aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
For more information about certificates please see https://prosody.im/doc/certificates
Problems found, see above.
root@ANON-home:# mv /var/lib/prosody/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion.* /etc/prosody/certs/
</code></pre>
<p></p>
<pre><code class="nim">
root@ANON-home:/etc/prosody/certs# prosodyctl adduser nihilist@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion
Enter new password:
Retype new password:
#if you want to create users in batch:
root@ANON-home:/etc/prosody/certs# prosodyctl adduser testuser aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion p4ssw0rd
root@ANON-home:/etc/prosody/certs# systemctl restart prosody
root@ANON-home:/etc/prosody/certs# systemctl status prosody
● prosody.service - Prosody XMPP Server
Loaded: loaded (/lib/systemd/system/prosody.service; enabled; preset: enabled)
Active: active (running) since Mon 2024-08-05 22:02:47 CEST; 4s ago
Docs: https://prosody.im/doc
Main PID: 3419 (lua5.4)
Tasks: 1 (limit: 4653)
Memory: 7.8M
CPU: 139ms
CGroup: /system.slice/prosody.service
└─3419 lua5.4 /usr/bin/prosody -F
Aug 05 22:02:47 ANON-home systemd[1]: Started prosody.service - Prosody XMPP Server.
</code></pre>
<p>all good now, now let's connect to it using pidgin:</p>
<pre><code class="nim">
[ mainpc ] [ /dev/pts/9 ] [~/Nextcloud/blog]
→ apt install pidgin -y
[ mainpc ] [ /dev/pts/9 ] [~/Nextcloud/blog]
→ pidgin
</code></pre>
<p>Then, create your account on the XMPP server:</p>
<img src="1.png" class="imgRz">
<img src="2.png" class="imgRz">
<img src="3.png" class="imgRz">
<img src="4.png" class="imgRz">
<img src="6.png" class="imgRz">
<img src="5.png" class="imgRz">
<p>Next, we can start chatting with Alice, who is another user on that XMPP server like so:</p>
<img src="7.png" class="imgRz">
<p>Then from Alice's XMPP client, we accept nihilist's buddy request:</p>
<img src="8.png" class="imgRz">
<img src="9.png" class="imgRz">
<img src="10.png" class="imgRz">
<img src="11.png" class="imgRz">
<p></p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Optional XMPP server options:</b></h2> </br> </br>
<p>if you want to enable message archiving, enable the "mam" module by uncommenting it:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
[...]
modules_enabled = {
"mam"; -- Store recent messages to allow multi-device synchronization
}
[...]
</code></pre>
<p>and then you can mention the expiration time of messages like so:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
archive_expires_after = "1w" -- remove archived messages after 1 week
</code></pre>
<p>you can choose to limit the bandwidth usage of your server too, using the mod_limits module:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
limits = {
c2s = {
rate = "10kb/s";
}
s2sin = {
rate = "30kb/s";
}
}
</code></pre>
<p>You can also enable archiving on the multi-user chats like so :</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
Component "conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "muc"
modules_enabled = { "onions", "muc_mam" };
onions_only = true;
</code></pre>
<p>And just like in mod_mam, you can set the expiration time of the messages in MUCs:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
Component "conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "muc"
modules_enabled = { "onions", "muc_mam" };
onions_only = true;
muc_log_expires_after = "1w"
</code></pre>
<p>Then, you can also enable file archiving using mod_http_file_share:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
Component "upload.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "http_file_share"
modules_enabled = { "onions" };
onions_only = true;
http_file_share_daily_quota = 100*1024*1024; -- 100 MiB
http_file_share_after = 7*86400; -- One week in seconds
http_file_share_size_limit = 10*1024*1024 -- 10 Mib
</code></pre>
<p>Then, as you're going to have a multi user chat, you'll most likely need the mod_muc_moderation module:</p>
<pre><code class="nim">
root@ANON-home:~# vim /etc/prosody/prosody.cfg.lua
root@ANON-home:~# cat /etc/prosody/prosody.cfg.lua
Component "conference.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.onion" "muc"
modules_enabled = { "onions", "muc_mam", "muc_moderation" };
onions_only = true;
muc_log_expires_after = "1w"
</code></pre>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>XMPP Clearnet Server Setup</b></h2> </br> </br>
<p>First edit prosody.cfg.lua like so :</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/3 ] [~]
→ vim /etc/prosody/prosody.cfg.lua
[...]
VirtualHost "nowhere.moe"
ssl = {
certificate = "/etc/ssl/nowhere.moe/fullchain.cer";
key = "/etc/ssl/nowhere.moe/nowhere.moe.key";
}
VirtualHost "nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion"
[...]
</code></pre>
<p>Then copy the existing acme.sh certificates for nowhere.moe into another non-root directory, otherwise prosody wont be able to read them:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/4 ] [/etc/ssl/nowhere.moe]
→ mkdir -p /etc/ssl/nowhere.moe/
[ Datura ] [ /dev/pts/4 ] [/etc/ssl/nowhere.moe]
→ cp -r /root/.acme.sh/nowhere.moe/* /etc/ssl/nowhere.moe
[ Datura ] [ /dev/pts/4 ] [/etc/ssl/nowhere.moe]
→ sudo setfacl -R -m u:prosody:rx /etc/ssl/nowhere.moe/
[ Datura ] [ /dev/pts/4 ] [/etc/ssl/nowhere.moe]
→ sudo -u prosody cat /etc/ssl/nowhere.moe/nowhere.moe.cer
-----BEGIN CERTIFICATE-----
MIIF5zCCBM+gAwIBAgISBCVaPZeC38+C4bWEm3yPX1LMMA0GCSqGSIb3DQEBCwUA
MDMxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQwwCgYDVQQD
EwNSMTAwHhcNMjQwODExMjAyMjI5WhcNMjQxMTA5MjAyMjI4WjAWMRQwEgYDVQQD
Ewtub3doZXJlLm1vZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJPO
[...]
-----END CERTIFICATE-----
</code></pre>
<p>to copy it once a day to the correct folder, you can do it via cronjob:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/7 ] [~]
→ crontab -e
0 0 * * * cp -r /root/.acme.sh/nowhere.moe/* /etc/ssl/nowhere.moe ; setfacl -R -m u:prosody:rx /etc/ssl/nowhere.moe ; systemctl restart prosody
</code></pre>
<p>Then, don't forget to create the clearnet user:</p>
<pre><code class="nim">
[ Datura ] [ /dev/pts/7 ] [~]
→ prosodyctl adduser usertest usertestpwd
[ Datura ] [ /dev/pts/7 ] [~]
→ prosodyctl passwd usertest@nowhere.moe
</code></pre>
<p>Then you can just connect to the XMPP server over clearnet aswell, but one thing to note is that pidgin is limited when it comes to encrypting chats, so let's use Gajim instead as it comes with OMEMO encryption out of the box:</p>
<pre><code class="nim">
user@laptop: apt install gajim -y
</pre></code>
<img src="12.png" class="imgRz">
<img src="13.png" class="imgRz">
<img src="14.png" class="imgRz">
<img src="15.png" class="imgRz">
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="anon2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>XMPP OMEMO End to End Encryption (E2EE)</b></h2> </br> </br>
<img src="16.png" class="imgRz">
<img src="17.png" class="imgRz">
<img src="18.png" class="imgRz">
<img src="19.png" class="imgRz">
<img src="20.png" class="imgRz">
<img src="21.png" class="imgRz">
<img src="22.png" class="imgRz">
<p>Now here, you need to tell the other peer (if they don't have OMEMO enabled) to install a XMPP client like gajim, just like you, to use OMEMO encryption just like you, to have end to end encryption.</p>
<img src="23.png" class="imgRz">
<img src="25.png" class="imgRz">
<img src="26.png" class="imgRz">
<img src="27.png" class="imgRz">
<img src="28.png" class="imgRz">
<img src="29.png" class="imgRz">
<img src="30.png" class="imgRz">
<p>And that's it! you now have a XMPP server working over both Clearnet, and Tor, with end to end encryption.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="anonb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

View File

@ -157,21 +157,21 @@ This is essentially the opposite of indulging into too much pleasure, which woul
<p>With the cold water flowing down from the head downward onto the rest of your body, stay immobile, with your joined hands together. Stop breathing through your mouth, only breathe through your nose, and try to breathe more slowly, in a controlled manner.</p>
<p><u>Controlling the Mind:</u></p>
<p>In that same posture, once your Body is firmly in your control, and breathing steadily, see if you can think up the Nihilism mantras with each inhalation and exhalation:</p>
<p>In that same posture, once your Body is firmly in your control, and breathing steadily, see if you can think up the <a href="../nihilism/index.html">3 Nihilism Mantras</a> with each inhalation and exhalation:</p>
<pre><code class="nim">
<a href="../opus-nihil/index.html">Dissolving Compulsions:</a>
Inhalation: I want nothing
Exhalation: I need Nothing
Dissolving Beliefs:
Inhalation: I know nothing
Exhalation: I know nothing else
Dissolving the Self:
Inhalation: I am nothing
<a href="../sum-nihil/index.html">Sum Nihil:</a> to dissolve your identities
Inhalation: I am nothing,
Exhalation: I am noone
</pre></code>
<a href="../scio-nihil/index.html">Scio Nihil:</a> to dissolve your beliefs
Inhalation: I know nothing,
Exhalation: I know nothing else
<a href="../opus-nihil/index.html">Opus Nihil:</a> to dissolve your compulsions
Inhalation: I want nothing,
Exhalation: I need nothing
</code></pre>
<p>You will see, in that stressful situation it will not be easy to get your mind to repeat those mantras with each inhalation and exhalation consistantly, but once you are able to do that, while doing your daily cold exposure, this is when both your mind, and your body are taking instructions from you. This is when you can truly say that you have chosen <a href="../discipline/index.html">Discipline over Comfort.</a></p>
</div>
</div><!-- /row -->

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 481 KiB

View File

@ -1,437 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>SRVNAME Setup</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<style>
@import url('https://fonts.upset.dev/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
.readable {
font-family: Inter;
font-weight: 500;
line-height: 150%;
}
</style>
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-productivity navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-productivity" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a>
<h1>Preparing the Body - Diet to favor cerebral activity</h1>
<h4>The article initially covers the misinformation and disinformation regarding macronutrients in the pharma-industry. It is highly recommended to read.</h4>
<br>
<h4>or <a href="#relevant">skip to main content</a></h4>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="productivity3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h1 style="font-size: 500%; text-align: center;"><b>Sugar is public enemy #1</b></h1>
<h3 class="readable">Sugar (especially refined) is the worst thing to eat because it is a poison to
your body.
<br><br>
It is a simple carbohydrate that is quickly absorbed into the bloodstream, causing a spike in
blood sugar levels. This can lead to a number of health problems, including:
<h4 class="readable">
<ul>
<li>Weight gain: Sugar is a high-calorie food that can contribute to weight gain if it
is consumed in excess.</li>
<br>
<li>Type 2 diabetes: Sugar can increase your risk of developing <strong>type 2
diabetes</strong> by
causing insulin resistance. Insulin is a hormone that helps the body use glucose for
energy. When you eat sugar, your body produces insulin to help lower your blood
sugar levels. However, if you eat too much sugar, your body can become resistant to
insulin, which can lead to type 2 diabetes.</li>
<br>
<li>Heart disease: Sugar can increase your risk of developing heart disease by raising
your blood pressure abnormally and bad cholesterol levels.</li>
<br>
<li>Stroke: Sugar can increase your risk of having a stroke by damaging the blood
vessels in your brain.</li>
<br>
<li>Cancer: Sugar can increase your risk of developing cancer by promoting the growth of
cancer cells.</li>
<br>
<li>Tooth decay: Sugar is a major cause of tooth decay. When you eat sugar, the bacteria
in your mouth feed on it and produce acids that can damage your teeth. This can also
rarely result in decay of nerves in the mouth and worse consequences.</li>
</ul>
</h4>
</h3>
<h3 class="readable"><br><br>
The worst part about sugar (and also many "anti-depressants" - more on them later) is instant
gratification.
<br><br>
It is like putting a band-aid on a deep wound and telling that it'll heal. It will not.
<br></b>
Sugar intake triggers the release of dopamine - the 'feel good hormone'.
<br><br>
However, the sudden increase in blood-sugar levels are coupled with insulin, which decreases the
amount of blood-sugar level, that dips down the already dropping dopamine level.
<br><br>
Continuous cycles of this leads to what's called the "Dopamine Baseline Level" increasing more
than
decreasing. This causes your body to get used to high levels of dopamine - which is directly
related
to happiness, motivation, desire for hard work, and good mental health.
</h3>
<br><br>
<h3 style="color: rgb(255, 254, 199); box-shadow: 0px 0px 15px 15px rgba(255, 0, 0, 0.541);">
Therefore, in a nutshell, the greater the sugar (high dopamine) intake, the more that the
baseline bloats, so the tasks that felt rewarding are now way less rewarding. As a result, you
now want more sweets to feel good than earlier, you want more 'junk food' to feel good than
earlier, and so on.
</h3>
<br><br>
<h3>The graph below tries to illustrate how it works.</h3>
<br>
<img src="dopamine-tolerance.png" class="imgRz">
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>(cis, unsaturated) Fats are good for you</b></h2> </br> </br>
<h4 class="readable"> Now that the sugar is our of our way, we are already very healthy. Now its
time
to gain healthy energy instead of the unhealthy one that sugar gives. </h4>
<br>
<h2>Benefits of unsaturated fats</h2>
<h3>
<ul>
<li>Improving brain function: Unsaturated fats are essential for brain development and
function.</li>
<br>
<li><u>They can help to improve memory, learning, and mood.</u> They are directly responsible for the cognitive speed of your brain as they enhance the transmission of electric signals among neurons.</li>
<br>
<li><u>Reducing the risk of cancer:</u> Unsaturated fats have been shown to reduce the risk of
some types of cancer, such as breast cancer and colon cancer.</li>
<br>
<li><u>Improving bone health:</u> Unsaturated fats can help to improve bone health by
increasing the
absorption of calcium.</li>
</ul>
</h3>
<br><br>
<h3 class="readable">Essential fatty acids (EFAs) like 'Omega 3', 'Omega 6' are crucial for cognitive (thinking, learning, remembering, logical analysis) functions of the brain.
<br><br>
Omega-3 fatty acids are essential fatty acids that are important for brain development and function, and they have been shown to protect against cognitive decline.
<br><br>
Omega-6 fatty acids are essential fatty acids that are important for the production of hormones and other signaling molecules.
</h3>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="productivity1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Cholestrol is bad for you!!.......................right..?</b></h2> </br> </br>
<h3 class="readable">One of the biggest lies we've been told is that cholestrol is bad for you. You might've heard doctors say that it clogs your arteries and that you should avoid cholestrol at all costs.</h3>
<br><br>
<h3 class="readable">Let me list the things cholesterol is actual responsible for.</h3>
<h4 class="readable">
<ol>
<li>Sex hormones - Testosterone (& derivatives) and Estrogen (& derivatives)</li>
<br>
<li>Reduces various types of Cancers</li>
<br>
<li>Protects brain from internal damage</li>
<br>
<li>Essential for many bodily functions, including other hormones' production and cell growth</li>
<br>
<li>Decreasing inflammation (especially the one caused by bad (shit) seed oils and our dear poison - Sugar)</li>
</ol>
</h4>
<br><br>
<hr>
<h2 style="text-align: center;"><b>Critical Note</b></h2>
<h4 class="readable">When you eat a lot of carbohydrates (explaination coming up), the fats you eat are stored in the body as reserve energy, which realistically, in today's day and age, we don't need.
<br><br>
This localisation of fats (near gut and face in males, near thighs and over the time near mammary glands in females) is often indicated by low LDL (chemical that transports cholesterol and fat around) yet high cholestrol; that is, there's fat being moved around the blood but is not used, thus it often gets clogged in the arteries and bulks up as what we know as fats, in front of the belly.
<br><br>
Because doctors are trained by schools affiliated with Big Pharma (we'll talk about in a bit), their immediate reaction to this is to decrease fats and increase carbs (carbohydrates) in your diet.
<br><br>
Your body prefers burning carbohydrates because carbohydrates (including sugars) have high energy density than proteins and need less power to break down than fats. However, the energy gained from burning the carbohydrates is unclean energy and the side products are often bad for you.
<br><br>
When you start eating even more carbohydrates and decrease the amount of fat, all you're doing is keeping the old fat in its place and adding more fat to the pile, all while burning more dirty energy.
<br><br>
However, what the big pharma (+ google) does not tell you is that the best way to get rid of <u>body fat</u> and the cholestrol clog in your arteries, is decrease the amount of carbohydrates you eat <u><b>drastically</b></u>.
<br><br>
This stops the body from 1. Burning dirty energy, and 2. Start using up the fat reserve and start moving the cholestrol and fats with the help of LDL.
<br><br>
As we talked about fats being more energy dense and cleaner than carbohydrates, your body now burns fats without feeling heavily lathargic. This also unclogs the arteries because now your body is in a state of burning fats for energy and it needs as much fats as it can to burn and give you energy.
<br><br>
Some people unfortunately, are born with really rare genetic mutation where they can not digest healthy plant-based cholestrols/oils (sitosterol/Beta-sitosterol) from sources like Avocado and Olive and end up clogging it up in the arteries. Again, this is SUPER RARE and you probably do not have it unless you had to go to a doctor and the doctor said that to you.
</h4>
<hr>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Third Post +++++ -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>"Food Pyramid" - the most successful business campaign</b></h2>
<br>
<img src="food-pyramid1.jpg" class="imgRz">
<br><br>
<h3 class="readable">
After what was said earlier about fats being essential and the only way to not have body fat and feel lathargic while also having a sane functioning non-brain-foggy focused mind is to drastically decrease the carbohydrate intake and increase the (healthy) fat intake, have a very close look to the pyramid.
<br><br>
What does it say?
<h4>
<li>Mostly eat carbohydrates.</li>
<li>Eat really less amounts of fats.</li>
<li><u>Eat less salt</u> (more on that below).</li>
</h4>
</h3>
<br><br>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<div id="productivity1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Big Pharma's Deception</b></h2> </br> </br>
<h3>If this wasn't enough, lets look at how the "normal levels" of certain things in our blood have changed in just 40 years.</h3>
<br>
<img src="normal-levels.png" class="imgRz">
<h4>I have people running after me telling me that all of this is alright and that even if they (organisations) are affiliated with pharmaceutical companies, they wouldn't lie.
<br><br>
They said the same thing about our privacy btw. Yet here we are.
</h4>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="productivity2">
<div class="container">
<div class="row">
<div id="relevant" class="col-lg-8 col-lg-offset-2">
<h1 style="font-size: 400%; text-align: center;"><b>Preparing the body</b></h1>
<br>
<h3>Now that we have understood the reality of the necessary macronutrients and how we should not blindly let a company control our health, lets look at how do we successfully implement it</h3>
<br><br>
<h2>Lets go through how you can improve your diet step-by-step:</h2>
<h3>
<ol>
<li>Cutting out the Sugar.</li>
<br>
<li>Calculating BMI</li>
<br>
<li>Blood test [CBC/Cholestrol/Blood-sugar/Sex-hormone]</li>
<br>
<li>Fulfilling your body's <u>needs</u></li>
<!-- Hunger, Your body's *needs*, Hydration -->
<br>
<li>Exercise and Yoga</li>
<!-- benefits, what to do according to your physical status -->
<br>
<li>Further steps</li>
<!-- Cold Exposure, Vitamins, little gist of effect of walks and runs on body and mind (then will link to the "planning the work") -->
</ol>
</h3>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Footer Section +++++ -->
<div id="productivityb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br>
<p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS
Feed</a><br /><a target="_blank" rel="noopener noreferrer"
href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX
Chat</a><br />
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u>
8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8
</p></br>
<p><u>Contact:</u> nihilist@contact.nowhere.moe (<a
href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -102,8 +102,8 @@
<div style="float: left; width: 100%;">
<ol>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/123"> The right thing to do: What is the reason behind your actions?</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/125"> Macro Workflow: Listing Topics that truly matter</a></li>
<li><a href="rightthing/index.html"> The right thing to do: What is the reason behind your actions?</a></li>
<li><a href="macroworkflow/index.html"> Macro Workflow: Listing Topics that truly matter</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/137">❌ Reflecting: How to use graphs to help Brainstorming ideas (draw.io)</a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/126">❌ Micro Workflow: Todo Listing, Contextualizing, and Ordering Tasks </a></li>
<li><a href="https://git.nowhere.moe/nihilist/blog-contributions/issues/135">❌ Reflecting: Brainstorming Ideas while on the run</a></li>

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

View File

@ -0,0 +1,239 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>Macro Workflow: Listing Topics that truly matter</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-productivity navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-productivity" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a>
<h1>Macro Workflow: Listing Topics that truly matter </h1>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="productivity3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>The reason behind your actions </b></h2>
<p>As we have discussed <a href="../rightthing/index.html">previously</a> you'll work at your best effort if you're convinced that what you're doing is the right thing to do. What the right thing to do may be for you, may be different for other people, but to make it short, shifting the activity in your life from being about you, to being about the world and the greater good, marks growth both in maturity and in fulfillment.</p>
<img src="1.png" class="imgRz">
<p>So when you are looking at the 3 main reasons you may act for something greater than yourself, you may find yourself looking for the following three:</p>
<pre><code class="nim">
To Purify
To Percieve
To Transcend
</pre></code>
<p>To get yourself some ideas, just go around the world (physically or digitally) and look what you feel is missing. Over the course of the years on this blog i discovered many, many topics:</p>
<pre><code class="nim">
-Hacking: Web, Binary, Physical, Hardware, Binexp, Bruteforcing, Privilege Escalations, MITM, AV evasions, etc.
-Sysadmin: Decentralisation, Self-hosting, Federation, Privacy front-ends, etc
-Opsec: Privacy, Anonymity, Deniability, etc
</pre></code>
<p>My passion shifted from Hacking to Sysadmin, and from Sysadmin to Opsec over the years. The reasoning behind leaving hacking behind is that finding what developers forgot to take into account when designing their software or their infrastructure it isn't truly fulfilling for me, even though it has given me a very clear and diverse picture of what cybersecurity was. I learned the methodology to follow to start from an IP and arrive at the root user, and after applying it a few dozens of times it's gotten crystal clear and boring. </p>
<p>Sysadmin wise, i felt like having tangible utility after each tutorial. You learn how to setup something for yourself, at the same time you show everyone how to do it, and in the end you can use the service for your own infrastructure at home. Here it starts to benefit the individuals and it was more fulfilling already. But upon looking at what was missing around the world, i came around the obvious governments attacking people's basic rights of privacy and anonymity. Hence the shift i made to Operational Security topics.</p>
<p>The 2 main topics i cover currently are Opsec, and the a secondary topic: Productivity. As this is also something i've seen that is missing in people, they all look either bored or are feeling completely lost in their lives. I'm firmly convinced that these 2 are currently essential and are 100% worth diving into.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Listing Topics</b></h2> </br> </br>
<p>Now that you have the full reasoning behind how to pick new topics, let's list them and categorize them:</p>
<pre><code class="nim">
For the world
-Blog
-Project Opsec
-Project Productivity
-Fediverse
-Privacy Front-ends
For yourself
-Life
-Apartment / House
-Wedding
-School
-School Project A
-School Project B
-School Project C
-Work
-Work Project X
-Work Project Y
-Work Project Z
</code></pre>
<p>For myself i have a few typical topics that literally everyone eventually has in their lives, such as getting an apartment/house, having a successful relationship, going to school and going to work.</p>
<p>And for the world, i have a few topics, keeping up with my blog, with Opsec as the primary activity, and Productivity as the secondary activity. And i also have a few other side projects like contributing to the fediverse and hosting privacy front-ends.</p>
<p>When listing topics, <b>rank them from top (most important) to bottom (least important).</b> This is not a reason to spend 100% of your time on your passion. but it is a reason to spend at least 50% of your free time on what truly matters to you, and to reduce the other topics that don't matter to you to their strict minimum.</p>
<p>For instance, the time i wish to consecrate on my blog would collide with that of keeping a family life, so i made the choice to reduce the personal topics (including family life) to their strict minimum. So that i could spend most of my free time doing what i feel truly matters to me.</p>
<p>Obviously there are topics that are inevitable such as going to school and to work, you'll anyway have to do those two. But what you're doing for the rest of your time is entirely up to you. Don't start engaging yourself into topics that don't truly matter to you. Life is to short to waste it on that which means nothing to you.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="productivity1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>Labeling and Ordering Topics</b></h2> </br> </br>
<p>Aside from ranking the importance of each topic (most important at the top, least important at the bottom), you need to label them like so:</p>
<pre><code class="nim">
For the world (1)
-Blog (11)
-Project Opsec(111)
-Project Productivity (112)
-Fediverse (12)
-Privacy Front-ends(13)
For yourself (2)
-Life (21)
-Apartment / House (211)
-Wedding (212)
-School (22)
-School Project A (221)
-School Project B (221 -> 222)
-School Project C (222 -> 223)
-Work (23)
-Work Project X (231)
-Work Project Y (232)
-Work Project Z (231 + 232 -> 233)
</code></pre>
<p>Labeling them will first help you contextualize the topics and sub topics you have, so you know where they fit:</p>
<pre><code class="nim">
For the world (1)
-Blog (11)
-Project Opsec(111)
-Project Productivity (112)
</code></pre>
<p>For instance, as the Opsec topic is labeled 111, i know it is in the context of the blog (11) which is in the context of my "for the world" topics (1)</p>
<p>Then, thanks to labels, you can easily list what topics (and subtopics) depend on one another:</p>
<pre><code class="nim">
For yourself (2)
-School (22)
-School Project A (221)
-School Project B (221 -> 222)
-School Project C (222 -> 223)
-Work (23)
-Work Project X (231)
-Work Project Y (232)
-Work Project Z (231 + 232 -> 233)
</code></pre>
<p>For instance here, the school project C (223) depends on school project B (222), which depends on school project A (221). Therefore i know i need to do the school projects in the correct order: A, then B, then C.</p>
<p>For the work projects here, we have Project Z (233) which depends on projects X (231) and Y (232). Therefore i know i can do them in 2 different orders: X, Y then Z, or in the other order: Y, X and then Z. </p>
<p>Accurate planning is crucial especially if you're going to have a ton of topics like i have under Opsec, you need to know which topics depend on which other topics, to be able to know in which order you're going to do them, hence the labeling need.</p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="productivityb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

View File

@ -0,0 +1,164 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<link rel="shortcut icon" href="../../../../../../assets/img/favicon.png">
<title>Micro Workflow: Todo Listing, Contextualizing, and Ordering Tasks</title>
<!-- Bootstrap core CSS -->
<link href="../../assets/css/bootstrap.css" rel="stylesheet">
<link href="../../assets/css/xt256.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../../assets/css/main.css" rel="stylesheet">
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Static navbar -->
<div class="navbar navbar-inverse-productivity navbar-static-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand-productivity" href="\index.html">The Nihilism Blog</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav navbar-right">
<li><a href="/about.html">About</a></li>
<li><a href="/blog.html">Categories</a></li>
<li><a href="https://blog.nowhere.moe/donate.html">Donate</a></li>
<li><a href="/contact.html">Contact</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<!-- +++++ Posts Lists +++++ -->
<!-- +++++ First Post +++++ -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<a href="../index.html">Previous Page</a>
<h1>Micro Workflow: Todo Listing, Contextualizing, and Ordering Tasks </h1>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /grey -->
<!-- +++++ Second Post +++++ -->
<div id="productivity3">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>a </b></h2>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
</code></pre>
<p></p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<div id="productivity2">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>b</b></h2> </br> </br>
<p></p>
<img src="" class="imgRz">
<pre><code class="nim">
</code></pre>
<p></p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Second Post +++++ -->
<div id="productivity1">
<div class="container">
<div class="row">
<div class="col-lg-8 col-lg-offset-2">
<h2><b>c</b></h2> </br> </br>
<p></p>
<pre><code class="nim">
</code></pre>
<p></p>
</div>
</div><!-- /row -->
</div> <!-- /container -->
</div><!-- /white -->
<!-- +++++ Footer Section +++++ -->
<div id="productivityb">
<div class="container">
<div class="row">
<div class="col-lg-4">
<h4>Nihilism</h4>
<p>
Until there is Nothing left.</p></br></br><p>Creative Commons Zero: No Rights Reserved</br><img src="\CC0.png">
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>My Links</h4>
<p>
<a target="_blank" rel="noopener noreferrer" href="http://blog.nowhere.moe/rss/feed.xml">RSS Feed</a><br/><a target="_blank" rel="noopener noreferrer" href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FL5jrGV2L_Bb20Oj0aE4Gn-m5AHet9XdpYDotiqpcpGc%3D%40nowhere.moe%2FH4g7zPbitSLV5tDQ51Yz-R6RgOkMEeCc%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAkts5T5AMxHGrZCCg12aeKxWcpXaxbB_XqjrXmcFYlDQ%253D&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22c3Y-iDaoDCFm6RhptSDOaw%3D%3D%22%7D">SimpleX Chat</a><br/>
</p>
</div><!-- /col-lg-4 -->
<div class="col-lg-4">
<h4>About nihilist</h4>
<p style="word-wrap: break-word;"><u>Donate XMR:</u> 8AUYjhQeG3D5aodJDtqG499N5jXXM71gYKD8LgSsFB9BUV1o7muLv3DXHoydRTK4SZaaUBq4EAUqpZHLrX2VZLH71Jrd9k8</p></br><p><u>Contact:</u> nihilist@contact.nowhere.moe (<a href="https://nowhere.moe/nihilist.pubkey">PGP</a>)</p>
</div><!-- /col-lg-4 -->
</div>
</div>
</div>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
</body>
</html>

View File

@ -84,7 +84,7 @@ What your compulsions are
</code></pre>
<p>There is a common belief that people have, that for some reason these are determined from the start and they cannot be changed.</p>
<p>Over time, the more identified you are with those 3 facets of your mind, the more you reinforce them, with enough cycles. At some point they may become so reinforced that you cannot just break free from the cycles you have indulged into, and you may feel trapped within your own mind. That is usually where depression comes from, your inability to rewrite your mind as you see fit, essentially a loss of control over your own mind.</p>
<p>Over time, the more identified you are with those 3 facets of your mind, the more you reinforce them, with enough cycles, at some point they may become so reinforced that you cannot just break free from the cycles you have indulged into, and you may feel trapped within your own mind. That is usually where depression comes from, your inability to rewrite your mind as you see fit, essentially a loss of control over your own mind.</p>
<p>Control over your own mind is something you need to practice every day, if you want to make sure it keeps doing what you want it to do.</p>
<p>Now one facet of your own mind is that you can't just start thinking in terms of <b>"Ok now do not think about monkeys!"</b>. Your mind is like a car with no brakes, wherever you press it, it goes further into that direction.</p>
<p>Now the thing is, your intellect is like a knife. It is there to dissect. And your identities that you have picked up are all hands, that grab onto that knife. <b>The more identities you pick up, the more uncontrollable your handling of the knife is, the least you are able to have a quiet mind.</b> </p>

Some files were not shown because too many files have changed in this diff Show More