Site rebuild 08/02/2026

This commit is contained in:
CronyAkatsuki 2026-02-08 18:45:07 +01:00
parent 3ba9f9a52a
commit c6e02aa150
34 changed files with 714 additions and 572 deletions

View file

@ -17,7 +17,6 @@ to get an account.
| [LibReddit](https://libreddit.cronyakatsuki.xyz) | Open Source reddit frontend. | [Github](https://github.com/libreddit/libreddit) |
| [lemmy](https://lemmy.cronyakatsuki.xyz) | Open source activity pub federated reddit alternative. | [Github](https://github.com/LemmyNet) |
| [Mumble](https://mumble.cronyakatsuki.xyz) | Open source voice chat application | [Github](https://github.com/mumble-voip/mumble) |
| [CraftyController](https://crafty.cronyakatsuki.xyz) | Open source minecraft server manager | [Gitlab](https://gitlab.com/crafty-controller/crafty-4) |
| [Wallabag](https://wallabag.cronyakatsuki.xyz) | Open source bookmark service | [Github](https://github.com/wallabag/wallabag) |
### Services I might allow people I know or am close with in
@ -27,4 +26,22 @@ to get an account.
| [MiniFlux](https://feed.cronyakatsuki.xyz) | Open source feed reader. | [Github](https://github.com/miniflux/v2) |
| [ntfy](https://ntfy.cronyakatsuki.xyz) | Open source push notifications server. | [Github](https://github.com/binwiederhier/ntfy) |
| [navidrome](https://nd.cronyakatsuki.xyz) | Open source music streaming | [Github](https://github.com/navidrome/navidrome/) |
| [audiobookshelf](abs.cronyakatsuki.xyz) | Open source audiobook and podcast server | [Github](https://github.com/advplyr/audiobookshelf) |
| [audiobookshelf](https://abs.cronyakatsuki.xyz) | Open source audiobook and podcast server | [Github](https://github.com/advplyr/audiobookshelf) |
| [changedetection.io](https://changedetection.cronyakatsuki.xyz) | Open source website change detection server | [Github](https://github.com/dgtlmoon/changedetection.io) |
| [conduit](https://matrix.cronyakatsuki.xyz) | Open source matrix server implementation | [Gitlab](https://gitlab.com/famedly/conduit) |
### Services I host for easilly sharing stuff
| Service | Description | Source Code |
|:-------------------------------------------|:-----------------------------------------|:----------------------------------------------------|
| [Immich](https://immich.cronyakatsuki.xyz) | Open source google images alternative | [Github](https://github.com/immich-app/immich)|
| [Filebrowser](https://filebrowser.cronyakatsuki.xyz) | Open source file manager in a browser | [Github](https://github.com/filebrowser/filebrowser)|
### Services I host for my personal sync of stuff
| Service | Description | Source Code |
|:-------------------------------------------|:-----------------------------------------|:----------------------------------------------------|
| [atuin](https://atuin.cronyakatsuki.xyz) | Open source shell history sync server | [Github](https://github.com/atuinsh/atuin) |
| [syncyomi](https://syncyomi.cronyakatsuki.xyz) | Open source tachiyomi sync server | [Github](https://github.com/syncyomi/syncyomi) |

View file

@ -41,4 +41,4 @@
minimal mostly only enable lsp and autocomplete.
</p>
{{ end}}
{{ end }}

View file

@ -1,14 +1,14 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
{{ if .IsHome }}
{{ .Title }}
{{ else }}
{{ .Title }} - Crony Akatsuki
{{ end }}
{{ if .IsHome }}
{{ .Title }}
{{ else }}
{{ .Title }} - Crony Akatsuki
{{ end }}
</title>

View file

@ -1,24 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Who am I? - Crony Akatsuki
Who am I? - Crony Akatsuki
</title>
<meta property="og:title" content="Who am I?" />
<meta property="og:description" content="About who I am" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/about/" /><meta property="article:section" content="" />
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/about/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Who am I?">
<meta property="og:description" content="About who I am">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
</head>

View file

@ -1,24 +1,31 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Hardening Level Pro: Notify on SSH Login - Crony Akatsuki
Hardening Level Pro: Notify on SSH Login - Crony Akatsuki
</title>
<meta property="og:title" content="Hardening Level Pro: Notify on SSH Login" />
<meta property="og:description" content="You ever anxious about somebody possibly gaining access to your machine? Fret not, you can just make it so that on any kind of login to your system directly you can get a notification on your phone." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/hardening-level-pro-notify-on-ssh-login/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2023-11-10T19:27:27+01:00" />
<meta property="article:modified_time" content="2023-11-10T19:27:27+01:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/hardening-level-pro-notify-on-ssh-login/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Hardening Level Pro: Notify on SSH Login">
<meta property="og:description" content="You ever anxious about somebody possibly gaining access to your machine? Fret not, you can just make it so that on any kind of login to your system directly you can get a notification on your phone.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2023-11-10T19:27:27+01:00">
<meta property="article:modified_time" content="2023-11-10T19:27:27+01:00">
<meta property="article:tag" content="Linux">
<meta property="article:tag" content="Ssh">
<meta property="article:tag" content="Ntfy">
<meta property="article:tag" content="Security">
</head>
@ -65,13 +72,13 @@
<blockquote>
<p>/usr/bin/ntfy-ssh-login.sh</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">#!/bin/bash
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span><span style="color:#ca9ee6">if</span> <span style="color:#99d1db;font-weight:bold">[</span> <span style="color:#a6d189">&#34;</span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_TYPE</span><span style="color:#a6d189">}</span><span style="color:#a6d189">&#34;</span> <span style="color:#99d1db;font-weight:bold">=</span> <span style="color:#a6d189">&#34;open_session&#34;</span> <span style="color:#99d1db;font-weight:bold">]</span>; <span style="color:#ca9ee6">then</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">#!/bin/bash
</span></span></span><span style="display:flex;"><span><span style="color:#ca9ee6">if</span> <span style="color:#99d1db;font-weight:bold">[</span> <span style="color:#a6d189">&#34;</span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_TYPE</span><span style="color:#a6d189">}</span><span style="color:#a6d189">&#34;</span> <span style="color:#99d1db;font-weight:bold">=</span> <span style="color:#a6d189">&#34;open_session&#34;</span> <span style="color:#99d1db;font-weight:bold">]</span>; <span style="color:#ca9ee6">then</span>
</span></span><span style="display:flex;"><span> curl <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span><span style="color:#8caaee"></span> -H prio:high <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span><span style="color:#8caaee"></span> -H tags:warning <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span><span style="color:#8caaee"></span> -d <span style="color:#a6d189">&#34;SSH login: </span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_USER</span><span style="color:#a6d189">}</span><span style="color:#a6d189"> from </span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_RHOST</span><span style="color:#a6d189">}</span><span style="color:#a6d189">&#34;</span> <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span><span style="color:#8caaee"></span> ntfy.sh/<span style="color:#99d1db;font-weight:bold">{</span>YourTopic<span style="color:#99d1db;font-weight:bold">}</span>
</span></span></span><span style="display:flex;"><span> -H prio:high <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span> -H tags:warning <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span> -d <span style="color:#a6d189">&#34;SSH login: </span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_USER</span><span style="color:#a6d189">}</span><span style="color:#a6d189"> from </span><span style="color:#a6d189">${</span><span style="color:#f2d5cf">PAM_RHOST</span><span style="color:#a6d189">}</span><span style="color:#a6d189">&#34;</span> <span style="color:#8caaee">\
</span></span></span><span style="display:flex;"><span> ntfy.sh/<span style="color:#99d1db;font-weight:bold">{</span>YourTopic<span style="color:#99d1db;font-weight:bold">}</span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">fi</span>
</span></span></code></pre></div><blockquote>
<p>/etc/pam.d/sshd</p>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Blog - Crony Akatsuki
Blog - Crony Akatsuki
</title>
<meta property="og:title" content="Blog" />
<meta property="og:description" content="My blog posts" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Blog">
<meta property="og:description" content="My blog posts">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -19,7 +19,6 @@
<guid>https://cronyakatsuki.xyz/blog/phone-wireless-webcam-linux/</guid>
<description>&lt;p&gt;Anybody else need to have a webcam nowdays because of all the remote stuff that has started happening since covid, getting forced into having a webcam so that your boss/teacher/professor can follow what you are doing but don&amp;rsquo;t wanna spend money on getting one and you are luckilly using linux? Then look no further because if you have a decent phone ( S24 in my case ) you can have use it as a wireless webcam ( or usb if your android version is lover than 14 ).&lt;/p&gt;
&lt;p&gt;I will now show you the steps and some basic settings and a script to simplify the steps.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h1 id=&#34;1-enable-wirelessusb-debugging-on-your-phone&#34;&gt;1. Enable Wireless/Usb Debugging on your phone&lt;/h1&gt;
&lt;p&gt;First you will have to enable wireless/usb debugging on your phone. The steps can somewhat differ depending on your phone and as such I will use my phone as an example.&lt;/p&gt;
&lt;ol&gt;
@ -41,7 +40,7 @@
&lt;blockquote&gt;
&lt;p&gt;example command&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pacman -S android-tools v4l2loopback-dkms scrcpy
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pacman -S android-tools v4l2loopback-dkms scrcpy
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h1 id=&#34;3-pair-your-phone-with-your-pc-using-adb&#34;&gt;3. Pair your phone with your pc using adb&lt;/h1&gt;
&lt;p&gt;Now we will need to pair your phone using adb wirelessly with your pc.&lt;/p&gt;
&lt;p&gt;Go to wireless debugging settings on your phone, make sure it&amp;rsquo;s enable and click the pair with code option. Take note of the ip and port, you will have to use it on your pc.&lt;/p&gt;
@ -53,7 +52,7 @@
&lt;blockquote&gt;
&lt;p&gt;example&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; v4l2-ctl --list-devices
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; v4l2-ctl --list-devices
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Virtual Webcam &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;(&lt;/span&gt;platform:v4l2loopback-000&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;)&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; /dev/video2
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
@ -62,7 +61,7 @@
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; /dev/video1
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; /dev/media0
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now we can use scrcpy to get our phone&amp;rsquo;s camera and show it on your pc in a nice little window, in my case I use this command which is pretty long but will explain it:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scrcpy --video-source&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;camera --no-audio --camera-facing&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;front --v4l2-sink&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;/dev/video2 --camera-fps&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;60&lt;/span&gt; --video-codec&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;h265 --camera-ar&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;4:3 -m1920 --capture-orientation&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;flip90
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;scrcpy --video-source&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;camera --no-audio --camera-facing&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;front --v4l2-sink&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;/dev/video2 --camera-fps&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;60&lt;/span&gt; --video-codec&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;h265 --camera-ar&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;4:3 -m1920 --capture-orientation&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;flip90
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now to explain the options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--video-source=camerate&lt;/code&gt; makes sure scrcpy uses your camera as the source&lt;/li&gt;
@ -154,12 +153,11 @@ X11Forwarding no
<guid>https://cronyakatsuki.xyz/blog/setup-traefik/</guid>
<description>&lt;p&gt;Do you use docker? Do you use nginx or apachi to proxy the container? Fear not you won&amp;rsquo;t be needing them anymore once you are done with this tutorial.&lt;/p&gt;
&lt;p&gt;Traefik is a simple docker centric proxy manager that is amazing and allows you to easilly proxy you docker containers with just a couple of labels.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h1 id=&#34;setting-up-traefik&#34;&gt;Setting up Traefik&lt;/h1&gt;
&lt;p&gt;In this part we will setup traefik, with the dashboard enabled and secured with https and a password.&lt;/p&gt;
&lt;p&gt;Create a directory where you will keep traefik configuration files and the docker compose. Inside it we will save all the configuration files.&lt;/p&gt;
&lt;h2 id=&#34;docker-composeyml&#34;&gt;docker-compose.yml&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#39;3&amp;#39;&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#39;3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;services&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#ca9ee6&#34;&gt;traefik&lt;/span&gt;:
@ -186,7 +184,7 @@ X11Forwarding no
&lt;p&gt;We are also forcing it to use the latest available stable image to make sure there are no bugs, and disabling proxying the traefik image itself io the lables to make sure it isn&amp;rsquo;t exposed by any means.&lt;/p&gt;
&lt;p&gt;We are also making it so it can restart itself unless we specifically stop it, and binding it to port 80 and 443 because those are the default http and https ports that every browser uses when connecting.&lt;/p&gt;
&lt;h2 id=&#34;traefiktoml&#34;&gt;traefik.toml&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[entryPoints]
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[entryPoints]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [entryPoints.web]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; address = &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;:80&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; [entryPoints.web.http.redirections.entryPoint]
@ -216,7 +214,7 @@ X11Forwarding no
&lt;p&gt;In the api section we are enabling the dashboard, but disallowing insecure access to it.&lt;/p&gt;
&lt;p&gt;In the rest of the config we are defining the mail and storage for tls certificates, and enabled docker provider binded to a web network, and enabled the file provider for the dashboard setup.&lt;/p&gt;
&lt;h2 id=&#34;traefik_dynamictoml&#34;&gt;traefik_dynamic.toml&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[http.middlewares.simpleAuth.basicAuth]
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;[http.middlewares.simpleAuth.basicAuth]
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; users = [
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;somebody:$apr1$whatever&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ]
@ -242,7 +240,7 @@ X11Forwarding no
&lt;blockquote&gt;
&lt;p&gt;docker-compose.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;2.3&amp;#34;&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yml&#34; data-lang=&#34;yml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;2.3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;services&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#ca9ee6&#34;&gt;ntfy&lt;/span&gt;:
@ -302,7 +300,7 @@ X11Forwarding no
&lt;blockquote&gt;
&lt;p&gt;example&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;...&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#ca9ee6&#34;&gt;labels&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; - traefik.enable=false
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;...&lt;/span&gt;
@ -312,7 +310,7 @@ X11Forwarding no
&lt;blockquote&gt;
&lt;p&gt;example docker-compose.yml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;3&amp;#34;&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;version&lt;/span&gt;: &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;3&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;networks&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#ca9ee6&#34;&gt;web&lt;/span&gt;:
@ -384,7 +382,7 @@ X11Forwarding no
&lt;h1 id=&#34;settings-read-status&#34;&gt;Settings read status&lt;/h1&gt;
&lt;p&gt;To flag mail as read we can use the mflag utiity. We do it by choosing what mail we wanna mark as read and running the command &lt;code&gt;mflag -S N&lt;/code&gt;, but after that we need to fix our list because the filename changed because of the fact that we changed the flag to read. To fix that we will run &lt;code&gt;mseq -f : | mseq -S&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;We can easily alias this sequence of command&amp;rsquo;s into a function to streamline this.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;function&lt;/span&gt; mread&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;function&lt;/span&gt; mread&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; mflag -S &lt;span style=&#34;color:#f2d5cf&#34;&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; mseq -f : | mseq -S
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;}&lt;/span&gt;
@ -438,13 +436,13 @@ d quit d
&lt;blockquote&gt;
&lt;p&gt;/usr/bin/ntfy-ssh-login.sh&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_TYPE&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;open_session&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#ca9ee6&#34;&gt;then&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;[&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_TYPE&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;open_session&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#ca9ee6&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; curl &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8caaee&#34;&gt;&lt;/span&gt; -H prio:high &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8caaee&#34;&gt;&lt;/span&gt; -H tags:warning &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8caaee&#34;&gt;&lt;/span&gt; -d &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;SSH login: &lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_USER&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt; from &lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_RHOST&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#8caaee&#34;&gt;&lt;/span&gt; ntfy.sh/&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;{&lt;/span&gt;YourTopic&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -H prio:high &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -H tags:warning &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; -d &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;SSH login: &lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_USER&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt; from &lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;PAM_RHOST&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#8caaee&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; ntfy.sh/&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;{&lt;/span&gt;YourTopic&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;/etc/pam.d/sshd&lt;/p&gt;
@ -576,8 +574,8 @@ Scan-Format: %c%u%r %-3n %10d %17f %t %2i%s
&lt;blockquote&gt;
&lt;p&gt;mprofile&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;#!/bin/sh
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;profiles&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;$(&lt;/span&gt;find &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$HOME&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;/.config/mblaze -type f -exec basename &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;{}&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#8caaee&#34;&gt;\;&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;currentMaildir&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;$(&lt;/span&gt;grep &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;^Maildir:&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$HOME&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&lt;/span&gt;/.mblaze/profile | cut -d: -f &lt;span style=&#34;color:#ef9f76&#34;&gt;2&lt;/span&gt; | sed &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#39;s/ //g&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
@ -595,7 +593,7 @@ Scan-Format: %c%u%r %-3n %10d %17f %t %2i%s
&lt;blockquote&gt;
&lt;p&gt;functions&lt;/p&gt;
&lt;/blockquote&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# mblaze functions&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# mblaze functions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Get new mail for current profile&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;function&lt;/span&gt; mnew &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;{&lt;/span&gt;
@ -640,7 +638,6 @@ the dns server I&amp;rsquo;m using DNS over HTTPS for my browser&amp;rsquo;s and
stuffy for my whole desktop and private dns in android ( Android has DoH support
but only for google and cloudflare right now). Let&amp;rsquo;s get on to setting
everything up&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id=&#34;1-pihole&#34;&gt;1. Pihole&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s start with setting up pihole. I will be installing it with their script on
a debian system for easier unbound integration ( unbound doesn&amp;rsquo;t have an
@ -651,7 +648,7 @@ pihole get&amp;rsquo;s frequent updates.
&lt;p&gt;I recommend you to install the admin page for easier managmenet and ability to
change the upstream dns server ( needed for changing it to unbound later on ).
To be able to access the admin page I use an nginx configuration like this one.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;example.com&lt;/span&gt; ;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/&lt;/span&gt; {
@ -664,27 +661,27 @@ To be able to access the admin page I use an nginx configuration like this one.&
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# If you want to log user activity, comment these
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;access_log&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/dev/null&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;access_log&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/dev/null&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;error_log&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/dev/null&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;[::]:443&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;ssl&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;443&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;ssl&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_certificate&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/live/example.com/fullchain.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_certificate_key&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/live/example.com/privkey.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;include&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/options-ssl-nginx.conf&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_dhparam&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/ssl-dhparams.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;443&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;ssl&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_certificate&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/live/example.com/fullchain.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_certificate_key&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/live/example.com/privkey.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;include&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/options-ssl-nginx.conf&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;ssl_dhparam&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/etc/letsencrypt/ssl-dhparams.pem&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;(&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$host&lt;/span&gt; = &lt;span style=&#34;color:#a6d189&#34;&gt;example.com)&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;301&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;https://&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$host$request_uri&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; } &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;example.com&lt;/span&gt; ;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;80&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;[::]:80&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;404&lt;/span&gt;; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# managed by Certbot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The main point of this config is the &lt;code&gt;/admin&lt;/code&gt; location that you need to pass the
lighttpd port to acces the website, you can just do it on your main website
also. Also to make lighttpd work with nginx listening on port 80 you need to
@ -701,7 +698,7 @@ certbot to generate one with this command &lt;code&gt;certbot --nginx -d dot.exa
this configuration to your main nginx config located at &lt;code&gt;/etc/nginx/nginx.conf&lt;/code&gt;.
&lt;strong&gt;Make sure to add this outside of the http block and change example.com to your
domain&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;stream&lt;/span&gt; {
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;stream&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;log_format&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;basic&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$remote_addr&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;[&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;$time_local]&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$protocol&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$status&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$bytes_sent&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$bytes_received&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$session_time&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$upstream_addr&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;upstream&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;dns&lt;/span&gt;
@ -759,8 +756,8 @@ once again using certbot with this command
&lt;code&gt;certbot --nginx -d doh.example.com&lt;/code&gt;after that add this configuratin to nginx
either in sites-available and linking it to sites enabled or in http block in
main nginx configuration.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Proxy Cache storage - so we can cache the DoH response from the upstream
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;proxy_cache_path&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/var/run/doh_cache&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;levels=1:2&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;keys_zone=doh_cache:10m&lt;/span&gt;;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Proxy Cache storage - so we can cache the DoH response from the upstream
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;proxy_cache_path&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/var/run/doh_cache&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;levels=1:2&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;keys_zone=doh_cache:10m&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;80&lt;/span&gt;;
@ -769,7 +766,7 @@ main nginx configuration.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# This virtual server accepts HTTP/2 over HTTPS
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;443&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;ssl&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;http2&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;doh.example.com&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
@ -781,10 +778,10 @@ main nginx configuration.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# DoH may use GET or POST requests, Cache both
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_cache_methods&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;GET&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;POST&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_cache_methods&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;GET&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;POST&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Return 404 to all responses, except for those using our published DoH URI
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;try_files&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$uri&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$uri/&lt;/span&gt; =&lt;span style=&#34;color:#ef9f76&#34;&gt;404&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
@ -792,20 +789,20 @@ main nginx configuration.&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_ssl_ciphers&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;HIGH:!aNULL:!MD5&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# This is our published DoH URI
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/dns-query&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;/dns-query&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Proxy HTTP/1.1, clear the connection header to enable Keep-Alive
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_http_version&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;.1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_http_version&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;1&lt;/span&gt;&lt;span style=&#34;color:#a6d189&#34;&gt;.1&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;Connection&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Enable Cache, and set the cache_key to include the request_body
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_cache&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;doh_cache&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_cache&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;doh_cache&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_cache_key&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$scheme$proxy_host$uri$is_args$args$request_body&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# proxy pass to dnsdist
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_pass&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;http://127.0.0.1:5300&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_pass&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;http://127.0.0.1:5300&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# proxy pass address
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;&lt;/span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;X-Forwarded-For&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;X-Forwarded-For&lt;/span&gt; &lt;span style=&#34;color:#f2d5cf&#34;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;After restarting nginx with this configuration you can it to your web browser as
@ -824,7 +821,6 @@ better you can open a pull request or make an issue on the website&amp;rsquo;s
<guid>https://cronyakatsuki.xyz/blog/piped-video-not-loading/</guid>
<description>&lt;p&gt;Recently I have received and experienced an issue of videos not loading on my personal &lt;a href=&#34;https://piped.cronyakatsuki.xyz&#34;&gt;piped&lt;/a&gt; instance and on the official instance. But I have found a fix and a way to watch the videos even without the fix.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;h2 id=&#34;what-creates-the-issue&#34;&gt;What creates the issue?&lt;/h2&gt;
&lt;p&gt;From what I have been able to find on the issues over on the &lt;a href=&#34;https://github.com/TeamPiped/Piped&#34;&gt;piped github&lt;/a&gt; it seems to be an lbry issue of the videos not loading mostly on firefox, the issue seems to not happen on the chromium browsers.&lt;/p&gt;
&lt;h3 id=&#34;how-to-fix-the-issue&#34;&gt;How to fix the issue&lt;/h3&gt;
@ -841,18 +837,17 @@ better you can open a pull request or make an issue on the website&amp;rsquo;s
<guid>https://cronyakatsuki.xyz/blog/miniflux-setup/</guid>
<description>&lt;p&gt;Looking for a minimal self-hosted feed reader I found &lt;a href=&#34;https://miniflux.app/&#34;&gt;miniflux&lt;/a&gt;. But trying to set it up I found my self trying to set it up for 3 freaking hours since I only recently started to self-host things. So here I will try to explaing it in the most easy way how to set it up on a debian server with https using certbot and nginx.&lt;/p&gt;
&lt;!-- raw HTML omitted --&gt;
&lt;p&gt;For this tutorial I expect that you already have a server seted up with nginx and certbot. To set up this things check out &lt;a href=&#34;https://landchad.net&#34;&gt;landchad&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;installing-needed-packages&#34;&gt;Installing needed packages&lt;/h2&gt;
&lt;p&gt;You will first need to setup miniflux apt repository to install it on your system.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99d1db&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;deb [trusted=yes] https://repo.miniflux.app/apt/ /&amp;#34;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/miniflux.list &amp;gt; /dev/null
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#99d1db&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;&amp;#34;deb [trusted=yes] https://repo.miniflux.app/apt/ /&amp;#34;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/miniflux.list &amp;gt; /dev/null
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apt update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then just install the needed packages.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apt install miniflux postgresql
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;apt install miniflux postgresql
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;setting-up-postgres-database-and-miniflux&#34;&gt;Setting up postgres database and miniflux&lt;/h2&gt;
&lt;p&gt;Here I will detail steps to create the postgres database.&lt;/p&gt;
&lt;h3 id=&#34;initial-postgres-setup&#34;&gt;Initial postgres setup&lt;/h3&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Switch to the postgres user&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Switch to the postgres user&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ su - postgres
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Creating a miniflux user, enter a safe and secure password&lt;/span&gt;
@ -880,13 +875,13 @@ better you can open a pull request or make an issue on the website&amp;rsquo;s
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ &lt;span style=&#34;color:#99d1db&#34;&gt;exit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;miniflux-configuration-file&#34;&gt;Miniflux configuration file&lt;/h3&gt;
&lt;p&gt;Open the miniflux configuration file in path &lt;code&gt;/etc/miniflux.conf&lt;/code&gt; and edit it like this.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# See https://miniflux.app/docs/configuration.html&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# See https://miniflux.app/docs/configuration.html&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;LISTEN_ADDR&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;127.0.0.1:8080
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;DATABASE_URL&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;user&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;miniflux &lt;span style=&#34;color:#f2d5cf&#34;&gt;password&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;PASSWORD_HERE &lt;span style=&#34;color:#f2d5cf&#34;&gt;dbname&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;miniflux &lt;span style=&#34;color:#f2d5cf&#34;&gt;sslmode&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;disable
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f2d5cf&#34;&gt;RUN_MIGRATIONS&lt;/span&gt;&lt;span style=&#34;color:#99d1db;font-weight:bold&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ef9f76&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;migrating-the-database-and-removing-superuser-privileges-in-postgres&#34;&gt;Migrating the database and removing superuser privileges in postgres&lt;/h3&gt;
&lt;p&gt;Now we will migrate the database and remove unneded superuser privileges, since it is reccomended in the miniflux documentation.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Migrating the database&lt;/span&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Migrating the database&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ miniflux -c /etc/miniflux.conf -migrate
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#737994;font-style:italic&#34;&gt;# Creating miniflux admin user&lt;/span&gt;
@ -912,7 +907,7 @@ better you can open a pull request or make an issue on the website&amp;rsquo;s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;nginx-and-certbot-setup&#34;&gt;Nginx and certbot setup&lt;/h2&gt;
&lt;p&gt;Make sure to have a domain to use for your miniflux setup.&lt;/p&gt;
&lt;p&gt;Create and open a nginx config with path &lt;code&gt;/etc/nginx/sites-available/miniflux.conf&lt;/code&gt; and add this&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-nginx&#34; data-lang=&#34;nginx&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#ca9ee6&#34;&gt;server&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;your.domain.ext&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#ef9f76&#34;&gt;80&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; &lt;span style=&#34;color:#81c8be&#34;&gt;listen&lt;/span&gt; &lt;span style=&#34;color:#a6d189&#34;&gt;[::]:80&lt;/span&gt;;
@ -927,7 +922,7 @@ better you can open a pull request or make an issue on the website&amp;rsquo;s
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Now just link the config to enabled sites and restart nginx service.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ln -s /etc/nginx/sites-available/miniflux.conf /etc/nginx/sites-enabled/miniflux.conf
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ ln -s /etc/nginx/sites-available/miniflux.conf /etc/nginx/sites-enabled/miniflux.conf
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ systemctl restart nginx
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;To get https on your domain you just need to run &lt;code&gt;certbot --nginx&lt;/code&gt; same as in this &lt;a href=&#34;https://landchad.net/basic/certbot/&#34;&gt;tutorial&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;finishing-words&#34;&gt;Finishing words&lt;/h2&gt;

View file

@ -1,25 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
miniflux setup on debian - Crony Akatsuki
miniflux setup on debian - Crony Akatsuki
</title>
<meta property="og:title" content="miniflux setup on debian" />
<meta property="og:description" content="Looking for a minimal self-hosted feed reader I found miniflux. But trying to set it up I found my self trying to set it up for 3 freaking hours since I only recently started to self-host things. So here I will try to explaing it in the most easy way how to set it up on a debian server with https using certbot and nginx.
For this tutorial I expect that you already have a server seted up with nginx and certbot." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/miniflux-setup/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2022-11-30T00:00:00+00:00" />
<meta property="article:modified_time" content="2022-11-30T00:00:00+00:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/miniflux-setup/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="miniflux setup on debian">
<meta property="og:description" content="Looking for a minimal self-hosted feed reader I found miniflux. But trying to set it up I found my self trying to set it up for 3 freaking hours since I only recently started to self-host things. So here I will try to explaing it in the most easy way how to set it up on a debian server with https using certbot and nginx.
For this tutorial I expect that you already have a server seted up with nginx and certbot. To set up this things check out landchad">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2022-11-30T00:00:00+00:00">
<meta property="article:modified_time" content="2022-11-30T00:00:00+00:00">
<meta property="article:tag" content="Self-Host">
<meta property="article:tag" content="Rss">
</head>
@ -58,18 +63,17 @@ For this tutorial I expect that you already have a server seted up with nginx an
</div>
<p>Looking for a minimal self-hosted feed reader I found <a href="https://miniflux.app/">miniflux</a>. But trying to set it up I found my self trying to set it up for 3 freaking hours since I only recently started to self-host things. So here I will try to explaing it in the most easy way how to set it up on a debian server with https using certbot and nginx.</p>
<!-- raw HTML omitted -->
<p>For this tutorial I expect that you already have a server seted up with nginx and certbot. To set up this things check out <a href="https://landchad.net">landchad</a></p>
<h2 id="installing-needed-packages">Installing needed packages</h2>
<p>You will first need to setup miniflux apt repository to install it on your system.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#99d1db">echo</span> <span style="color:#a6d189">&#34;deb [trusted=yes] https://repo.miniflux.app/apt/ /&#34;</span> | sudo tee /etc/apt/sources.list.d/miniflux.list &gt; /dev/null
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#99d1db">echo</span> <span style="color:#a6d189">&#34;deb [trusted=yes] https://repo.miniflux.app/apt/ /&#34;</span> | sudo tee /etc/apt/sources.list.d/miniflux.list &gt; /dev/null
</span></span><span style="display:flex;"><span>apt update
</span></span></code></pre></div><p>Then just install the needed packages.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install miniflux postgresql
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>apt install miniflux postgresql
</span></span></code></pre></div><h2 id="setting-up-postgres-database-and-miniflux">Setting up postgres database and miniflux</h2>
<p>Here I will detail steps to create the postgres database.</p>
<h3 id="initial-postgres-setup">Initial postgres setup</h3>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Switch to the postgres user</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Switch to the postgres user</span>
</span></span><span style="display:flex;"><span>$ su - postgres
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Creating a miniflux user, enter a safe and secure password</span>
@ -97,13 +101,13 @@ For this tutorial I expect that you already have a server seted up with nginx an
</span></span><span style="display:flex;"><span>$ <span style="color:#99d1db">exit</span>
</span></span></code></pre></div><h3 id="miniflux-configuration-file">Miniflux configuration file</h3>
<p>Open the miniflux configuration file in path <code>/etc/miniflux.conf</code> and edit it like this.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># See https://miniflux.app/docs/configuration.html</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># See https://miniflux.app/docs/configuration.html</span>
</span></span><span style="display:flex;"><span><span style="color:#f2d5cf">LISTEN_ADDR</span><span style="color:#99d1db;font-weight:bold">=</span>127.0.0.1:8080
</span></span><span style="display:flex;"><span><span style="color:#f2d5cf">DATABASE_URL</span><span style="color:#99d1db;font-weight:bold">=</span><span style="color:#f2d5cf">user</span><span style="color:#99d1db;font-weight:bold">=</span>miniflux <span style="color:#f2d5cf">password</span><span style="color:#99d1db;font-weight:bold">=</span>PASSWORD_HERE <span style="color:#f2d5cf">dbname</span><span style="color:#99d1db;font-weight:bold">=</span>miniflux <span style="color:#f2d5cf">sslmode</span><span style="color:#99d1db;font-weight:bold">=</span>disable
</span></span><span style="display:flex;"><span><span style="color:#f2d5cf">RUN_MIGRATIONS</span><span style="color:#99d1db;font-weight:bold">=</span><span style="color:#ef9f76">1</span>
</span></span></code></pre></div><h3 id="migrating-the-database-and-removing-superuser-privileges-in-postgres">Migrating the database and removing superuser privileges in postgres</h3>
<p>Now we will migrate the database and remove unneded superuser privileges, since it is reccomended in the miniflux documentation.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Migrating the database</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Migrating the database</span>
</span></span><span style="display:flex;"><span>$ miniflux -c /etc/miniflux.conf -migrate
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Creating miniflux admin user</span>
@ -129,7 +133,7 @@ For this tutorial I expect that you already have a server seted up with nginx an
</span></span></code></pre></div><h2 id="nginx-and-certbot-setup">Nginx and certbot setup</h2>
<p>Make sure to have a domain to use for your miniflux setup.</p>
<p>Create and open a nginx config with path <code>/etc/nginx/sites-available/miniflux.conf</code> and add this</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">server_name</span> <span style="color:#a6d189">your.domain.ext</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">80</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#a6d189">[::]:80</span>;
@ -144,7 +148,7 @@ For this tutorial I expect that you already have a server seted up with nginx an
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>Now just link the config to enabled sites and restart nginx service.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ ln -s /etc/nginx/sites-available/miniflux.conf /etc/nginx/sites-enabled/miniflux.conf
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>$ ln -s /etc/nginx/sites-available/miniflux.conf /etc/nginx/sites-enabled/miniflux.conf
</span></span><span style="display:flex;"><span>$ systemctl restart nginx
</span></span></code></pre></div><p>To get https on your domain you just need to run <code>certbot --nginx</code> same as in this <a href="https://landchad.net/basic/certbot/">tutorial</a></p>
<h2 id="finishing-words">Finishing words</h2>

View file

@ -1,24 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
How to setup a phone as wireless webcam on linux - Crony Akatsuki
How to setup a phone as wireless webcam on linux - Crony Akatsuki
</title>
<meta property="og:title" content="How to setup a phone as wireless webcam on linux" />
<meta property="og:description" content="Anybody else need to have a webcam nowdays because of all the remote stuff that has started happening since covid, getting forced into having a webcam so that your boss/teacher/professor can follow what you are doing but don&rsquo;t wanna spend money on getting one and you are luckilly using linux? Then look no further because if you have a decent phone ( S24 in my case ) you can have use it as a wireless webcam ( or usb if your android version is lover than 14 )." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/phone-wireless-webcam-linux/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2025-01-20T18:16:55+01:00" />
<meta property="article:modified_time" content="2025-01-20T18:16:55+01:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/phone-wireless-webcam-linux/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="How to setup a phone as wireless webcam on linux">
<meta property="og:description" content="Anybody else need to have a webcam nowdays because of all the remote stuff that has started happening since covid, getting forced into having a webcam so that your boss/teacher/professor can follow what you are doing but dont wanna spend money on getting one and you are luckilly using linux? Then look no further because if you have a decent phone ( S24 in my case ) you can have use it as a wireless webcam ( or usb if your android version is lover than 14 ).">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2025-01-20T18:16:55+01:00">
<meta property="article:modified_time" content="2025-01-20T18:16:55+01:00">
<meta property="article:tag" content="Linux">
<meta property="article:tag" content="Android">
<meta property="article:tag" content="Scrcpy">
</head>
@ -59,7 +65,6 @@
<p>Anybody else need to have a webcam nowdays because of all the remote stuff that has started happening since covid, getting forced into having a webcam so that your boss/teacher/professor can follow what you are doing but don&rsquo;t wanna spend money on getting one and you are luckilly using linux? Then look no further because if you have a decent phone ( S24 in my case ) you can have use it as a wireless webcam ( or usb if your android version is lover than 14 ).</p>
<p>I will now show you the steps and some basic settings and a script to simplify the steps.</p>
<!-- raw HTML omitted -->
<h1 id="1-enable-wirelessusb-debugging-on-your-phone">1. Enable Wireless/Usb Debugging on your phone</h1>
<p>First you will have to enable wireless/usb debugging on your phone. The steps can somewhat differ depending on your phone and as such I will use my phone as an example.</p>
<ol>
@ -81,7 +86,7 @@
<blockquote>
<p>example command</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo pacman -S android-tools v4l2loopback-dkms scrcpy
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>sudo pacman -S android-tools v4l2loopback-dkms scrcpy
</span></span></code></pre></div><h1 id="3-pair-your-phone-with-your-pc-using-adb">3. Pair your phone with your pc using adb</h1>
<p>Now we will need to pair your phone using adb wirelessly with your pc.</p>
<p>Go to wireless debugging settings on your phone, make sure it&rsquo;s enable and click the pair with code option. Take note of the ip and port, you will have to use it on your pc.</p>
@ -93,7 +98,7 @@
<blockquote>
<p>example</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span> v4l2-ctl --list-devices
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span> v4l2-ctl --list-devices
</span></span><span style="display:flex;"><span>Virtual Webcam <span style="color:#99d1db;font-weight:bold">(</span>platform:v4l2loopback-000<span style="color:#99d1db;font-weight:bold">)</span>:
</span></span><span style="display:flex;"><span> /dev/video2
</span></span><span style="display:flex;"><span>
@ -102,7 +107,7 @@
</span></span><span style="display:flex;"><span> /dev/video1
</span></span><span style="display:flex;"><span> /dev/media0
</span></span></code></pre></div><p>Now we can use scrcpy to get our phone&rsquo;s camera and show it on your pc in a nice little window, in my case I use this command which is pretty long but will explain it:</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>scrcpy --video-source<span style="color:#99d1db;font-weight:bold">=</span>camera --no-audio --camera-facing<span style="color:#99d1db;font-weight:bold">=</span>front --v4l2-sink<span style="color:#99d1db;font-weight:bold">=</span>/dev/video2 --camera-fps<span style="color:#99d1db;font-weight:bold">=</span><span style="color:#ef9f76">60</span> --video-codec<span style="color:#99d1db;font-weight:bold">=</span>h265 --camera-ar<span style="color:#99d1db;font-weight:bold">=</span>4:3 -m1920 --capture-orientation<span style="color:#99d1db;font-weight:bold">=</span>flip90
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span>scrcpy --video-source<span style="color:#99d1db;font-weight:bold">=</span>camera --no-audio --camera-facing<span style="color:#99d1db;font-weight:bold">=</span>front --v4l2-sink<span style="color:#99d1db;font-weight:bold">=</span>/dev/video2 --camera-fps<span style="color:#99d1db;font-weight:bold">=</span><span style="color:#ef9f76">60</span> --video-codec<span style="color:#99d1db;font-weight:bold">=</span>h265 --camera-ar<span style="color:#99d1db;font-weight:bold">=</span>4:3 -m1920 --capture-orientation<span style="color:#99d1db;font-weight:bold">=</span>flip90
</span></span></code></pre></div><p>Now to explain the options:</p>
<ul>
<li><code>--video-source=camerate</code> makes sure scrcpy uses your camera as the source</li>

View file

@ -1,25 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Piped videos not loading - Crony Akatsuki
Piped videos not loading - Crony Akatsuki
</title>
<meta property="og:title" content="Piped videos not loading" />
<meta property="og:description" content="Recently I have received and experienced an issue of videos not loading on my personal piped instance and on the official instance. But I have found a fix and a way to watch the videos even without the fix.
What creates the issue? From what I have been able to find on the issues over on the piped github it seems to be an lbry issue of the videos not loading mostly on firefox, the issue seems to not happen on the chromium browsers." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/piped-video-not-loading/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2023-02-26T00:00:00+00:00" />
<meta property="article:modified_time" content="2023-02-26T00:00:00+00:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/piped-video-not-loading/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Piped videos not loading">
<meta property="og:description" content="Recently I have received and experienced an issue of videos not loading on my personal piped instance and on the official instance. But I have found a fix and a way to watch the videos even without the fix.
What creates the issue? From what I have been able to find on the issues over on the piped github it seems to be an lbry issue of the videos not loading mostly on firefox, the issue seems to not happen on the chromium browsers.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2023-02-26T00:00:00+00:00">
<meta property="article:modified_time" content="2023-02-26T00:00:00+00:00">
<meta property="article:tag" content="Piped">
<meta property="article:tag" content="Browser">
</head>
@ -58,7 +63,6 @@ What creates the issue? From what I have been able to find on the issues over on
</div>
<p>Recently I have received and experienced an issue of videos not loading on my personal <a href="https://piped.cronyakatsuki.xyz">piped</a> instance and on the official instance. But I have found a fix and a way to watch the videos even without the fix.</p>
<!-- raw HTML omitted -->
<h2 id="what-creates-the-issue">What creates the issue?</h2>
<p>From what I have been able to find on the issues over on the <a href="https://github.com/TeamPiped/Piped">piped github</a> it seems to be an lbry issue of the videos not loading mostly on firefox, the issue seems to not happen on the chromium browsers.</p>
<h3 id="how-to-fix-the-issue">How to fix the issue</h3>

View file

@ -1,25 +1,28 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Securing SSH - Crony Akatsuki
Securing SSH - Crony Akatsuki
</title>
<meta property="og:title" content="Securing SSH" />
<meta property="og:description" content="As someone who has a couple of servers out in the open web, one of the main things I had to learn was how to secure it so people can&rsquo;t touch them. One of the main ways to do that is by hardening ssh.
Here I will name a couple of settings and best practices to make sure your ssh is as secure as possible." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/securing-ssh/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2024-04-04T20:44:10+02:00" />
<meta property="article:modified_time" content="2024-04-04T20:44:10+02:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/securing-ssh/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Securing SSH">
<meta property="og:description" content="As someone who has a couple of servers out in the open web, one of the main things I had to learn was how to secure it so people cant touch them. One of the main ways to do that is by hardening ssh.
Here I will name a couple of settings and best practices to make sure your ssh is as secure as possible.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2024-04-04T20:44:10+02:00">
<meta property="article:modified_time" content="2024-04-04T20:44:10+02:00">
</head>

View file

@ -1,24 +1,31 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Setup dns with adblock and dot/doh with pi-hole and unbound - Crony Akatsuki
Setup dns with adblock and dot/doh with pi-hole and unbound - Crony Akatsuki
</title>
<meta property="og:title" content="Setup dns with adblock and dot/doh with pi-hole and unbound" />
<meta property="og:description" content="Just another day I seted up my own private dns server that has adblocking ( and other stuff ) using pihole and uses unbound as a resolver. To safelly connect to the dns server I&rsquo;m using DNS over HTTPS for my browser&rsquo;s and HTTPS over TLS for stuffy for my whole desktop and private dns in android ( Android has DoH support but only for google and cloudflare right now). Let&rsquo;s get on to setting everything up" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/setup-dns-pihole-unbound/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2023-09-27T00:00:00+00:00" />
<meta property="article:modified_time" content="2023-09-27T00:00:00+00:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/setup-dns-pihole-unbound/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Setup dns with adblock and dot/doh with pi-hole and unbound">
<meta property="og:description" content="Just another day I seted up my own private dns server that has adblocking ( and other stuff ) using pihole and uses unbound as a resolver. To safelly connect to the dns server Im using DNS over HTTPS for my browsers and HTTPS over TLS for stuffy for my whole desktop and private dns in android ( Android has DoH support but only for google and cloudflare right now). Lets get on to setting everything up">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2023-09-27T00:00:00+00:00">
<meta property="article:modified_time" content="2023-09-27T00:00:00+00:00">
<meta property="article:tag" content="Self-Host">
<meta property="article:tag" content="Dns">
<meta property="article:tag" content="Pi-Hole">
<meta property="article:tag" content="Unbound">
</head>
@ -64,7 +71,6 @@ the dns server I&rsquo;m using DNS over HTTPS for my browser&rsquo;s and HTTPS o
stuffy for my whole desktop and private dns in android ( Android has DoH support
but only for google and cloudflare right now). Let&rsquo;s get on to setting
everything up</p>
<!-- raw HTML omitted -->
<h2 id="1-pihole">1. Pihole</h2>
<p>Let&rsquo;s start with setting up pihole. I will be installing it with their script on
a debian system for easier unbound integration ( unbound doesn&rsquo;t have an
@ -75,7 +81,7 @@ pihole get&rsquo;s frequent updates.
<p>I recommend you to install the admin page for easier managmenet and ability to
change the upstream dns server ( needed for changing it to unbound later on ).
To be able to access the admin page I use an nginx configuration like this one.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">server_name</span> <span style="color:#a6d189">example.com</span> ;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">location</span> <span style="color:#a6d189">/</span> {
@ -88,27 +94,27 @@ To be able to access the admin page I use an nginx configuration like this one.<
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># If you want to log user activity, comment these
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">access_log</span> <span style="color:#a6d189">/dev/null</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">access_log</span> <span style="color:#a6d189">/dev/null</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">error_log</span> <span style="color:#a6d189">/dev/null</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#a6d189">[::]:443</span> <span style="color:#a6d189">ssl</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">443</span> <span style="color:#a6d189">ssl</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">ssl_certificate</span> <span style="color:#a6d189">/etc/letsencrypt/live/example.com/fullchain.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">ssl_certificate_key</span> <span style="color:#a6d189">/etc/letsencrypt/live/example.com/privkey.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">include</span> <span style="color:#a6d189">/etc/letsencrypt/options-ssl-nginx.conf</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">ssl_dhparam</span> <span style="color:#a6d189">/etc/letsencrypt/ssl-dhparams.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span>}
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">443</span> <span style="color:#a6d189">ssl</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">ssl_certificate</span> <span style="color:#a6d189">/etc/letsencrypt/live/example.com/fullchain.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">ssl_certificate_key</span> <span style="color:#a6d189">/etc/letsencrypt/live/example.com/privkey.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">include</span> <span style="color:#a6d189">/etc/letsencrypt/options-ssl-nginx.conf</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">ssl_dhparam</span> <span style="color:#a6d189">/etc/letsencrypt/ssl-dhparams.pem</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">if</span> <span style="color:#a6d189">(</span><span style="color:#f2d5cf">$host</span> = <span style="color:#a6d189">example.com)</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">return</span> <span style="color:#ef9f76">301</span> <span style="color:#a6d189">https://</span><span style="color:#f2d5cf">$host$request_uri</span>;
</span></span><span style="display:flex;"><span> } <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span>
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">server_name</span> <span style="color:#a6d189">example.com</span> ;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">80</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#a6d189">[::]:80</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">return</span> <span style="color:#ef9f76">404</span>; <span style="color:#737994;font-style:italic"># managed by Certbot
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span>}
</span></span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>The main point of this config is the <code>/admin</code> location that you need to pass the
lighttpd port to acces the website, you can just do it on your main website
also. Also to make lighttpd work with nginx listening on port 80 you need to
@ -125,7 +131,7 @@ certbot to generate one with this command <code>certbot --nginx -d dot.example.c
this configuration to your main nginx config located at <code>/etc/nginx/nginx.conf</code>.
<strong>Make sure to add this outside of the http block and change example.com to your
domain</strong></p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">stream</span> {
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#ca9ee6">stream</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">log_format</span> <span style="color:#a6d189">basic</span> <span style="color:#a6d189">&#39;</span><span style="color:#f2d5cf">$remote_addr</span> <span style="color:#a6d189">[</span><span style="color:#f2d5cf">$time_local]</span> <span style="color:#f2d5cf">$protocol</span> <span style="color:#f2d5cf">$status</span> <span style="color:#f2d5cf">$bytes_sent</span> <span style="color:#f2d5cf">$bytes_received</span> <span style="color:#f2d5cf">$session_time</span> <span style="color:#f2d5cf">$upstream_addr&#39;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">upstream</span> <span style="color:#a6d189">dns</span>
@ -183,8 +189,8 @@ once again using certbot with this command
<code>certbot --nginx -d doh.example.com</code>after that add this configuratin to nginx
either in sites-available and linking it to sites enabled or in http block in
main nginx configuration.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Proxy Cache storage - so we can cache the DoH response from the upstream
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span><span style="color:#ca9ee6">proxy_cache_path</span> <span style="color:#a6d189">/var/run/doh_cache</span> <span style="color:#a6d189">levels=1:2</span> <span style="color:#a6d189">keys_zone=doh_cache:10m</span>;
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-nginx" data-lang="nginx"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Proxy Cache storage - so we can cache the DoH response from the upstream
</span></span></span><span style="display:flex;"><span><span style="color:#ca9ee6">proxy_cache_path</span> <span style="color:#a6d189">/var/run/doh_cache</span> <span style="color:#a6d189">levels=1:2</span> <span style="color:#a6d189">keys_zone=doh_cache:10m</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">80</span>;
@ -193,7 +199,7 @@ main nginx configuration.</p>
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># This virtual server accepts HTTP/2 over HTTPS
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span><span style="color:#ca9ee6">server</span> {
</span></span></span><span style="display:flex;"><span><span style="color:#ca9ee6">server</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">listen</span> <span style="color:#ef9f76">443</span> <span style="color:#a6d189">ssl</span> <span style="color:#a6d189">http2</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">server_name</span> <span style="color:#a6d189">doh.example.com</span>;
</span></span><span style="display:flex;"><span>
@ -205,10 +211,10 @@ main nginx configuration.</p>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># DoH may use GET or POST requests, Cache both
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">proxy_cache_methods</span> <span style="color:#a6d189">GET</span> <span style="color:#a6d189">POST</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_cache_methods</span> <span style="color:#a6d189">GET</span> <span style="color:#a6d189">POST</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># Return 404 to all responses, except for those using our published DoH URI
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">location</span> <span style="color:#a6d189">/</span> {
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">location</span> <span style="color:#a6d189">/</span> {
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">try_files</span> <span style="color:#f2d5cf">$uri</span> <span style="color:#f2d5cf">$uri/</span> =<span style="color:#ef9f76">404</span>;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>
@ -216,20 +222,20 @@ main nginx configuration.</p>
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_ssl_ciphers</span> <span style="color:#a6d189">HIGH:!aNULL:!MD5</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># This is our published DoH URI
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">location</span> <span style="color:#a6d189">/dns-query</span> {
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">location</span> <span style="color:#a6d189">/dns-query</span> {
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># Proxy HTTP/1.1, clear the connection header to enable Keep-Alive
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">proxy_http_version</span> <span style="color:#ef9f76">1</span><span style="color:#a6d189">.1</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_http_version</span> <span style="color:#ef9f76">1</span><span style="color:#a6d189">.1</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_set_header</span> <span style="color:#a6d189">Connection</span> <span style="color:#a6d189">&#34;&#34;</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># Enable Cache, and set the cache_key to include the request_body
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">proxy_cache</span> <span style="color:#a6d189">doh_cache</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_cache</span> <span style="color:#a6d189">doh_cache</span>;
</span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_cache_key</span> <span style="color:#f2d5cf">$scheme$proxy_host$uri$is_args$args$request_body</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># proxy pass to dnsdist
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">proxy_pass</span> <span style="color:#a6d189">http://127.0.0.1:5300</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_pass</span> <span style="color:#a6d189">http://127.0.0.1:5300</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span> <span style="color:#737994;font-style:italic"># proxy pass address
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span> <span style="color:#81c8be">proxy_set_header</span> <span style="color:#a6d189">X-Forwarded-For</span> <span style="color:#f2d5cf">$proxy_add_x_forwarded_for</span>;
</span></span></span><span style="display:flex;"><span> <span style="color:#81c8be">proxy_set_header</span> <span style="color:#a6d189">X-Forwarded-For</span> <span style="color:#f2d5cf">$proxy_add_x_forwarded_for</span>;
</span></span><span style="display:flex;"><span> }
</span></span><span style="display:flex;"><span>}
</span></span></code></pre></div><p>After restarting nginx with this configuration you can it to your web browser as

View file

@ -1,26 +1,29 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Setup Traefik - Crony Akatsuki
Setup Traefik - Crony Akatsuki
</title>
<meta property="og:title" content="Setup Traefik" />
<meta property="og:description" content="Do you use docker? Do you use nginx or apachi to proxy the container? Fear not you won&rsquo;t be needing them anymore once you are done with this tutorial.
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/setup-traefik/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Setup Traefik">
<meta property="og:description" content="Do you use docker? Do you use nginx or apachi to proxy the container? Fear not you wont be needing them anymore once you are done with this tutorial.
Traefik is a simple docker centric proxy manager that is amazing and allows you to easilly proxy you docker containers with just a couple of labels.
Setting up Traefik In this part we will setup traefik, with the dashboard enabled and secured with https and a password." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/setup-traefik/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2024-01-19T09:33:47+01:00" />
<meta property="article:modified_time" content="2024-01-19T09:33:47+01:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
Setting up Traefik In this part we will setup traefik, with the dashboard enabled and secured with https and a password.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2024-01-19T09:33:47+01:00">
<meta property="article:modified_time" content="2024-01-19T09:33:47+01:00">
</head>
@ -55,12 +58,11 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<p>Do you use docker? Do you use nginx or apachi to proxy the container? Fear not you won&rsquo;t be needing them anymore once you are done with this tutorial.</p>
<p>Traefik is a simple docker centric proxy manager that is amazing and allows you to easilly proxy you docker containers with just a couple of labels.</p>
<!-- raw HTML omitted -->
<h1 id="setting-up-traefik">Setting up Traefik</h1>
<p>In this part we will setup traefik, with the dashboard enabled and secured with https and a password.</p>
<p>Create a directory where you will keep traefik configuration files and the docker compose. Inside it we will save all the configuration files.</p>
<h2 id="docker-composeyml">docker-compose.yml</h2>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yml" data-lang="yml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#39;3&#39;</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yml" data-lang="yml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#39;3&#39;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">services</span>:
</span></span><span style="display:flex;"><span> <span style="color:#ca9ee6">traefik</span>:
@ -87,7 +89,7 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<p>We are also forcing it to use the latest available stable image to make sure there are no bugs, and disabling proxying the traefik image itself io the lables to make sure it isn&rsquo;t exposed by any means.</p>
<p>We are also making it so it can restart itself unless we specifically stop it, and binding it to port 80 and 443 because those are the default http and https ports that every browser uses when connecting.</p>
<h2 id="traefiktoml">traefik.toml</h2>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span>[entryPoints]
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span>[entryPoints]
</span></span><span style="display:flex;"><span> [entryPoints.web]
</span></span><span style="display:flex;"><span> address = <span style="color:#a6d189">&#34;:80&#34;</span>
</span></span><span style="display:flex;"><span> [entryPoints.web.http.redirections.entryPoint]
@ -117,7 +119,7 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<p>In the api section we are enabling the dashboard, but disallowing insecure access to it.</p>
<p>In the rest of the config we are defining the mail and storage for tls certificates, and enabled docker provider binded to a web network, and enabled the file provider for the dashboard setup.</p>
<h2 id="traefik_dynamictoml">traefik_dynamic.toml</h2>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span>[http.middlewares.simpleAuth.basicAuth]
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-toml" data-lang="toml"><span style="display:flex;"><span>[http.middlewares.simpleAuth.basicAuth]
</span></span><span style="display:flex;"><span> users = [
</span></span><span style="display:flex;"><span> <span style="color:#a6d189">&#34;somebody:$apr1$whatever&#34;</span>
</span></span><span style="display:flex;"><span> ]
@ -143,7 +145,7 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<blockquote>
<p>docker-compose.yml</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yml" data-lang="yml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#34;2.3&#34;</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yml" data-lang="yml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#34;2.3&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">services</span>:
</span></span><span style="display:flex;"><span> <span style="color:#ca9ee6">ntfy</span>:
@ -203,7 +205,7 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<blockquote>
<p>example</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ef9f76">...</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ef9f76">...</span>
</span></span><span style="display:flex;"><span> <span style="color:#ca9ee6">labels</span>:
</span></span><span style="display:flex;"><span> - traefik.enable=false
</span></span><span style="display:flex;"><span><span style="color:#ef9f76">...</span>
@ -213,7 +215,7 @@ Setting up Traefik In this part we will setup traefik, with the dashboard enable
<blockquote>
<p>example docker-compose.yml</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#34;3&#34;</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#ca9ee6">version</span>: <span style="color:#a6d189">&#34;3&#34;</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">networks</span>:
</span></span><span style="display:flex;"><span> <span style="color:#ca9ee6">web</span>:

View file

@ -1,25 +1,31 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Using Mblaze - Crony Akatsuki
Using Mblaze - Crony Akatsuki
</title>
<meta property="og:title" content="Using Mblaze" />
<meta property="og:description" content="So you followed my last tutorial on setting up mblaze and friend&rsquo;s for you mail management, but now you are left just looking at it not understanding how to use the power you have been given now. So now I&rsquo;m going to teach you some basic usage that you can have with it.
Helper function&rsquo;s I guess you haven&rsquo;t read my other blog on setting up mblaze and friend&rsquo;s if you need me to type them out here again, so go read it now!" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/using-mblaze/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2024-01-07T12:15:21+01:00" />
<meta property="article:modified_time" content="2024-01-07T12:15:21+01:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/using-mblaze/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Using Mblaze">
<meta property="og:description" content="So you followed my last tutorial on setting up mblaze and friends for you mail management, but now you are left just looking at it not understanding how to use the power you have been given now. So now Im going to teach you some basic usage that you can have with it.
Helper functions I guess you havent read my other blog on setting up mblaze and friends if you need me to type them out here again, so go read it now! Here is the link.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2024-01-07T12:15:21+01:00">
<meta property="article:modified_time" content="2024-01-07T12:15:21+01:00">
<meta property="article:tag" content="Linux">
<meta property="article:tag" content="Mblaze">
<meta property="article:tag" content="Mail">
</head>
@ -72,7 +78,7 @@ Helper function&rsquo;s I guess you haven&rsquo;t read my other blog on setting
<h1 id="settings-read-status">Settings read status</h1>
<p>To flag mail as read we can use the mflag utiity. We do it by choosing what mail we wanna mark as read and running the command <code>mflag -S N</code>, but after that we need to fix our list because the filename changed because of the fact that we changed the flag to read. To fix that we will run <code>mseq -f : | mseq -S</code>.</p>
<p>We can easily alias this sequence of command&rsquo;s into a function to streamline this.</p>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#ca9ee6">function</span> mread<span style="color:#99d1db;font-weight:bold">()</span> <span style="color:#99d1db;font-weight:bold">{</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#ca9ee6">function</span> mread<span style="color:#99d1db;font-weight:bold">()</span> <span style="color:#99d1db;font-weight:bold">{</span>
</span></span><span style="display:flex;"><span> mflag -S <span style="color:#f2d5cf">$1</span>
</span></span><span style="display:flex;"><span> mseq -f : | mseq -S
</span></span><span style="display:flex;"><span><span style="color:#99d1db;font-weight:bold">}</span>

View file

@ -1,24 +1,30 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Virgin (Neo)Mutt User Meet Mblaze - Crony Akatsuki
Virgin (Neo)Mutt User Meet Mblaze - Crony Akatsuki
</title>
<meta property="og:title" content="Virgin (Neo)Mutt User Meet Mblaze" />
<meta property="og:description" content="We have all heard of (Neo)Mutt when it comes to managing e-mail in the terminal right? What would you do if I told you there is an even better and more UNIX way to manage mail on the terminal? Well there is and it&rsquo;s called mblaze." />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/virgin-mutt-user-meet-mblaze/" /><meta property="article:section" content="blog" />
<meta property="article:published_time" content="2023-10-24T18:13:18+02:00" />
<meta property="article:modified_time" content="2023-10-24T18:13:18+02:00" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/blog/virgin-mutt-user-meet-mblaze/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Virgin (Neo)Mutt User Meet Mblaze">
<meta property="og:description" content="We have all heard of (Neo)Mutt when it comes to managing e-mail in the terminal right? What would you do if I told you there is an even better and more UNIX way to manage mail on the terminal? Well there is and its called mblaze.">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
<meta property="article:section" content="blog">
<meta property="article:published_time" content="2023-10-24T18:13:18+02:00">
<meta property="article:modified_time" content="2023-10-24T18:13:18+02:00">
<meta property="article:tag" content="Linux">
<meta property="article:tag" content="Mail">
<meta property="article:tag" content="Mblaze">
</head>
@ -171,8 +177,8 @@ Scan-Format: %c%u%r %-3n %10d %17f %t %2i%s
<blockquote>
<p>mprofile</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">#!/bin/sh
</span></span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"></span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic">#!/bin/sh
</span></span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#f2d5cf">profiles</span><span style="color:#99d1db;font-weight:bold">=</span><span style="color:#ca9ee6">$(</span>find <span style="color:#a6d189">&#34;</span><span style="color:#f2d5cf">$HOME</span><span style="color:#a6d189">&#34;</span>/.config/mblaze -type f -exec basename <span style="color:#a6d189">&#34;{}&#34;</span> <span style="color:#8caaee">\;</span><span style="color:#ca9ee6">)</span>
</span></span><span style="display:flex;"><span><span style="color:#f2d5cf">currentMaildir</span><span style="color:#99d1db;font-weight:bold">=</span><span style="color:#ca9ee6">$(</span>grep <span style="color:#a6d189">&#34;^Maildir:&#34;</span> <span style="color:#a6d189">&#34;</span><span style="color:#f2d5cf">$HOME</span><span style="color:#a6d189">&#34;</span>/.mblaze/profile | cut -d: -f <span style="color:#ef9f76">2</span> | sed <span style="color:#a6d189">&#39;s/ //g&#39;</span><span style="color:#ca9ee6">)</span>
</span></span><span style="display:flex;"><span>
@ -190,7 +196,7 @@ Scan-Format: %c%u%r %-3n %10d %17f %t %2i%s
<blockquote>
<p>functions</p>
</blockquote>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># mblaze functions</span>
<div class="highlight"><pre tabindex="0" style="color:#c6d0f5;background-color:#303446;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># mblaze functions</span>
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#737994;font-style:italic"># Get new mail for current profile</span>
</span></span><span style="display:flex;"><span><span style="color:#ca9ee6">function</span> mnew <span style="color:#99d1db;font-weight:bold">()</span> <span style="color:#99d1db;font-weight:bold">{</span>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Categories - Crony Akatsuki
Categories - Crony Akatsuki
</title>
<meta property="og:title" content="Categories" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/categories/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/categories/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Categories">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -2,22 +2,24 @@
<html lang="en">
<head>
<meta name="generator" content="Hugo 0.124.0">
<meta charset="UTF-8" />
<meta name="generator" content="Hugo 0.155.0"><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Crony Akatsuki&#39;s Website
Crony Akatsuki&#39;s Website
</title>
<meta property="og:title" content="Crony Akatsuki&#39;s Website" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Crony Akatsuki&#39;s Website">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,24 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Services I host - Crony Akatsuki
Services I host - Crony Akatsuki
</title>
<meta property="og:title" content="Services I host" />
<meta property="og:description" content="All the different services I host" />
<meta property="og:type" content="article" />
<meta property="og:url" content="https://cronyakatsuki.xyz/services/" /><meta property="article:section" content="" />
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/services/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Services I host">
<meta property="og:description" content="All the different services I host">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="article">
</head>
@ -48,82 +48,131 @@ are publicly available for everyone to use if they wan&rsquo;t to, or in specifi
cases like lemmy you will need to provide an application and get approved by me
to get an account.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Service</th>
<th style="text-align:left">Description</th>
<th style="text-align:left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><a href="https://upfast.cronyakatsuki.xyz">UpFast</a></td>
<td style="text-align:left">Open source file sharing.</td>
<td style="text-align:left"><a href="https://git.cronyakatsuki.xyz/crony/upfast">Gitea</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://searx.cronyakatsuki.xyz">SearXNG</a></td>
<td style="text-align:left">Open source search engine.</td>
<td style="text-align:left"><a href="https://github.com/searxng/searxng">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://libreddit.cronyakatsuki.xyz">LibReddit</a></td>
<td style="text-align:left">Open Source reddit frontend.</td>
<td style="text-align:left"><a href="https://github.com/libreddit/libreddit">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://lemmy.cronyakatsuki.xyz">lemmy</a></td>
<td style="text-align:left">Open source activity pub federated reddit alternative.</td>
<td style="text-align:left"><a href="https://github.com/LemmyNet">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://mumble.cronyakatsuki.xyz">Mumble</a></td>
<td style="text-align:left">Open source voice chat application</td>
<td style="text-align:left"><a href="https://github.com/mumble-voip/mumble">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://crafty.cronyakatsuki.xyz">CraftyController</a></td>
<td style="text-align:left">Open source minecraft server manager</td>
<td style="text-align:left"><a href="https://gitlab.com/crafty-controller/crafty-4">Gitlab</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://wallabag.cronyakatsuki.xyz">Wallabag</a></td>
<td style="text-align:left">Open source bookmark service</td>
<td style="text-align:left"><a href="https://github.com/wallabag/wallabag">Github</a></td>
</tr>
</tbody>
<thead>
<tr>
<th style="text-align: left">Service</th>
<th style="text-align: left">Description</th>
<th style="text-align: left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left"><a href="https://upfast.cronyakatsuki.xyz">UpFast</a></td>
<td style="text-align: left">Open source file sharing.</td>
<td style="text-align: left"><a href="https://git.cronyakatsuki.xyz/crony/upfast">Gitea</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://searx.cronyakatsuki.xyz">SearXNG</a></td>
<td style="text-align: left">Open source search engine.</td>
<td style="text-align: left"><a href="https://github.com/searxng/searxng">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://libreddit.cronyakatsuki.xyz">LibReddit</a></td>
<td style="text-align: left">Open Source reddit frontend.</td>
<td style="text-align: left"><a href="https://github.com/libreddit/libreddit">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://lemmy.cronyakatsuki.xyz">lemmy</a></td>
<td style="text-align: left">Open source activity pub federated reddit alternative.</td>
<td style="text-align: left"><a href="https://github.com/LemmyNet">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://mumble.cronyakatsuki.xyz">Mumble</a></td>
<td style="text-align: left">Open source voice chat application</td>
<td style="text-align: left"><a href="https://github.com/mumble-voip/mumble">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://wallabag.cronyakatsuki.xyz">Wallabag</a></td>
<td style="text-align: left">Open source bookmark service</td>
<td style="text-align: left"><a href="https://github.com/wallabag/wallabag">Github</a></td>
</tr>
</tbody>
</table>
<h3 id="services-i-might-allow-people-i-know-or-am-close-with-in">Services I might allow people I know or am close with in</h3>
<table>
<thead>
<tr>
<th style="text-align:left">Service</th>
<th style="text-align:left">Description</th>
<th style="text-align:left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><a href="https://feed.cronyakatsuki.xyz">MiniFlux</a></td>
<td style="text-align:left">Open source feed reader.</td>
<td style="text-align:left"><a href="https://github.com/miniflux/v2">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://ntfy.cronyakatsuki.xyz">ntfy</a></td>
<td style="text-align:left">Open source push notifications server.</td>
<td style="text-align:left"><a href="https://github.com/binwiederhier/ntfy">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="https://nd.cronyakatsuki.xyz">navidrome</a></td>
<td style="text-align:left">Open source music streaming</td>
<td style="text-align:left"><a href="https://github.com/navidrome/navidrome/">Github</a></td>
</tr>
<tr>
<td style="text-align:left"><a href="abs.cronyakatsuki.xyz">audiobookshelf</a></td>
<td style="text-align:left">Open source audiobook and podcast server</td>
<td style="text-align:left"><a href="https://github.com/advplyr/audiobookshelf">Github</a></td>
</tr>
</tbody>
<thead>
<tr>
<th style="text-align: left">Service</th>
<th style="text-align: left">Description</th>
<th style="text-align: left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left"><a href="https://feed.cronyakatsuki.xyz">MiniFlux</a></td>
<td style="text-align: left">Open source feed reader.</td>
<td style="text-align: left"><a href="https://github.com/miniflux/v2">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://ntfy.cronyakatsuki.xyz">ntfy</a></td>
<td style="text-align: left">Open source push notifications server.</td>
<td style="text-align: left"><a href="https://github.com/binwiederhier/ntfy">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://nd.cronyakatsuki.xyz">navidrome</a></td>
<td style="text-align: left">Open source music streaming</td>
<td style="text-align: left"><a href="https://github.com/navidrome/navidrome/">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://abs.cronyakatsuki.xyz">audiobookshelf</a></td>
<td style="text-align: left">Open source audiobook and podcast server</td>
<td style="text-align: left"><a href="https://github.com/advplyr/audiobookshelf">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://changedetection.cronyakatsuki.xyz">changedetection.io</a></td>
<td style="text-align: left">Open source website change detection server</td>
<td style="text-align: left"><a href="https://github.com/dgtlmoon/changedetection.io">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://matrix.cronyakatsuki.xyz">conduit</a></td>
<td style="text-align: left">Open source matrix server implementation</td>
<td style="text-align: left"><a href="https://gitlab.com/famedly/conduit">Gitlab</a></td>
</tr>
</tbody>
</table>
<h3 id="services-i-host-for-easilly-sharing-stuff">Services I host for easilly sharing stuff</h3>
<table>
<thead>
<tr>
<th style="text-align: left">Service</th>
<th style="text-align: left">Description</th>
<th style="text-align: left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left"><a href="https://immich.cronyakatsuki.xyz">Immich</a></td>
<td style="text-align: left">Open source google images alternative</td>
<td style="text-align: left"><a href="https://github.com/immich-app/immich">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://filebrowser.cronyakatsuki.xyz">Filebrowser</a></td>
<td style="text-align: left">Open source file manager in a browser</td>
<td style="text-align: left"><a href="https://github.com/filebrowser/filebrowser">Github</a></td>
</tr>
</tbody>
</table>
<h3 id="services-i-host-for-my-personal-sync-of-stuff">Services I host for my personal sync of stuff</h3>
<table>
<thead>
<tr>
<th style="text-align: left">Service</th>
<th style="text-align: left">Description</th>
<th style="text-align: left">Source Code</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: left"><a href="https://atuin.cronyakatsuki.xyz">atuin</a></td>
<td style="text-align: left">Open source shell history sync server</td>
<td style="text-align: left"><a href="https://github.com/atuinsh/atuin">Github</a></td>
</tr>
<tr>
<td style="text-align: left"><a href="https://syncyomi.cronyakatsuki.xyz">syncyomi</a></td>
<td style="text-align: left">Open source tachiyomi sync server</td>
<td style="text-align: left"><a href="https://github.com/syncyomi/syncyomi">Github</a></td>
</tr>
</tbody>
</table>
</div>
</main>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Android - Crony Akatsuki
Android - Crony Akatsuki
</title>
<meta property="og:title" content="Android" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/android/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/android/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Android">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Browser - Crony Akatsuki
Browser - Crony Akatsuki
</title>
<meta property="og:title" content="Browser" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/browser/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/browser/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Browser">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Dns - Crony Akatsuki
Dns - Crony Akatsuki
</title>
<meta property="og:title" content="Dns" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/dns/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/dns/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Dns">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Tags - Crony Akatsuki
Tags - Crony Akatsuki
</title>
<meta property="og:title" content="Tags" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Tags">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>
@ -44,14 +46,29 @@
<section class="list">
<a href="/tags/rss/">
Rss</a><br />
<a href="/tags/scrcpy/">
Scrcpy</a><br />
<a href="/tags/piped/">
Piped</a><br />
<a href="/tags/linux/">
Linux</a><br />
<a href="/tags/browser/">
Browser</a><br />
<a href="/tags/android/">
Android</a><br />
<a href="/tags/mblaze/">
Mblaze</a><br />
<a href="/tags/mail/">
Mail</a><br />
<a href="/tags/ssh/">
Ssh</a><br />
<a href="/tags/security/">
Security</a><br />
<a href="/tags/ntfy/">
Ntfy</a><br />
<a href="/tags/unbound/">
Unbound</a><br />
@ -65,29 +82,14 @@
<a href="/tags/dns/">
Dns</a><br />
<a href="/tags/ssh/">
Ssh</a><br />
<a href="/tags/piped/">
Piped</a><br />
<a href="/tags/security/">
Security</a><br />
<a href="/tags/browser/">
Browser</a><br />
<a href="/tags/ntfy/">
Ntfy</a><br />
<a href="/tags/mblaze/">
Mblaze</a><br />
<a href="/tags/mail/">
Mail</a><br />
<a href="/tags/scrcpy/">
Scrcpy</a><br />
<a href="/tags/linux/">
Linux</a><br />
<a href="/tags/android/">
Android</a><br />
<a href="/tags/rss/">
Rss</a><br />
</section>
</div>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Linux - Crony Akatsuki
Linux - Crony Akatsuki
</title>
<meta property="og:title" content="Linux" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/linux/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/linux/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Linux">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Mail - Crony Akatsuki
Mail - Crony Akatsuki
</title>
<meta property="og:title" content="Mail" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/mail/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/mail/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Mail">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Mblaze - Crony Akatsuki
Mblaze - Crony Akatsuki
</title>
<meta property="og:title" content="Mblaze" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/mblaze/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/mblaze/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Mblaze">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Ntfy - Crony Akatsuki
Ntfy - Crony Akatsuki
</title>
<meta property="og:title" content="Ntfy" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/ntfy/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/ntfy/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Ntfy">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Pi-Hole - Crony Akatsuki
Pi-Hole - Crony Akatsuki
</title>
<meta property="og:title" content="Pi-Hole" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/pi-hole/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/pi-hole/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Pi-Hole">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Piped - Crony Akatsuki
Piped - Crony Akatsuki
</title>
<meta property="og:title" content="Piped" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/piped/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/piped/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Piped">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Rss - Crony Akatsuki
Rss - Crony Akatsuki
</title>
<meta property="og:title" content="Rss" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/rss/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/rss/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Rss">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Scrcpy - Crony Akatsuki
Scrcpy - Crony Akatsuki
</title>
<meta property="og:title" content="Scrcpy" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/scrcpy/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/scrcpy/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Scrcpy">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Security - Crony Akatsuki
Security - Crony Akatsuki
</title>
<meta property="og:title" content="Security" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/security/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/security/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Security">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Self-Host - Crony Akatsuki
Self-Host - Crony Akatsuki
</title>
<meta property="og:title" content="Self-Host" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/self-host/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/self-host/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Self-Host">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Ssh - Crony Akatsuki
Ssh - Crony Akatsuki
</title>
<meta property="og:title" content="Ssh" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/ssh/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/ssh/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Ssh">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>

View file

@ -1,22 +1,24 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<head><meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link href="/css/style.css" rel="stylesheet" />
<script defer data-domain="cronyakatsuki.xyz" src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function() { (window.plausible.q = window.plausible.q || []).push(arguments) }</script>
<script defer data-domain="cronyakatsuki.xyz"
src="https://plausible.cronyakatsuki.xyz/js/script.file-downloads.outbound-links.js"></script>
<script>window.plausible = window.plausible || function () {(window.plausible.q = window.plausible.q || []).push(arguments)}</script>
<title>
Unbound - Crony Akatsuki
Unbound - Crony Akatsuki
</title>
<meta property="og:title" content="Unbound" />
<meta property="og:description" content="My shitty website" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/unbound/" /><meta property="og:site_name" content="Crony Akatsuki&#39;s Website" />
<meta property="og:url" content="https://cronyakatsuki.xyz/tags/unbound/">
<meta property="og:site_name" content="Crony Akatsuki&#39;s Website">
<meta property="og:title" content="Unbound">
<meta property="og:description" content="My shitty website">
<meta property="og:locale" content="en_us">
<meta property="og:type" content="website">
</head>