mirror of
http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions.git
synced 2025-07-02 11:56:40 +00:00
555 lines
31 KiB
HTML
555 lines
31 KiB
HTML
<!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 contribute to the Opsec Blog</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="anon3">
|
|
<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-10-06</ba></p>
|
|
<h1>How to contribute to The Nihilism Blog </h1>
|
|
<p>In this tutorial we're going to look at how you can contribute to the opsec blog, we'll look into how the work is being organized, and how to contribute via gitea.</p>
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /grey -->
|
|
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="anon2">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2>The Nihilism Blog Organisation</h2>
|
|
<p>First, look at all the blogposts that are yet to be completed from the <a href="../index.html">opsec index page</a> to see if there are some you'd like to do:</p>
|
|
<img src="1.png" class="imgRz">
|
|
<p>Each tutorial (even if completed) has it's own assigned issue on <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues">gitea</a>:</p>
|
|
<img src="1.5.png" class="imgRz">
|
|
<p>You can pick one that you'd like to do, if you see one that has a red cross you can click on it, it will redirect you to it's assigned gitea issue (example: <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/issues/61">Easy Private Chats - SimpleX</a>. If there is no todolist on each assigned gitea issue, you are free to brainstorm it like so:</p>
|
|
<img src="2.png" class="imgRz">
|
|
<p>If a blogpost gitea issue doesn't have a todolist yet, please follow this general template to write it:</p>
|
|
<pre><code class="nim">
|
|
Privacy - Easy Private Chats with SimpleX
|
|
|
|
To be explained:
|
|
- Graph of the targeted setup
|
|
- why is this setup relevant ? What are the threats ? What are we trying to achieve (Privacy / Anonymity / Deniability) ?
|
|
- what are your options ?
|
|
- comparing option A B and C
|
|
- In this tutorial we're going to use option B because it is superior due to these criterias blah blah blah
|
|
|
|
To be showcased:
|
|
- how to install the clientside application
|
|
- how to install the serverside application
|
|
- how to configure the application
|
|
- show that it works as intended
|
|
|
|
</pre></code>
|
|
<p>The idea being that each issue needs to have a clear todolist to bring clarity on what needs to be done in it. <b> Please check if the tutorial is already assigned to someone already or not:</b></p>
|
|
<img src="3.png" class="imgRz">
|
|
<p>At first, I am assigning only <b>one contributor per tutorial</b>, and only <b>one tutorial per contributor</b> at a time, with a <b>default deadline of 1 month</b>. to complete the assigned tutorial. (if you want to extend the deadline, you'll have to contact me first).</p>
|
|
<p>In short, please <b>choose a tutorial that is neither done, nor assigned yet</b>, you can check the status of each tutorial on the project board <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/projects/1">here</a>:</p>
|
|
<img src="4.png" class="imgRz">
|
|
<p>The list of tutorials that are not assigned yet are in the second column, once you have chosen one just ping me on <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">SimpleX</a> or in the <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FdXQ3FLM5ufTNQxgXU6jm07fRXSq9Ujkt%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAzABUDXe4g0bjXyPcNOU0QzWxMYMMGgR3kcOQacoEaQ0%253D&data=%7B%22groupLinkId%22%3A%22G3yklv9753AcNA7lGV3FBw%3D%3D%22%7D">Opsec SimpleX group chat</a>.</p>
|
|
<p>You can also submit a suggestion to me directly if you think this blog is missing something crucial, such as a brand new blogpost idea <b>(although make sure it remains on topic for Privacy / Anonymity / Deniability) i am NOT looking for regular Sysadmin tutorials here.</b> </p>
|
|
<p>If you think one of the existing tutorials is missing something, feel free to criticize them in their assigned issues (ping me when you do so, so i don't miss it):</p>
|
|
<img src="5.png" class="imgRz">
|
|
<p>After discussing with me what task you want to do, we'll confirm on the price for that tutorial and after i get your confirmation i'll assign it to you, and that's when you can start to work on it.</p>
|
|
<p><u>Disclaimer:</u> if you're not used to writing technical stuff, please aim for the tutorials that are labeled as "Simple" and that you actually understand. Don't try to bite more than you can chew, otherwise i might refuse further contributions coming from you. You should be at least familliar with the topic you intend to talk about.</p>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
<!-- +++++ Footer Section +++++ -->
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="anon3">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2>How to contribute new tutorials</h2>
|
|
<!--<p>Now you first need to sign up on gitea, if you want to maintain your anonymity feel free to get yourself a mailbox anonymously such as signing up on <a href="https://account.proton.me/mail/signup">protonmail</a> using the tor browser. and then use that email to sign up onto <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/user/sign_up">gitea</a> aswell. If you don't want to do either of those things, just <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">ping me directly on SimpleX</a> so that i create your account manually.</p>-->
|
|
<p>Now you first need to sign up on gitea, just <a href="https://simplex.chat/contact#/?v=2-7&smp=smp%3A%2F%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FpyfV2wlxrcepw8g2OHINsMNuVmpsZsAo%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAgePBM9B_duSC7yFaBWI8Dp_jJO62NpTwJN2wsAXeQis%253D&data=%7B%22groupLinkId%22%3A%22rrxS6sZIQHHjO9RUJsjrVA%3D%3D%22%7D">ping me directly on SimpleX</a> so that i create your account manually.</p>
|
|
<!--<img src="6.png" class="imgRz">
|
|
<img src="6.5.png" class="imgRz">
|
|
<img src="7.png" class="imgRz">
|
|
<img src="8.png" class="imgRz">-->
|
|
<p>From there, you can fork the repository, from your new account:</p>
|
|
<img src="9.png" class="imgRz">
|
|
<p>You can leave everything as default as shown below: </p>
|
|
<img src="10.png" class="imgRz">
|
|
<p>Now from there you continue from the commandline, do a git clone the repository you just forked, and do the edits you need to do:</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents]
|
|
→ apt install git tor torsocks -y
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents]
|
|
→ torsocks git clone http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/6dv9lk1pbaflulau/blog-contributions
|
|
Cloning into 'blog-contributions'...
|
|
remote: Enumerating objects: 3400, done.
|
|
remote: Counting objects: 100% (3400/3400), done.
|
|
remote: Compressing objects: 100% (2729/2729), done.
|
|
remote: Total 3400 (delta 1588), reused 2109 (delta 609), pack-reused 0 (from 0)
|
|
Receiving objects: 100% (3400/3400), 149.35 MiB | 6.82 MiB/s, done.
|
|
Resolving deltas: 100% (1588/1588), done.
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents]
|
|
→ cd blog-contributions
|
|
|
|
</pre></code>
|
|
<p>If you are reusing the repository after you're done sending pull requests, don't forget to do a git pull to make sure you're working on an up-to-date repository, as i am <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/commits/branch/main">frequently pushing commits</a>.</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [blog-contributions]
|
|
→ torsocks git pull http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/6dv9lk1pbaflulau/blog-contributions
|
|
|
|
</pre></code>
|
|
<p>Now that you're on the latest commit, you can start to do your own changes:</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ ls
|
|
assets index.html opsec productivity pull.sh push.sh pushtoprod.sh README.md
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ cd opsec
|
|
|
|
</pre></code>
|
|
<p>now from there you can copy the template tutorial folder called "0_anon" into another folder:</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [Documents/blog-contributions/opsec]
|
|
→ cp -r 0_anon newtutorial
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [Documents/blog-contributions/opsec]
|
|
→ cd newtutorial
|
|
|
|
</pre></code>
|
|
<p>In it you will find the index.html file that you can edit from the commandline still:</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [blog-contributions/opsec/newtutorial]
|
|
→ pwd
|
|
/home/nihilist/Documents/blog-contributions/opsec/newtutorial
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [blog-contributions/opsec/newtutorial]
|
|
→ ls
|
|
index.html
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [blog-contributions/opsec/newtutorial]
|
|
→ vim index.html
|
|
|
|
</pre></code>
|
|
<p>and you can also view your edits in real time from your browser of choice, just put the complete path to the index.html file to view it in real time, for me it is as follows: <b>/home/nihilist/Documents/blog-contributions/opsec/newtutorial/index.html</b> (just hit F5 to refresh in the browser, everytime you save (:w) in vim)</p>
|
|
<img src="11.png" class="imgRz">
|
|
<p>Make sure that you follow the quality standard i described <a href="../tutorial/index.html">here</a>: <b>start with the Why, then the What, then the How</b>. </p>
|
|
<p><u>DISCLAIMER:</u> We are not taking any shortcuts in this blog, I expect you to talk about the path, to list the steps that are on that path, <b>and more importantly want you to show the audience how YOU walk that path.</b></p>
|
|
<p>For the "How" parts specifically, as you are expected to explain and show the audience how to do things, <b>make sure you use images and screenshots like so:</b> </p>
|
|
<pre><code class="nim">
|
|
<<b></b>img src="12.png" class="imgRz">
|
|
|
|
</pre></code>
|
|
<img src="12.png" class="imgRz">
|
|
<p>To take screenshots like i do, you can use <a href="../compilation/index.html">flameshot</a>, it has everything you need for screenshots. When you take screenshots, dont forget to draw arrows to mention where the user needs to click, add text if something needs to be clarified, etc. and then save your screenshot in the same folder as your blogpost contribution (in this case, in <b>blog-contributions/opsec/new-tutorial</b>)</p>
|
|
<pre><code class="nim">
|
|
apt install flameshot -y
|
|
|
|
flameshot
|
|
|
|
</pre></code>
|
|
<img src="30.png" class="imgRz">
|
|
<p><u>Sidenote:</u> If you are showcasing any IRL steps to make, take pictures to explain what needs to be done, just like how i did when i showcased how to install <a href="../graphene/index.html">GrapheneOS</a>.</p>
|
|
<p>If you are showcasing a complex tutorial please make a graph to explain what you are talking about. One graph will convey the equivalent of a wall of text in one clear image, it's a matter of efficiently conveying information to the audience. I used to make graphs using yEd Graphs (but it's closed source) so instead as of q3 2024 i'm using Drawio to make them, both tools have got everything you need to write complex graphs.</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/3 ] [blog/opsec/manifesto]
|
|
→ apt search draw.io
|
|
Sorting... Done
|
|
Full Text Search... Done
|
|
draw.io/now 24.7.17 amd64 [installed,local]
|
|
draw.io desktop
|
|
|
|
[ mainpc ] [ /dev/pts/3 ] [blog/opsec/manifesto]
|
|
→ apt install draw.io
|
|
|
|
[ mainpc ] [ /dev/pts/3 ] [blog/opsec/manifesto]
|
|
→ drawio
|
|
|
|
</pre></code>
|
|
|
|
<img src="31.png" class="imgRz">
|
|
<img src="32.png" class="imgRz">
|
|
<img src="33.png" class="imgRz">
|
|
<img src="34.png" class="imgRz">
|
|
<img src="35.png" class="imgRz">
|
|
<p>If you want to use my logos for onymity, surveillance, centralisation, complexity, etc you can find them in the <b>blog-contributions/opsec/logos/</b> directory:</p>
|
|
<img src="36.png" class="imgRz">
|
|
<p>Then, i'll let you go through the <a href="https://www.drawio.com/doc/">drawio documentation</a> to learn how to use it, as there's alot to cover to add logos, change shapes, add text, add arrows, etc:</p>
|
|
<img src="37.png" class="imgRz">
|
|
<p>But in the end you should have a good looking graph like this one:</p>
|
|
<img src="38.png" class="imgRz">
|
|
<p>and if there are any commands (or terminal output) to be shown, <b>copy paste from your terminal directly into the index.html file</b> as this is going to help us save some disk space, into the <b>pre code blocks</b>:</p>
|
|
<pre><code class="nim">
|
|
<<b></b>pre><<b></b>code class="nim">
|
|
[ mainpc ] [ /dev/pts/20 ] [~/Nextcloud/blog]
|
|
→ vim index.html
|
|
|
|
<<b></b>/pre><<b></b>/code>
|
|
|
|
</pre></code>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/20 ] [~/Nextcloud/blog]
|
|
→ vim index.html
|
|
|
|
</pre></code>
|
|
<p>Preferably copy paste the command outputs into the pre code blocks, so we i can save on storage space as images take alot more space than regular text.</p>
|
|
<img src="13.png" class="imgRz">
|
|
<p>Then once your tutorial is finished, don't forget to edit the footer to contain your contact details, your links if you have any, <b>and your monero donation address (which is important as i use that address to pay you for your contribution)</b>.</p>
|
|
<p>Now your tutorial is ready to be sent over for review. So now you need to git push it to your forked repository like so:</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git config --global user.email "6dv9lk1pbaflulau@nowhere.moe"
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git config --global user.name "6dv9lk1pbaflulau"
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git add -A
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git commit
|
|
|
|
</pre></code>
|
|
<pre><code class="nim">
|
|
new tutorial contribution
|
|
# Please enter the commit message for your changes. Lines starting
|
|
# with '#' will be ignored, and an empty message aborts the commit.
|
|
#
|
|
# On branch main
|
|
# Your branch is up to date with 'origin/main'.
|
|
#
|
|
# Changes to be committed:
|
|
# new file: opsec/newtutorial/index.html
|
|
# modified: push.sh
|
|
|
|
ESC :wq
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git push
|
|
Username for 'http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion': 6dv9lk1pbaflulau
|
|
Password for 'https://6dv9lk1pbaflulau@git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion':
|
|
Enumerating objects: 7, done.
|
|
Counting objects: 100% (7/7), done.
|
|
Delta compression using up to 4 threads
|
|
Compressing objects: 100% (4/4), done.
|
|
Writing objects: 100% (4/4), 388 bytes | 388.00 KiB/s, done.
|
|
Total 4 (delta 3), reused 0 (delta 0), pack-reused 0
|
|
remote:
|
|
remote: Create a new pull request for '6dv9lk1pbaflulau:main':
|
|
remote: http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/compare/main...6dv9lk1pbaflulau:main
|
|
remote:
|
|
remote: . Processing 1 references
|
|
remote: Processed 1 references in total
|
|
To http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/6dv9lk1pbaflulau/blog-contributions
|
|
7c759d3..7067b5c main -> main
|
|
|
|
</pre></code>
|
|
<p>Now you have pushed your changes to your <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/6dv9lk1pbaflulau/blog-contributions">forked respository</a>, from there you can make a Pull request (asking me to pull in your changes, to the <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions">main repository</a>) as follows:</p>
|
|
<img src="14.png" class="imgRz">
|
|
<img src="15.png" class="imgRz">
|
|
<img src="16.png" class="imgRz">
|
|
<p>now from there your pull request is created, and i'll review it as soon as i get the time:</p>
|
|
<img src="17.png" class="imgRz">
|
|
<p>If it's not complete, i'll comment in there asking you to add what's missing, <b>changes that you must actually finish before the deadline.</b> To add further changes simply add more commits to it</p>
|
|
<pre><code class="nim">
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ vim opsec/newtutorial/index.html
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git add -A
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ git commit
|
|
|
|
forgot to do this change!
|
|
# Please enter the commit message for your changes. Lines starting
|
|
# with '#' will be ignored, and an empty message aborts the commit.
|
|
#
|
|
# On branch main
|
|
# Your branch is up to date with 'origin/main'.
|
|
#
|
|
# Changes to be committed:
|
|
# modified: opsec/newtutorial/index.html
|
|
|
|
ESC :wq
|
|
|
|
[main eb4b994] forgot to do this change!
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
[ mainpc ] [ /dev/pts/18 ] [~/Documents/blog-contributions]
|
|
→ torsocks git push
|
|
Username for 'http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion': 6dv9lk1pbaflulau
|
|
Password for 'https://6dv9lk1pbaflulau@git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion':
|
|
Enumerating objects: 9, done.
|
|
Counting objects: 100% (9/9), done.
|
|
Delta compression using up to 4 threads
|
|
Compressing objects: 100% (4/4), done.
|
|
Writing objects: 100% (5/5), 432 bytes | 432.00 KiB/s, done.
|
|
|
|
</pre></code>
|
|
<img src="18.png" class="imgRz">
|
|
<p>Then wait for me to confirm the content is complete, and then i'll accept the pull request and merge it into the main repository.</p>
|
|
<img src="19.png" class="imgRz">
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /grey -->
|
|
|
|
<!-- +++++ Second Post +++++ -->
|
|
<div id="anon2">
|
|
<div class="container">
|
|
<div class="row">
|
|
<div class="col-lg-8 col-lg-offset-2">
|
|
<h2>The Quality Standard</h2>
|
|
<p>In order to make sure the content isn't rushed and the quality of the blog overall remains high, we have the following quality standard:</p>
|
|
<img src="50.png" class="imgRz">
|
|
<p>Rather than writing a gigantic wall of text and loose you halfway, as you can see i made a graph. This is the most effective way of conveying your ideas to your audience, so don't hesitate to make graphs using drawio (with colors preferably) instead of writing walls of text that nobody will read.</p>
|
|
|
|
<p>First of all, the general structure of the content is with the <b>Why / What / How methodology</b> This following the minimalistic style where everything that is used and mentionned must be justified. (Everything that has no justification to be there, is to simply be removed.)</p>
|
|
<ol>
|
|
<li><p><b>Why should I care ?</p></b></li>
|
|
<li><p><b>What are my options ?</p></b></li>
|
|
<li><p><b>How can i implement it ?</p></b></li>
|
|
</ol>
|
|
|
|
<p>Nobody cares about your message until you tell them <b>why they should care.</b> Usually that goes by telling them a short story that they can relate to, in our case it's an opsec scenario that explains what an adversary can do against you.</p>
|
|
<p><b>The blog is structured around 3 core scenarios:</b></p>
|
|
<ol>
|
|
<li><p><u>Privacy:</u> The adversary can see you do something, how can you prevent it ?</p></li>
|
|
<li><p><u>Anonymity:</u> The adversary knows that it's you who did it, how can you prevent it ?</p></li>
|
|
<li><p><u>Deniability:</u> The adversary busts down your door, and forces you to open your devices, how can you make sure he doesn't find anything in there ?</p></li>
|
|
</ol>
|
|
<p><b>If the scenario of your contribution doesn't fit into (or serve a purpose for) one of those 3, it's most likely off-topic.</b></p>
|
|
<pre><code class="nim">
|
|
Context: In your house, in your bedroom, if there are windows to look outside
|
|
Situation: the annoying neighbor always stops by to look at what you're doing in your bedroom
|
|
Are you ok with this situation ?
|
|
|
|
</pre></code>
|
|
<p>So you told your story to highlight the problem, the reader understands that they want privacy. Now you need to tell them the what, <b>what are their options ?</b></p>
|
|
<pre><code class="nim">
|
|
You have a few options to prevent your annoying neighbor from seeing what you're doing in your bedroom:
|
|
1) get rid of all windows and have a house with only walls : expensive
|
|
2) install curtains on your windows : inexpensive
|
|
|
|
</pre></code>
|
|
<p>Sidenote: Nobody wants to read a wall of text. <b>HIGHLIGHT the important parts</b> (using the <<i></i>b><<i></i>/b> tags of your text so that the reader's eye is immediately drawn to what matters most.</p>
|
|
<p>Now that you laid out the Why, you of course tell them what the best option is, and then you're going to tell them <b>how they can implement it.</b></p>
|
|
<pre><code class="nim">
|
|
Let's showcase how to install curtains, as it's the easiest and cheapest solution to prevent outsiders from seeing what you're doing in your bedroom.
|
|
|
|
1) buy it,
|
|
2) then you attach it above your windows, using screws and screwing it into the wall, (warning, if you're living in an apartment, ask for your landlord's permission!)
|
|
3) then you can move the curtain to prevent outsiders from peeking in
|
|
|
|
</pre></code>
|
|
<p>But the thing is, we're not lazy blogwriters here, <b>talking about the path is not enough, you are expected to show the readers how you walk that path.</b> This is why the todolists for new blogposts are structured like so:</p>
|
|
<pre><code class="nim">
|
|
to be explained: (WHY + WHAT)
|
|
-
|
|
-
|
|
-
|
|
|
|
to be showcased: (HOW)
|
|
-
|
|
-
|
|
-
|
|
-
|
|
|
|
</pre></code>
|
|
<p>In the first part usually there is the to be explained section, where you tell the user why they should care, and what their options are, but afterward there usually is the "to be showcased" part. <b>In that part, you are expected to do a step-by-step tutorial of how to implement the solution</b> which means that you are literally implementing the solution yourself, for yourself, but showing everyone how you're doing it.</p>
|
|
<p>Let's take a small todolist that is as follows:</p>
|
|
<pre><code class="nim">
|
|
to be showcased:
|
|
1)Download grapheneOS (GUI digital step)
|
|
2)Reboot the phone (Physical step)
|
|
3)flash graphene OS on the phone (CLI digital step)
|
|
|
|
</pre></code>
|
|
<img src="51.png" class="imgRz">
|
|
<p>Here we have a combination of the 3 possible types of steps you may be expected to showcase, a physical step, a GUI digital step, and a CLI digital step.</p>
|
|
<p>The first step being a GUI digital step, you need to take a screenshot with arrows, to make it simple i recommend using flameshot like i explained above, to have screenshots like that:</p>
|
|
<img src="52.png" class="imgRz">
|
|
<p>In the case of the physical step, you need to take a picture, and add arrows in it if needed, like so:</p>
|
|
<img src="../graphene/10.png" class="imgRz">
|
|
<p>While editing the html file it will look like that (as you need to put the picture in the same folder as the tutorial you're editing):</p>
|
|
<pre><code class="nim">
|
|
<<i></i>img src="1.png">
|
|
|
|
</pre></code>
|
|
<p>If you want to reuse an image from another tutorial like i just did above (it's totally fine), but rather than copying the image from another tutorial and waste diskspace, you can simply reuse the image of another tutorial by adding ../tutorialfolder/ before the path of the image like so:</p>
|
|
<pre><code class="nim">
|
|
<<i></i>img src="../graphene/10.png">
|
|
|
|
</pre></code>
|
|
<p>and lastly if you have a CLI step to show, you need to simply copy paste the terminal output in the pre code blocks while still highlighting what's important like so:<p>
|
|
<pre><code class="nim">
|
|
<<i></i>pre><<i></i>code class="nim">
|
|
|
|
nowhere# <b>./flash-all.sh</b>
|
|
Warning: skip copying bootloader_a image avb footer (bootloader_a partition size: 0, bootloader_a image size: 14125140).
|
|
Sending 'bootloader_a' (13794 KB) OKAY [ 0.364s]
|
|
Writing 'bootloader_a' (bootloader) Flashing pack version slider-14.5-11677881
|
|
(bootloader) flashing platform gs101
|
|
(bootloader) Validating partition ufs
|
|
(bootloader) Validating partition partition:0
|
|
|
|
[...]
|
|
|
|
OKAY [ 3.089s]
|
|
Finished. Total time: 3.454s
|
|
Setting current slot to 'a' OKAY [ 0.058s]
|
|
Finished. Total time: 0.059s
|
|
Rebooting into bootloader OKAY [ 0.000s]
|
|
|
|
[...]
|
|
|
|
Sending sparse 'super' 11/13 (254972 KB) OKAY [ 6.618s]
|
|
Writing 'super' OKAY [ 0.950s]
|
|
Sending sparse 'super' 12/13 (254972 KB) OKAY [ 6.621s]
|
|
Writing 'super' OKAY [ 0.935s]
|
|
Sending sparse 'super' 13/13 (46284 KB) OKAY [ 1.216s]
|
|
Writing 'super' OKAY [ 0.204s]
|
|
Erasing 'userdata' OKAY [ 0.390s]
|
|
Erase successful, but not automatically formatting.
|
|
File system type raw not supported.
|
|
wipe task partition not found: cache
|
|
Erasing 'metadata' OKAY [ 0.007s]
|
|
Erase successful, but not automatically formatting.
|
|
File system type raw not supported.
|
|
Finished. Total time: 105.929s
|
|
Rebooting into bootloader OKAY [ 0.000s]
|
|
<b>Finished. Total time: 0.150s</b>
|
|
nowhere#
|
|
|
|
<<i></i>/pre><<i></i>/code>
|
|
</pre></code>
|
|
<p>If there are parts of the commandline output that don't matter, just replace them with [...] in order to stick to what the user needs to see.</p>
|
|
|
|
<p>And lastly, if you are someone that makes alot of spelling and grammar mistakes (like me, i know i'm guilty of that aswell), use LTEX+'s addon on vscodium (which is the FOSS version of vscode), it will setup a local LLM that will find your grammar and spelling mistakes:</p>
|
|
<pre><code class="nim">
|
|
wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \
|
|
| gpg --dearmor \
|
|
| sudo dd of=/usr/share/keyrings/vscodium-archive-keyring.gpg
|
|
|
|
echo 'deb [ signed-by=/usr/share/keyrings/vscodium-archive-keyring.gpg ] https://download.vscodium.com/debs vscodium main' \
|
|
| sudo tee /etc/apt/sources.list.d/vscodium.list
|
|
|
|
sudo apt update && sudo apt install codium
|
|
|
|
</pre></code>
|
|
<img src="53.png" class="imgRz">
|
|
<img src="54.png" class="imgRz">
|
|
<img src="55.png" class="imgRz">
|
|
<img src="56.png" class="imgRz">
|
|
<img src="57.png" class="imgRz">
|
|
<img src="61.png" class="imgRz">
|
|
<img src="58.png" class="imgRz">
|
|
<img src="59.png" class="imgRz">
|
|
<img src="60.png" class="imgRz">
|
|
<img src="62.png" class="imgRz">
|
|
<p>Now using this addon you can find your typos more easily (as it highlights them for you), effectively helping you find and fix them, so if english isn't your first language <b>definitely make sure that you run LTEX+ once after you finished writing your article, so that you don't leave spelling mistakes behind.</b></p>
|
|
|
|
|
|
<p><b>DISCLAIMER: a blogpost is NOT complete until it follows this quality standard</b>, if you find one that doesn't meet those requirements, do mention it on their <a href="http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/blog-contributions/projects/1">gitea issue</a> or ping me directly about it on SimpleX.</p>
|
|
<p>Same thing if you want to contribute a blogpost that does not meet these quality requirements, <b><u>i do not care, it is NOT finished until it meets those requirements.</u></b> Do not be suprised if i refuse your blog contribution for weeks on end if it doesn't meet the requirements. It may take a little more time to do things properly, but at least you're not lowering the quality of the overall blog by following it.</p>
|
|
|
|
</div>
|
|
</div><!-- /row -->
|
|
</div> <!-- /container -->
|
|
</div><!-- /white -->
|
|
<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: <a href="../../../../opsec/runtheblog/index.html">No Rights Reserved</a></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%2FBD4qkVq8lJUgjHt0kUaxeQBYsKaxDejeecxm6-2vOwI%3D%40b6geeakpwskovltbesvy3b6ah3ewxfmnhnshojndmpp7wcv2df7bnead.onion%2FdXQ3FLM5ufTNQxgXU6jm07fRXSq9Ujkt%23%2F%3Fv%3D1-3%26dh%3DMCowBQYDK2VuAyEAzABUDXe4g0bjXyPcNOU0QzWxMYMMGgR3kcOQacoEaQ0%253D&data=%7B%22groupLinkId%22%3A%22G3yklv9753AcNA7lGV3FBw%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>
|