<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.fassag.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=VV</id>
	<title>FASSAG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.fassag.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=VV"/>
	<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php/Special:Contributions/VV"/>
	<updated>2026-08-01T00:03:49Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Linux_anatomy&amp;diff=320</id>
		<title>Linux anatomy</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Linux_anatomy&amp;diff=320"/>
		<updated>2026-07-08T01:54:48Z</updated>

		<summary type="html">&lt;p&gt;VV: Add Kernel and Init system sections, add some links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = Novice&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This guide introduces a novice Linux user to common terms used to describe various common parts of the core functionality of a typical Linux computer. Maybe you&#039;ve heard about a &amp;quot;kernel&amp;quot; and want to know what it is, or perhaps you are curious why there are so many different types of Linux you can install.&lt;br /&gt;
&lt;br /&gt;
We only assume some very basic familiarity to computers and operating systems in this guide--if you can install and run programs and you know that Linux and Windows are operating systems, you should be able to follow it.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&amp;quot;Linux&amp;quot; is a term that has a few meanings, and sometimes you will see debates online (often jokingly) about what part of the software actually counts as Linux. Though some pedants might take issue with this, in this guide we will be using the term &amp;quot;Linux&amp;quot; to refer to &#039;&#039;&#039;an entire system&#039;&#039;&#039; that runs software on top of the Linux Kernel. &lt;br /&gt;
&lt;br /&gt;
The basic gist is that Linux is a set of programs and utilities, as well as a core program called a &amp;quot;[[Linux anatomy#Kernel|kernel]]&amp;quot;, that work together to create a system which can be used for many different purposes, and be customized in many ways. Keep reading to gain a better understanding of how these pieces all fit together.&lt;br /&gt;
&lt;br /&gt;
== Distribution ==&lt;br /&gt;
When you are deciding how to install Linux, one of the first considerations you may want to make is selecting a Linux Distribution (often abbreviated as &amp;quot;distro&amp;quot;). There are an incredible variety of Linux distributions out there, and different folks may recommend different distributions depending on your needs and taste.&lt;br /&gt;
&lt;br /&gt;
But what exactly is a distribution in the first place? Why is this so different from how Windows works, where there are just a few &amp;quot;editions&amp;quot; which you have to pick? And why can&#039;t you just go to a single website and install &amp;quot;Normal Linux&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
In short, this is because, unlike macOS or Windows, there is no singular company or organization working on Linux as a whole. The Linux Kernel is worked on by a single large team of dedicated volunteers, but they have enough on their hands with just those responsibilities. And, for reasons that will be explained, it is impossible to have a usable system (especially a desktop system) with only a kernel.&lt;br /&gt;
&lt;br /&gt;
So instead, many groups of volunteers have created their own organizations which do the important work of packaging together all the necessary components and building up a usable system on top of the Kernel. Distributions have the job of deciding on a &#039;&#039;[[Linux anatomy#Package manager|package manager]]&#039;&#039;, &#039;&#039;[[Linux anatomy#Desktop environment|desktop environment]]&#039;&#039;, &#039;&#039;[[Linux anatomy#Init system|init system]]&#039;&#039;, &#039;&#039;[[Linux anatomy#Windowing system|windowing system]]&#039;&#039;, &#039;&#039;[[Linux anatomy#Compositor|compositor]]&#039;&#039;, and more. They also usually come up with a unique look and branding for their distribution, and unique features that might set their distribution apart from their peers. When they do their job well, everything comes together seamlessly to create a cohesive and usable experience that gives a user the particular features they want.&lt;br /&gt;
&lt;br /&gt;
=== Fixed-release ===&lt;br /&gt;
Some distros prioritize stability, which means that they are very careful about what versions of software are included, and they test the systems for bugs very carefully before upgrading them. These distributions usually release entire new versions of their desktop environments on a cadence, every 6 months or every year, in what is called a &amp;quot;Fixed release&amp;quot; schedule. This can be undesirable for some users, as they may become frustrated that newer software or features are not available yet on their distribution.&lt;br /&gt;
&lt;br /&gt;
=== Rolling-release ===&lt;br /&gt;
Other distros prioritize new features, which means they give you access to the latest and greatest features and software. However, such distributions can sometimes have more bugs, crashes, or other glitches, because there is usually less time for the creators of the distribution to test the software they are showing. These distros are often &amp;quot;Rolling release&amp;quot;, which just means that they do not release a single version every 6 months, but instead update single pieces of software as new updates come in and they appear to be stable.&lt;br /&gt;
&lt;br /&gt;
=== Power-user distros ===&lt;br /&gt;
Many distributions are designed for power users. They might be minimal, requiring a lot of manual customization and setup, but allowing for a system to be built that is exactly how the user wants it to be. Or perhaps they have the goal of being as free of [[Proprietary|proprietary software]] as possible.&lt;br /&gt;
&lt;br /&gt;
=== Beyond ===&lt;br /&gt;
There are also distributions which focus on creating an environment that is as close to the experience of using Windows as possible, in order to make it easier for Linux beginners to use comfortably. Distributions may also advertise themselves as being ideal for gaming, security research, or for use by lower-power machines. Whatever your needs, there is probably a Linux distribution for you.&lt;br /&gt;
&lt;br /&gt;
Just a few examples of Linux distributions include [https://www.linuxmint.com/ Linux Mint], [https://ubuntu.com/desktop Ubuntu], [https://www.debian.org/ Debian], and [https://www.gentoo.org/ Gentoo]. Wikipedia has a [[wikipedia:List_of_Linux_distributions|helpful list]] of many more.&lt;br /&gt;
&lt;br /&gt;
== Software vs. libraries ==&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
As you likely know, a piece of software is any sort of application or tool that runs on the computer. A very general term, this might refer to a tiny tool that simply tells you the time, and it also might refer to the web browser that you&#039;re using right now. What differentiates software from libraries is that software &#039;&#039;is run by the user&#039;&#039;, and libraries are &#039;&#039;used by the software&#039;&#039;. Usually you will interact with software rather than libraries, unless you&#039;re a programmer.&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
A library is a piece of functionality that can be used by software, to give it the ability to do something useful. You don&#039;t use libraries directly; instead, a program you use makes use of it.&lt;br /&gt;
&lt;br /&gt;
Linux software uses many thousands of libraries, and many pieces of software may rely on one single library for functionality. Libraries rely on other libraries, as well! On your computer, there&#039;s a whole graph of &#039;&#039;dependencies&#039;&#039; putting software together, like puzzle pieces.&lt;br /&gt;
&lt;br /&gt;
Libraries are always changing, and mismatches across software can arise when a change is made. This is where package managers become incredibly useful.&lt;br /&gt;
&lt;br /&gt;
== Package manager ==&lt;br /&gt;
The idea behind a package manager is very simple, and it&#039;s likely you&#039;ve encountered one before. The macOS and iOS App Stores, and the Windows Store are examples of package managers created by Apple and Microsoft. However, many apps on these stores are paid, whereas Linux package managers are almost always entirely free.&lt;br /&gt;
&lt;br /&gt;
The main purpose of a package manager is obtaining and organizing versions of libraries and software, and making sure that all the puzzle pieces fit together without overlapping in a bad way. These software and libraries are provided in the form of &#039;&#039;packages&#039;&#039;, which are basically tidy containers of installers that tell the system what needs to happen to get your program running.&lt;br /&gt;
&lt;br /&gt;
A Linux distribution generally provides one (or sometimes two) package managers. These package managers usually have a &#039;&#039;repository&#039;&#039; which is a collection of software you might want to install. Usually, the distribution will provide a simple graphical application (often called a &amp;quot;Software Center&amp;quot; or Store) for updating your software and installing new software from the repository, and you don&#039;t need to worry about the details of the package manager at all. You should always check the Software Center provided by your distribution first when looking for new software to install, because this is almost always the easiest way to install it and keep it updated.&lt;br /&gt;
&lt;br /&gt;
It is still useful to know what sort of package manager your distribution uses though, especially when you want to install new software from the internet that isn&#039;t available in the repository. Each package manager has its own way of installing software, so if you download a program it might not be installable on your system. In this way, Linux is different from Windows, where you can click on an .exe installer, or macOS, where you can drag a new program to the Applications folder. But luckily, the package manager often has everything you need, and you don&#039;t need to go onto web pages to install random things from the Internet! &lt;br /&gt;
&lt;br /&gt;
Knowing what is available to install on your system gives you power. And if you want to become a more advanced user it may be useful to familiarize yourself with how to use your package manager from the [[terminal]].&lt;br /&gt;
&lt;br /&gt;
== Desktop environment ==&lt;br /&gt;
The Desktop Environment, or DE for short, is a set of programs that shape how your experience works. Different DEs can radically change how programs are launched and switched, and displayed on the screen.&lt;br /&gt;
&lt;br /&gt;
Docks, desktops, taskbars, app launchers, settings pages, file managers, and often software updaters are provided by the Desktop Environment. Different environments are suitable for different purposes.&lt;br /&gt;
&lt;br /&gt;
The average user will likely find the choice of DE to be the single most impactful choice in terms of defining an experience of using the computer, because it shapes the look and feel of the desktop the most. Indeed, the biggest visual differences between Windows and macOS (the Dock/Taskbar, File Explorer/Finder, preferences panels, and more) have Linux equivalents determined by the DE.&lt;br /&gt;
&lt;br /&gt;
Some desktop environments, like [https://www.gnome.org/ GNOME], focus on a straightforward singular experience with less customization options and certain consistent design patterns. These environments are sometimes less confusing, because you are forced into a common path which is encountered by more people, and so it&#039;ll be easier to compare your desktop with others when trying to figure out how to do something. Some users find the consistent interface to be more pleasing to the eye, as well (but this is very much a matter of individual taste).&lt;br /&gt;
&lt;br /&gt;
Other desktop environments, like [https://kde.org/ KDE], are all about offering as much customization as possible, and creating exactly the desktop you want. These can sometimes be confusing for newer users, if they change options that cause their system to do something they didn&#039;t expect, and don&#039;t know how to change it back.&lt;br /&gt;
&lt;br /&gt;
There are even more environments which prioritize absolute customization, or allow for all sorts of exotic setups. Ultimately, what DE you choose comes down to what level of expertise you are comfortable with, and where your priorities lie when using an operating system.&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
The Linux kernel is the core of Linux. Its job is to talk directly with the computer [[hardware]] and create the environment upon which programs and libraries can run. The kernel provides simple functions called [[Syscall|syscalls]] that programs and libraries can use to do very core system operations like opening files. It also manages when programs are allowed to use the CPU so that multiple programs can be run simultaneously, and loads [[Driver|drivers]], which are special programs that devices connected to the computer use to communicate.&lt;br /&gt;
&lt;br /&gt;
Conceptually, it might seem that the kernel doesn&#039;t have that difficult of a job, but these sorts of core operations are actually quite complex, especially when drivers and complicated modern CPUs are involved. This means the kernel is a sophisticated program which is always being updated and tweaked!&lt;br /&gt;
&lt;br /&gt;
Most users don&#039;t have to directly interact with the kernel very much, as there are many layers built up on top of it that you are usually using. In very rare cases though, you might see something called a &amp;quot;kernel panic&amp;quot;. When this happens, the kernel has hit an error that is so bad, the entire operating system cannot recover gracefully and must be restarted. This is the same sort of problem as the so-called &amp;quot;Blue Screen of Death&amp;quot;, on Windows. Luckily, these sorts of errors are very unusual to see in Linux!&lt;br /&gt;
&lt;br /&gt;
== Kernel space and user space ==&lt;br /&gt;
The kernel has full control of the computer, and it only lends out its power to programs. This separation of concerns is to prevent a scenario where a program might break or tamper with other programs, take control of devices, read things it shouldn&#039;t, etc. If all the programs had unrestricted access to each other and the system, it would be hard to keep a separation between different programs. It wouldn&#039;t be possible to have a system that runs with multiple users, because each user could view and modify all files, even if they weren&#039;t an [[administrator]]. The kernel is powerful, and only lends out its full power to those with &amp;quot;root&amp;quot; access.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Kernel space&amp;quot; refers to this &amp;quot;dangerous&amp;quot; part of the computer that only the kernel has access to, and &amp;quot;user space&amp;quot; refers to the safer portion of the computer&#039;s memory, CPU and other functionality that is reserved by the kernel for programs. In this context, the &amp;quot;user&amp;quot; refers to programs running on top of the kernel, as opposed to the kernel itself.&lt;br /&gt;
&lt;br /&gt;
In user space, memory isn&#039;t usually shared--each program gets its own view of memory and can&#039;t peek into other memory. Programs must always run as a user, and programs can only open files that their user has access to. Most programs are not run with so-called &amp;quot;privileged&amp;quot; access, and so can only open some of the files on the computer&#039;s drives. If you want to work with kernel space in some way, you have to go through the kernel, with syscalls and such.&lt;br /&gt;
&lt;br /&gt;
== Init system ==&lt;br /&gt;
&lt;br /&gt;
== Windowing system ==&lt;br /&gt;
&lt;br /&gt;
== Compositor ==&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=319</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=319"/>
		<updated>2026-07-08T01:08:32Z</updated>

		<summary type="html">&lt;p&gt;VV: Undo revision 318 by VV (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(*)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|no html&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=318</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=318"/>
		<updated>2026-07-08T01:07:39Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(G.Guide)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|no html&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=317</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=317"/>
		<updated>2026-07-08T01:02:24Z</updated>

		<summary type="html">&lt;p&gt;VV: Undo revision 316 by VV (talk)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(*)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|no html&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=316</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=316"/>
		<updated>2026-07-08T01:01:59Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(*)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft&amp;diff=313</id>
		<title>Template:Draft</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft&amp;diff=313"/>
		<updated>2026-07-08T00:59:42Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;templatestyles src=&amp;quot;Draft/styles.css&amp;quot; /&amp;gt;&amp;lt;div role=&amp;quot;draft&amp;quot; class=&amp;quot;infobox infobox-draft&amp;quot;&amp;gt;This is currently a &#039;&#039;&#039;draft&#039;&#039;&#039;. It has not yet been completed.&amp;lt;/div&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=312</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=312"/>
		<updated>2026-07-08T00:58:15Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide p {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide p + ul {&lt;br /&gt;
    margin-top: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul {&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
    content: &#039;•&#039;;&lt;br /&gt;
    padding: .5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=311</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=311"/>
		<updated>2026-07-08T00:56:13Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide p {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul ~ p {&lt;br /&gt;
    margin-bottom: 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul {&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
    content: &#039;•&#039;;&lt;br /&gt;
    padding: .5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=310</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=310"/>
		<updated>2026-07-08T00:51:30Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(*)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|no html&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=309</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=309"/>
		<updated>2026-07-08T00:15:51Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(G.Tier)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|no html&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=308</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=308"/>
		<updated>2026-07-08T00:11:15Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr:{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(G.Tier)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder}}&amp;gt;1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=307</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=307"/>
		<updated>2026-07-08T00:09:03Z</updated>

		<summary type="html">&lt;p&gt;VV: hail Mary attempt to do conditional formatting&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The complexity tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of complexity&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} complexity&#039;&#039;&#039; guide. {{#ifexpr: {{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=COUNT(G.Tier)&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder}} &amp;gt; 1|All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;|&amp;lt;/p&amp;gt;}}&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=TODO&amp;diff=297</id>
		<title>TODO</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=TODO&amp;diff=297"/>
		<updated>2026-07-01T01:12:57Z</updated>

		<summary type="html">&lt;p&gt;VV: /* In Progress Pages : */ oops&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a list of projects currently being worked on and references to relevant information.&lt;br /&gt;
&lt;br /&gt;
Please check [[Special:WantedPages|this list]] and see if there&#039;s anything you&#039;re interested in writing about!&lt;br /&gt;
&lt;br /&gt;
== Easy first project : ==&lt;br /&gt;
&lt;br /&gt;
* write about the distinction between distro / kernel / init / userspace / DE / windowing system / compositor / package manager&lt;br /&gt;
&lt;br /&gt;
* mpeg container format&lt;br /&gt;
**h264&lt;br /&gt;
*hardware accelerated media playback&lt;br /&gt;
&lt;br /&gt;
* Write a page describing how matrix works, how it relates to FASSAG, and some client quirks to be aware of.&lt;br /&gt;
** Maybe these should be separate pages?&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$9flQpMULrrZ9q3sM1CIKtDdwpHCC_YFOCDbXeAevn7M?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] consider having a dedicated page to matrix&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$B46BEaqrLtxuJ5BvQt_z8qzDZD4VIq2grk2MS1R6F_I?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] the matrix.to page is apparently just broken ,,, the icon is just not viewable .&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$-TvpInGLsJ_8wHilOnuKDYtP8D9T4C5DJIMQRsiAf_U?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] Yeah so it commet receives a thread reply, it inserts the thread parent into the thread body instead of the new thread reply message&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== In Progress Pages : ==&lt;br /&gt;
* Finish LUKS guide , and probably split it up into simpler and more advanced guides&lt;br /&gt;
**[[LUKS]]&lt;br /&gt;
**NOTES:&lt;br /&gt;
*** for a bit of context as to why i wanted to write this in the first place, someone asked me &amp;quot;if i want the best security, how do i setup a LUKS partition?&amp;quot; and based on that question, I assume that just telling them &amp;quot;the defaults are fine&amp;quot; would not be a particularly satisfying answer. so i did my best to research everything, and tried to compile an exhaustive list of reasons why the defaults are OK. i went in assuming that there might be like, some algorithm that has a very strong performance cost for better security, but ultimately concluded, that wasn&#039;t really the case . but like , only after trying to understand everything.&lt;br /&gt;
*** &amp;quot;a good amount of this information is pulled from [link]&amp;quot; by itself sounds kinda weird, like why should someone read your post instead of just going to that link immediately? perhaps &amp;quot;The [cryptsetup FAQ](...) is a great in-depth resource on all the available security options, but it&#039;s pretty long and complex. This post will cover the basics so you can get set up quickly with a reasonably secure system.&amp;quot;&lt;br /&gt;
*** if your system is starved of entropy, one technique I&#039;ve seen is to use random.org , e.g. &amp;lt;code&amp;gt;curl -Ss &amp;lt;nowiki&amp;gt;https://www.random.org/cgi-bin/randbyte?nbytes=16384&amp;amp;format=f&amp;lt;/nowiki&amp;gt; &amp;gt; /dev/random&amp;lt;/code&amp;gt;&lt;br /&gt;
**** then you should be able to run any programs that would block on /dev/random&lt;br /&gt;
*** you should define what &amp;quot;post quantum resistant&amp;quot; means if you&#039;re going to mention it, IMO&lt;br /&gt;
*** ZFS actually uses an authenticated encryption mode by default (AES-GCM) which is how it can detect tampering. i think this is what you meant, but saying &amp;quot;XTS vulnerabilities can be mitigated with ZFS or BTRFS&amp;quot;  is a little less clear than &amp;quot;XTS has vulnerabilities &#039;&#039;&#039;under certain threat models&#039;&#039;&#039;, such as A, B and C [IMO if you&#039;re going to mention this you should also explain what the vulnerabilities are, you can&#039;t just drop this with no context]. If you are concerned about these issues, you should use an authenticated encryption mode like AES-GCM, which is unfortunately not available with LUKS due to the additional space needed for the authentication tags, but can be accomplished with a supporting filesystem such as ZFS.&amp;quot;&lt;br /&gt;
**** i don&#039;t remember where i read that &amp;quot;ZFS and BTRFS will help with the corruption issues of XTS&amp;quot; they may not have even been talking about LUKS directly and i just got confused (it was probably Wikipedia)&lt;br /&gt;
*** i guess to expand on this, if you have a good idea of what your target audience is then you should be evaluating everything in the post from that point of view. suppose you are a beginner who doesn&#039;t know anything about crypto. &amp;quot;XTS has vulnerabilities&amp;quot; and &amp;quot;AES-256 is post quantum&amp;quot; are meaningless to u without further context. maybe the context for those things isn&#039;t the point of the post, but in that case u could maybe link to further resources or have some further explanation in footnotes&lt;br /&gt;
* [[Linux anatomy]]&lt;br /&gt;
&lt;br /&gt;
== Needs Research / Implementation ==&lt;br /&gt;
* A guide on how to use and navigate around the WIKI would be a very good idea&lt;br /&gt;
** TBH I&#039;m not entirely sure how wikis are usually structured, maybe something to look into&lt;br /&gt;
*** from what i can remember offhand, usually the home page has some links to more specific topics, which then link out to other articles&lt;br /&gt;
**** probably there *shouldn&#039;t* be an orphaned articles&lt;br /&gt;
** we could also figure out if we want to have a more &amp;quot;document&amp;quot; focused theme for desktop like maybe [[mediawikiwiki:BlueSpice|BlueSpice]]&lt;br /&gt;
*** if we have something less functional than [[mediawikiwiki:BlueSpice|BlueSpice]] though, we&#039;ll want to explain in the guide how to change the default user theme if someone is interested in doing editing&lt;br /&gt;
** how to use tables&lt;br /&gt;
** how to use templates&lt;br /&gt;
** how to use the WYSIWYG editor&lt;br /&gt;
&lt;br /&gt;
* Braille / TTS support on linux&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$YQue0cGGqU5KXtuNEOPpbZUl_-M25V1fj46S8kJA2q0?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Matrix] reference&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
* Templates&lt;br /&gt;
** user profile information template (need to flesh out how this will look)&lt;br /&gt;
*** should have information about how they are best motivated&lt;br /&gt;
*** should have matrix account&lt;br /&gt;
*** should describe teams they are in and &amp;lt;s&amp;gt;what roles they want to play in those teams&amp;lt;/s&amp;gt;&lt;br /&gt;
**** Roles are now defined through [[Template:Add role]] and [[Template:User roles]] in a user page.&lt;br /&gt;
*** a description of their skills and interests&lt;br /&gt;
*** DRAFT : [[User:Everlastingred]]&lt;br /&gt;
** TODO item template? probably to gather information from relevant pages but some TODOs will likely not have a page? dunno, something to think about&lt;br /&gt;
** Directory of all unfinished pages (pages which include the Draft template)&lt;br /&gt;
** &amp;quot;this page is a placeholder&amp;quot;&lt;br /&gt;
** &amp;quot;this page is an accessory to another?&amp;quot; (maybe see or see also cover this, IDK)&lt;br /&gt;
** tiered information.&lt;br /&gt;
*** We are now using [[Template:Guide]] and sub-pages (use &#039;SomeGuide/advanced&#039; etc with a slash) to determine a guide&#039;s tier and link to other tiers of the same guide.&lt;br /&gt;
*** a graph of the different tiers of depth on the main page may also be a good idea ? probably should also try to figure out some ground rules about what kind of content is even suitable for which tier , how many tiers there should be , etc . for example , on the LUKS page , since that is assuming like , someone is installing linux , that&#039;s already like , above the base tier imo , which is just like &amp;quot; the OS that came on your computer &amp;quot;&lt;br /&gt;
**** something like : &lt;br /&gt;
***** beginner : only talk about installing software via easy methods on a device with its pre-installed OS&lt;br /&gt;
***** novice : willing to try safer OSes like linux&lt;br /&gt;
***** intermediate : can use a command line shell for simple things , and can edit config files&lt;br /&gt;
***** advanced : can write simple scripts and programs and knows their way around a CLI&lt;br /&gt;
***** expert : able to understand with low-level concepts like memory management and CPU instructions&lt;br /&gt;
**** though this might be too many ? or not enough , i dunno . i guess it would depend on the amount of content we have to talk about for any given subject&lt;br /&gt;
***** will try to figure some of this out when working on LUKS&lt;br /&gt;
* Unfinished pages :&lt;br /&gt;
** [[LUKS]]&lt;br /&gt;
** [[Lens]]&lt;br /&gt;
** ( the rest of the roles pages have not even been started )&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=TODO&amp;diff=296</id>
		<title>TODO</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=TODO&amp;diff=296"/>
		<updated>2026-07-01T01:12:08Z</updated>

		<summary type="html">&lt;p&gt;VV: /* In Progress Pages : */ added Linux Anatomy&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a list of projects currently being worked on and references to relevant information.&lt;br /&gt;
&lt;br /&gt;
Please check [[Special:WantedPages|this list]] and see if there&#039;s anything you&#039;re interested in writing about!&lt;br /&gt;
&lt;br /&gt;
== Easy first project : ==&lt;br /&gt;
&lt;br /&gt;
* write about the distinction between distro / kernel / init / userspace / DE / windowing system / compositor / package manager&lt;br /&gt;
&lt;br /&gt;
* mpeg container format&lt;br /&gt;
**h264&lt;br /&gt;
*hardware accelerated media playback&lt;br /&gt;
&lt;br /&gt;
* Write a page describing how matrix works, how it relates to FASSAG, and some client quirks to be aware of.&lt;br /&gt;
** Maybe these should be separate pages?&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$9flQpMULrrZ9q3sM1CIKtDdwpHCC_YFOCDbXeAevn7M?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] consider having a dedicated page to matrix&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$B46BEaqrLtxuJ5BvQt_z8qzDZD4VIq2grk2MS1R6F_I?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] the matrix.to page is apparently just broken ,,, the icon is just not viewable .&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$-TvpInGLsJ_8wHilOnuKDYtP8D9T4C5DJIMQRsiAf_U?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] Yeah so it commet receives a thread reply, it inserts the thread parent into the thread body instead of the new thread reply message&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== In Progress Pages : ==&lt;br /&gt;
* Finish LUKS guide , and probably split it up into simpler and more advanced guides&lt;br /&gt;
**[[LUKS]]&lt;br /&gt;
**[[Linux anatomy]]&lt;br /&gt;
** NOTES: &lt;br /&gt;
*** for a bit of context as to why i wanted to write this in the first place, someone asked me &amp;quot;if i want the best security, how do i setup a LUKS partition?&amp;quot; and based on that question, I assume that just telling them &amp;quot;the defaults are fine&amp;quot; would not be a particularly satisfying answer. so i did my best to research everything, and tried to compile an exhaustive list of reasons why the defaults are OK. i went in assuming that there might be like, some algorithm that has a very strong performance cost for better security, but ultimately concluded, that wasn&#039;t really the case . but like , only after trying to understand everything.&lt;br /&gt;
*** &amp;quot;a good amount of this information is pulled from [link]&amp;quot; by itself sounds kinda weird, like why should someone read your post instead of just going to that link immediately? perhaps &amp;quot;The [cryptsetup FAQ](...) is a great in-depth resource on all the available security options, but it&#039;s pretty long and complex. This post will cover the basics so you can get set up quickly with a reasonably secure system.&amp;quot;&lt;br /&gt;
*** if your system is starved of entropy, one technique I&#039;ve seen is to use random.org , e.g. &amp;lt;code&amp;gt;curl -Ss &amp;lt;nowiki&amp;gt;https://www.random.org/cgi-bin/randbyte?nbytes=16384&amp;amp;format=f&amp;lt;/nowiki&amp;gt; &amp;gt; /dev/random&amp;lt;/code&amp;gt;&lt;br /&gt;
**** then you should be able to run any programs that would block on /dev/random&lt;br /&gt;
*** you should define what &amp;quot;post quantum resistant&amp;quot; means if you&#039;re going to mention it, IMO&lt;br /&gt;
*** ZFS actually uses an authenticated encryption mode by default (AES-GCM) which is how it can detect tampering. i think this is what you meant, but saying &amp;quot;XTS vulnerabilities can be mitigated with ZFS or BTRFS&amp;quot;  is a little less clear than &amp;quot;XTS has vulnerabilities &#039;&#039;&#039;under certain threat models&#039;&#039;&#039;, such as A, B and C [IMO if you&#039;re going to mention this you should also explain what the vulnerabilities are, you can&#039;t just drop this with no context]. If you are concerned about these issues, you should use an authenticated encryption mode like AES-GCM, which is unfortunately not available with LUKS due to the additional space needed for the authentication tags, but can be accomplished with a supporting filesystem such as ZFS.&amp;quot;&lt;br /&gt;
**** i don&#039;t remember where i read that &amp;quot;ZFS and BTRFS will help with the corruption issues of XTS&amp;quot; they may not have even been talking about LUKS directly and i just got confused (it was probably Wikipedia)&lt;br /&gt;
*** i guess to expand on this, if you have a good idea of what your target audience is then you should be evaluating everything in the post from that point of view. suppose you are a beginner who doesn&#039;t know anything about crypto. &amp;quot;XTS has vulnerabilities&amp;quot; and &amp;quot;AES-256 is post quantum&amp;quot; are meaningless to u without further context. maybe the context for those things isn&#039;t the point of the post, but in that case u could maybe link to further resources or have some further explanation in footnotes&lt;br /&gt;
&lt;br /&gt;
== Needs Research / Implementation ==&lt;br /&gt;
* A guide on how to use and navigate around the WIKI would be a very good idea&lt;br /&gt;
** TBH I&#039;m not entirely sure how wikis are usually structured, maybe something to look into&lt;br /&gt;
*** from what i can remember offhand, usually the home page has some links to more specific topics, which then link out to other articles&lt;br /&gt;
**** probably there *shouldn&#039;t* be an orphaned articles&lt;br /&gt;
** we could also figure out if we want to have a more &amp;quot;document&amp;quot; focused theme for desktop like maybe [[mediawikiwiki:BlueSpice|BlueSpice]]&lt;br /&gt;
*** if we have something less functional than [[mediawikiwiki:BlueSpice|BlueSpice]] though, we&#039;ll want to explain in the guide how to change the default user theme if someone is interested in doing editing&lt;br /&gt;
** how to use tables&lt;br /&gt;
** how to use templates&lt;br /&gt;
** how to use the WYSIWYG editor&lt;br /&gt;
&lt;br /&gt;
* Braille / TTS support on linux&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$YQue0cGGqU5KXtuNEOPpbZUl_-M25V1fj46S8kJA2q0?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Matrix] reference&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
* Templates&lt;br /&gt;
** user profile information template (need to flesh out how this will look)&lt;br /&gt;
*** should have information about how they are best motivated&lt;br /&gt;
*** should have matrix account&lt;br /&gt;
*** should describe teams they are in and &amp;lt;s&amp;gt;what roles they want to play in those teams&amp;lt;/s&amp;gt;&lt;br /&gt;
**** Roles are now defined through [[Template:Add role]] and [[Template:User roles]] in a user page.&lt;br /&gt;
*** a description of their skills and interests&lt;br /&gt;
*** DRAFT : [[User:Everlastingred]]&lt;br /&gt;
** TODO item template? probably to gather information from relevant pages but some TODOs will likely not have a page? dunno, something to think about&lt;br /&gt;
** Directory of all unfinished pages (pages which include the Draft template)&lt;br /&gt;
** &amp;quot;this page is a placeholder&amp;quot;&lt;br /&gt;
** &amp;quot;this page is an accessory to another?&amp;quot; (maybe see or see also cover this, IDK)&lt;br /&gt;
** tiered information.&lt;br /&gt;
*** We are now using [[Template:Guide]] and sub-pages (use &#039;SomeGuide/advanced&#039; etc with a slash) to determine a guide&#039;s tier and link to other tiers of the same guide.&lt;br /&gt;
*** a graph of the different tiers of depth on the main page may also be a good idea ? probably should also try to figure out some ground rules about what kind of content is even suitable for which tier , how many tiers there should be , etc . for example , on the LUKS page , since that is assuming like , someone is installing linux , that&#039;s already like , above the base tier imo , which is just like &amp;quot; the OS that came on your computer &amp;quot;&lt;br /&gt;
**** something like : &lt;br /&gt;
***** beginner : only talk about installing software via easy methods on a device with its pre-installed OS&lt;br /&gt;
***** novice : willing to try safer OSes like linux&lt;br /&gt;
***** intermediate : can use a command line shell for simple things , and can edit config files&lt;br /&gt;
***** advanced : can write simple scripts and programs and knows their way around a CLI&lt;br /&gt;
***** expert : able to understand with low-level concepts like memory management and CPU instructions&lt;br /&gt;
**** though this might be too many ? or not enough , i dunno . i guess it would depend on the amount of content we have to talk about for any given subject&lt;br /&gt;
***** will try to figure some of this out when working on LUKS&lt;br /&gt;
* Unfinished pages :&lt;br /&gt;
** [[LUKS]]&lt;br /&gt;
** [[Lens]]&lt;br /&gt;
** ( the rest of the roles pages have not even been started )&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Linux_anatomy&amp;diff=295</id>
		<title>Linux anatomy</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Linux_anatomy&amp;diff=295"/>
		<updated>2026-07-01T01:11:31Z</updated>

		<summary type="html">&lt;p&gt;VV: Initial incomplete draft with many sections&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = Novice&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This guide introduces a novice Linux user to common terms used to describe various common parts of the core functionality of a typical Linux computer. Maybe you&#039;ve heard about a &amp;quot;kernel&amp;quot; and want to know what it is, or perhaps you are curious why there are so many different types of Linux you can install.&lt;br /&gt;
&lt;br /&gt;
We only assume some very basic familiarity to computers and operating systems in this guide--if you can install and run programs and you know that Linux and Windows are operating systems, you should be able to follow it.&lt;br /&gt;
&lt;br /&gt;
== Linux ==&lt;br /&gt;
&amp;quot;Linux&amp;quot; is a term that has a few meanings, and sometimes you will see debates online (often jokingly) about what part of the software actually counts as Linux. Though some pedants might take issue with this, in this guide we will be using the term &amp;quot;Linux&amp;quot; to refer to &#039;&#039;&#039;an entire system&#039;&#039;&#039; that runs software on top of the Linux Kernel. &lt;br /&gt;
&lt;br /&gt;
The basic gist is that Linux is a set of programs and utilities, as well as a core program called a &amp;quot;kernel&amp;quot;, that work together to create a system which can be used for many different purposes, and be customized in many ways. Keep reading to gain a better understanding of how these pieces all fit together.&lt;br /&gt;
&lt;br /&gt;
== Distribution ==&lt;br /&gt;
When you are deciding how to install Linux, one of the first considerations you may want to make is selecting a Linux Distribution (often abbreviated as &amp;quot;distro&amp;quot;). There are an incredible variety of Linux distributions out there, and different folks may recommend different distributions depending on your needs and taste.&lt;br /&gt;
&lt;br /&gt;
But what exactly is a distribution in the first place? Why is this so different from how Windows works, where there are just a few &amp;quot;editions&amp;quot; which you have to pick? And why can&#039;t you just go to a single website and install &amp;quot;Normal Linux&amp;quot;?&lt;br /&gt;
&lt;br /&gt;
In short, this is because, unlike macOS or Windows, there is no singular company or organization working on Linux as a whole. The Linux Kernel is worked on by a single large team of dedicated volunteers, but they have enough on their hands with just those responsibilities. And, for reasons that will be explained, it is impossible to have a usable system (especially a desktop system) with only a kernel.&lt;br /&gt;
&lt;br /&gt;
So instead, many groups of volunteers have created their own organizations which do the important work of packaging together all the necessary components and building up a usable system on top of the Kernel. Distributions have the job of deciding on a &#039;&#039;package manager&#039;&#039;, &#039;&#039;desktop environment&#039;&#039;, &#039;&#039;init system&#039;&#039;, &#039;&#039;windowing system&#039;&#039;, &#039;&#039;compositor&#039;&#039;, and more. They also usually come up with a unique look and branding for their distribution, and unique features that might set their distribution apart from their peers. When they do their job well, everything comes together seamlessly to create a cohesive and usable experience that gives a user the particular features they want.&lt;br /&gt;
&lt;br /&gt;
=== Fixed-release ===&lt;br /&gt;
Some distros prioritize stability, which means that they are very careful about what versions of software are included, and they test the systems for bugs very carefully before upgrading them. These distributions usually release entire new versions of their desktop environments on a cadence, every 6 months or every year, in what is called a &amp;quot;Fixed release&amp;quot; schedule. This can be undesirable for some users, as they may become frustrated that newer software or features are not available yet on their distribution.&lt;br /&gt;
&lt;br /&gt;
=== Rolling-release ===&lt;br /&gt;
Other distros prioritize new features, which means they give you access to the latest and greatest features and software. However, such distributions can sometimes have more bugs, crashes, or other glitches, because there is usually less time for the creators of the distribution to test the software they are showing. These distros are often &amp;quot;Rolling release&amp;quot;, which just means that they do not release a single version every 6 months, but instead update single pieces of software as new updates come in and they appear to be stable.&lt;br /&gt;
&lt;br /&gt;
=== Power-user distros ===&lt;br /&gt;
Many distributions are designed for power users. They might be minimal, requiring a lot of manual customization and setup, but allowing for a system to be built that is exactly how the user wants it to be. Or perhaps they have the goal of being as free of [[Proprietary|proprietary software]] as possible.&lt;br /&gt;
&lt;br /&gt;
=== Beyond ===&lt;br /&gt;
There are also distributions which focus on creating an environment that is as close to the experience of using Windows as possible, in order to make it easier for Linux beginners to use comfortably. Distributions may also advertise themselves as being ideal for gaming, security research, or for use by lower-power machines. Whatever your needs, there is probably a Linux distribution for you.&lt;br /&gt;
&lt;br /&gt;
Just a few examples of Linux distributions include [https://www.linuxmint.com/ Linux Mint], [https://ubuntu.com/desktop Ubuntu], [https://www.debian.org/ Debian], and [https://www.gentoo.org/ Gentoo]. Wikipedia has a [[wikipedia:List_of_Linux_distributions|helpful list]] of many more.&lt;br /&gt;
&lt;br /&gt;
== Software vs. libraries ==&lt;br /&gt;
&lt;br /&gt;
=== Software ===&lt;br /&gt;
As you likely know, a piece of software is any sort of application or tool that runs on the computer. A very general term, this might refer to a tiny tool that simply tells you the time, and it also might refer to the web browser that you&#039;re using right now. What differentiates software from libraries is the ability to &#039;&#039;run&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Libraries ===&lt;br /&gt;
A library is a piece of functionality that can be used by software, to give it the ability to do something useful. You don&#039;t use libraries directly; instead, a program you use makes use of it.&lt;br /&gt;
&lt;br /&gt;
Linux software uses many thousands of libraries, and many pieces of software may rely on one single library for functionality. Libraries rely on other libraries, as well! On your computer, there&#039;s a whole graph of &#039;&#039;dependencies&#039;&#039; putting software together, like puzzle pieces.&lt;br /&gt;
&lt;br /&gt;
Libraries are always changing, and mismatches across software can arise when a change is made. This is where package managers become incredibly useful.&lt;br /&gt;
&lt;br /&gt;
== Package manager ==&lt;br /&gt;
The idea behind a package manager is very simple, and it&#039;s likely you&#039;ve encountered one before. The macOS and iOS App Stores, and the Windows Store are examples of package managers created by Apple and Microsoft. However, many apps on these stores are paid, whereas Linux package managers are almost always entirely free.&lt;br /&gt;
&lt;br /&gt;
The main purpose of a package manager is obtaining and organizing versions of libraries and software, and making sure that all the puzzle pieces fit together without overlapping in a bad way. These software and libraries are provided in the form of &#039;&#039;packages&#039;&#039;, which are basically tidy containers of installers that tell the system what needs to happen to get your program running.&lt;br /&gt;
&lt;br /&gt;
A Linux distribution generally provides one (or sometimes two) package managers. These package managers usually have a &#039;&#039;repository&#039;&#039; which is a collection of software you might want to install. Usually, the distribution will provide a simple graphical application (often called a &amp;quot;Software Center&amp;quot; or Store) for updating your software and installing new software from the repository, and you don&#039;t need to worry about the details of the package manager at all. You should always check the Software Center provided by your distribution first when looking for new software to install, because this is almost always the easiest way to install it and keep it updated.&lt;br /&gt;
&lt;br /&gt;
It is still useful to know what sort of package manager your distribution uses though, especially when you want to install new software from the internet that isn&#039;t available in the repository. Each package manager has its own way of installing software, so if you download a program it might not be installable on your system. In this way, Linux is different from Windows, where you can click on an .exe installer, or iOS, where you can drag a new program to the Applications folder. But luckily, the package manager often has everything you need, and you don&#039;t need to go onto web pages to install random things from the Internet! &lt;br /&gt;
&lt;br /&gt;
Knowing what is available to install on your system gives you power. And if you want to become a more advanced user it may be useful to familiarize yourself with how to use your package manager from the [[terminal]].&lt;br /&gt;
&lt;br /&gt;
== Desktop environment ==&lt;br /&gt;
The Desktop Environment, or DE for short, is a set of programs that shape how your experience works. Different DEs can radically change how programs are launched and switched, and displayed on the screen.&lt;br /&gt;
&lt;br /&gt;
Docks, desktops, taskbars, app launchers, settings pages, file managers, and often software updaters are provided by the Desktop Environment. Different environments are suitable for different purposes.&lt;br /&gt;
&lt;br /&gt;
The average user will likely find the choice of DE to be the single most impactful choice in terms of defining an experience of using the computer, because it shapes the look and feel of the desktop the most. Indeed, the biggest visual differences between Windows and macOS (the Dock/Taskbar, File Explorer/Finder, preferences panels, and more) have Linux equivalents determined by the DE.&lt;br /&gt;
&lt;br /&gt;
Some desktop environments, like [https://www.gnome.org/ GNOME], focus on a straightforward singular experience with less customization options and certain consistent design patterns. These environments are sometimes less confusing, because you are forced into a common path which is encountered by more people, and so it&#039;ll be easier to compare your desktop with others when trying to figure out how to do something. Some users find the consistent interface to be more pleasing to the eye, as well (but this is very much a matter of individual taste).&lt;br /&gt;
&lt;br /&gt;
Other desktop environments, like [https://kde.org/ KDE], are all about offering as much customization as possible, and creating exactly the desktop you want. These can sometimes be confusing for newer users, if they change options that cause their system to do something they didn&#039;t expect, and don&#039;t know how to change it back.&lt;br /&gt;
&lt;br /&gt;
There are even more environments which prioritize absolute customization, or allow for all sorts of exotic setups. Ultimately, what DE you choose comes down to what level of expertise you are comfortable with, and where your priorities lie when using an operating system.&lt;br /&gt;
&lt;br /&gt;
== Kernel ==&lt;br /&gt;
&lt;br /&gt;
== Kernelspace and userspace ==&lt;br /&gt;
&lt;br /&gt;
== Init system ==&lt;br /&gt;
&lt;br /&gt;
== Windowing system ==&lt;br /&gt;
&lt;br /&gt;
== Compositor ==&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=291</id>
		<title>LUKS/Advanced</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=291"/>
		<updated>2026-07-01T00:00:15Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = Advanced&lt;br /&gt;
}}For more more info on this topic, check the [https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions cryptsetup FAQ], the [https://wiki.archlinux.org/title/Dm-crypt/Device_encryption Arch Wiki].&lt;br /&gt;
&lt;br /&gt;
= Guide to Decent LUKS Security on Linux =&lt;br /&gt;
The Main Page gives a high level overview of what different LUKS options can do, but this page intends to go into as much detail as possible about them while still aiming to be easy to understand. If you just want to know the &amp;quot;best&amp;quot; [[command]] to run, you can skip to the bottom. But reading this Guide is encouraged, as it will give you a better understand of what the options do, and how they will affect the security of your data!&lt;br /&gt;
&lt;br /&gt;
== Ciphers ==&lt;br /&gt;
Ciphers are the [[algorithms]] used to [[Encryption|encrypt]] [[data]]. Picking the best algorithm is very important for ensuring your data is secure. If your cipher can be broken, then your data can be accessed without the key.&lt;br /&gt;
&lt;br /&gt;
Of the widely supported options, the two most worth considering are [[Serpent]] and [[AES]]. &lt;br /&gt;
&lt;br /&gt;
Twofish &#039;&#039;may&#039;&#039; be better in lower-security applications where there&#039;s no AES acceleration &#039;&#039;and&#039;&#039; writes happen more often than reads, but generally, not a great option.&lt;br /&gt;
&lt;br /&gt;
Serpent may theoretically be more secure, though in practice its potential advantages seem pretty minimal. It also hasn&#039;t been tested as much as AES, so it &#039;&#039;may&#039;&#039; have potential vulnerabilities not yet known about .&lt;br /&gt;
&lt;br /&gt;
Another consideration is the actual implementation. Serpent has potential vulnerabilities depending on the details of the implementation. Without looking into the specific implementation in-depth, it&#039;s hard to say how secure it is.&lt;br /&gt;
&lt;br /&gt;
On the other hand, having hardware acceleration for AES has a number of advantages for security, most notably resistance to side channel attacks, and of course, speed. Some chips however, almost always not x86, do not have hardware accelerated AES. It&#039;s also possible that your CPU may have a vulnerability, so that&#039;s something you may want to look into. As far as we are aware though, no vulnerabilities have been reported on any present or past chip with AES support. Practically speaking, the advantages of having hardware accelerated AES  make it more secure than using Serpent in nearly all cases.&lt;br /&gt;
&lt;br /&gt;
== On-disk Format ==&lt;br /&gt;
The on-disk format defines how the encrypted data is stored on the disk itself . While you &#039;&#039;could&#039;&#039; just write the encrypted blocks directly to the disk , you would be at risk of a number of different attacks . CBC ( Cipher-block chaining ) is an older on-disk format and should not really be used . It has malleability vulnerabilities ( meaning data can be inserted without knowing the encryption key ) , and also , specially-crafted files can be &amp;quot; fingerprinted &amp;quot; , meaning they can be located on the disk . XTS ( XEX-based tweaked-codebook mode with ciphertext stealing ) is better at mitigating these issues , so it&#039;s the recommended default . It&#039;s also usually hardware accelerated on x86 . XTS does have its own vulnerabilities , but most of these issues can be mitigated by using a filesystem that can verify and repair corrupted data , like ZFS or BTRFS .&lt;br /&gt;
&lt;br /&gt;
== Initialization Vectors ( IV ) ==&lt;br /&gt;
The purpose of IV is to ad some randomness different blocks of the disk , so that overall patterns cannot be discovered . ESSIV ( Encrypted salt-sector initialization vector ) was set as default for CBC to mitigate the fingerprinting issue , but this does not help CBC&#039;s issues with malleability . For XTS , plain64 is recommended over plain , since it has no performance impact , and plain has some data leaking vulnerabilities that are viable on disks larger than 2TiB . XTS not being vulnerable to fingerprinitng , does not need the added overhead of ESSIV .&lt;br /&gt;
&lt;br /&gt;
== Password Hashing ==&lt;br /&gt;
The hashing algorithm is intended to make weak passwords harder to break , so a very good password does not really need much hashing . Argon2 is optimized to be impossible to brute-force on devices with limited memory , most notably , graphics cards . The point is to force the attacker to use their CPU , which is not usually not nearly as quick as a GPU for this kind of task . Unless you&#039;re primarily concerned about some APT trying to break into your device , it is pretty good tradeoff . If your device is very memory constrained ( like under 4GB ), you &#039;&#039;may&#039;&#039; want to consider using PBKDF2 ( Password-Based Key Derivation Function ) . You will almost certainly want to increase the iteration time more though , as it is far weaker to GPU brute-forcing . For a small note on Argon2 , it has a few different variants . Argon2i is weakest to brute-forcing , but has strong side-channel protection . It&#039;s generally not safe to use 2i with anything less than 10 iterations . Conversely , while Argon2d is most secure against brute force attacks , it is more susceptible to side channel timing attacks than Argon2id . Unless you are &#039;&#039;really&#039;&#039; not concerned about side-channel attacks , Argon2id is the most well rounded and therefore the best choice .&lt;br /&gt;
&lt;br /&gt;
== Iteration Time ==&lt;br /&gt;
This defines how long your computer is going to spend hashing the password . More iteration is generally better , and is mostly a question of how long you willing to spend waiting for your computer to initially decrypt the drive . Do note that it doesn&#039;t decrease the speed of the drive after the key is decrypted . To be very clear , high iteration count is not an alternative to a secure password ! 2 seconds ( 2000ms ) is generally the recommended default , though of course you are welcome to set it as high as you are willing to tolerate . Make sure your computer is not set to any &amp;quot; low-power mode &amp;quot; when setting up the disk , as this will affect the time it takes to hash .&lt;br /&gt;
&lt;br /&gt;
Very important note ! Make sure your password is secure ! Using something short is a very bad idea . Using a string of characters from a well known book is also not a great idea ! Something like a diceware password with at least 6 words is generally a good idea !&lt;br /&gt;
&lt;br /&gt;
== Benchmarking ==&lt;br /&gt;
If you want to see for yourself how fast these various algorithms will run on your computer, you can use &amp;lt;code&amp;gt;cryptsetup benchmark .&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;# Tests are approximate using memory only (no storage IO).&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;PBKDF2-sha1      1736052 iterations per second for 256-bit key&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;PBKDF2-sha256    3355443 iterations per second for 256-bit key&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;PBKDF2-sha512    1096836 iterations per second for 256-bit key&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;PBKDF2-ripemd160  434733 iterations per second for 256-bit key&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;PBKDF2-whirlpool  364088 iterations per second for 256-bit key&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;argon2i       4 iterations, 735656 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;argon2id      4 iterations, 842046 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time)&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;    Algorithm |       Key |      Encryption |      Decryption&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;      aes-cbc        128b       594.1 MiB/s      1434.3 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  serpent-cbc        128b        59.8 MiB/s       371.1 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  twofish-cbc        128b       123.5 MiB/s       200.0 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;      aes-cbc        256b       423.9 MiB/s      1284.2 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  serpent-cbc        256b        61.0 MiB/s       394.5 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  twofish-cbc        256b       136.8 MiB/s       240.4 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;      aes-xts        256b      2196.7 MiB/s      2414.8 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  serpent-xts        256b       445.6 MiB/s       401.0 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  twofish-xts        256b       220.3 MiB/s       236.9 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;      aes-xts        512b      2031.5 MiB/s      2117.4 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  serpent-xts        512b       445.2 MiB/s       437.6 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
 &amp;lt;code&amp;gt;  twofish-xts        512b       221.9 MiB/s       249.3 MiB/s&amp;lt;/code&amp;gt;&lt;br /&gt;
As you can see from this sample output , aes-xts is the fastest ! Assuming you&#039;re on an x86 machine , this will almost certainly also be the case for you . You&#039;ll also notice Argon2i only has 4 iterations here , making it unsafe to use . You can add &amp;lt;code&amp;gt;-i 5000&amp;lt;/code&amp;gt; to test 5000ms as an example , to see how many iterations it achieves .&lt;br /&gt;
&lt;br /&gt;
== /dev/urandom ==&lt;br /&gt;
Though unlikely , to avoid an entropy-starved situation ( meaning the random numbers are not random enough ) , you can use &amp;lt;code&amp;gt;--use-random&amp;lt;/code&amp;gt; when setting up the disk .&lt;br /&gt;
&lt;br /&gt;
There&#039;s apparently a lot of debate and conflicting information online about the difference between /dev/random and /dev/urandom online . The main difference is that /dev/random will wait when it estimates that not enough entropy has been gathered . Since it only affects when you initially setup the disk though , waiting for it to gather enough entropy is generally a good idea . Whether its method of ensuring it has gathered enough data is effective , is also somewhat debated , but it certainly doesn&#039;t hurt .&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
Unless you have a strong reason to doubt AES-256 ( which is also post-quantum resistant ) , AES should be used . Using CBC even with ESSIV does not have any compelling reasons for consideration , so XTS likely your best choice , especially since it will be significantly faster to encrypt / decrypt on x86 . These options are the default for good reason , and unless you have a particularly special setup or threat model ; like if for example , if your CPU does not have hardware accelerated AES , or if it had a known vulnerability . Lastly , Argon2id is generally your best option for hashing .&lt;br /&gt;
&lt;br /&gt;
== Disk Setup ==&lt;br /&gt;
Assuming you know what partition you want to use, setting up the disk is as simple as :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --hash sha256 --iter-time 2000 --key-size 256 --pbkdf argon2id --use-random --verify-passphrase /dev/YOURPARTITIONHERE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As mentioned previously , these settings are the default on the latest cryptsetup ( with the exception of --use-random ) , but setting them manually ensures that they are correct on older versions . You can also check what the defaults are for your system by running cryptsetup --help . You can then verify that it was setup correctly with :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup luksDump /dev/YOURPARTITIONHERE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once it has been setup , it can be opened with :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup open /dev/YOURPARTITIONHERE dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot; dm_name &amp;quot; can be set to whatever you like , and the disk will be available at :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/mapper/dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you will need to format it , via something like :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkfs.ext4 /dev/mapper/dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course , you&#039;ll want to replace mkfs.ext4 with the setup command for your preferred partition type .&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=TODO&amp;diff=286</id>
		<title>TODO</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=TODO&amp;diff=286"/>
		<updated>2026-06-17T02:27:37Z</updated>

		<summary type="html">&lt;p&gt;VV: /* Needs Research / Implementation */ Update on the status of the Guide template&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is a list of projects currently being worked on and references to relevant information.&lt;br /&gt;
&lt;br /&gt;
Please check [[Special:WantedPages|this list]] and see if there&#039;s anything you&#039;re interested in writing about!&lt;br /&gt;
&lt;br /&gt;
== Easy first project : ==&lt;br /&gt;
&lt;br /&gt;
* write about the distinction between distro / kernel / init / userspace / DE / windowing system / compositor / package manager&lt;br /&gt;
&lt;br /&gt;
* mpeg container format&lt;br /&gt;
**h264&lt;br /&gt;
*hardware accelerated media playback&lt;br /&gt;
&lt;br /&gt;
* Write a page describing how matrix works, how it relates to FASSAG, and some client quirks to be aware of.&lt;br /&gt;
** Maybe these should be separate pages?&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$9flQpMULrrZ9q3sM1CIKtDdwpHCC_YFOCDbXeAevn7M?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] consider having a dedicated page to matrix&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$B46BEaqrLtxuJ5BvQt_z8qzDZD4VIq2grk2MS1R6F_I?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] the matrix.to page is apparently just broken ,,, the icon is just not viewable .&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$-TvpInGLsJ_8wHilOnuKDYtP8D9T4C5DJIMQRsiAf_U?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Thread] Yeah so it commet receives a thread reply, it inserts the thread parent into the thread body instead of the new thread reply message&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
== In Progress Pages : ==&lt;br /&gt;
* Finish LUKS guide , and probably split it up into simpler and more advanced guides&lt;br /&gt;
**[[LUKS]]&lt;br /&gt;
** NOTES: &lt;br /&gt;
*** for a bit of context as to why i wanted to write this in the first place, someone asked me &amp;quot;if i want the best security, how do i setup a LUKS partition?&amp;quot; and based on that question, I assume that just telling them &amp;quot;the defaults are fine&amp;quot; would not be a particularly satisfying answer. so i did my best to research everything, and tried to compile an exhaustive list of reasons why the defaults are OK. i went in assuming that there might be like, some algorithm that has a very strong performance cost for better security, but ultimately concluded, that wasn&#039;t really the case . but like , only after trying to understand everything.&lt;br /&gt;
*** &amp;quot;a good amount of this information is pulled from [link]&amp;quot; by itself sounds kinda weird, like why should someone read your post instead of just going to that link immediately? perhaps &amp;quot;The [cryptsetup FAQ](...) is a great in-depth resource on all the available security options, but it&#039;s pretty long and complex. This post will cover the basics so you can get set up quickly with a reasonably secure system.&amp;quot;&lt;br /&gt;
*** if your system is starved of entropy, one technique I&#039;ve seen is to use random.org , e.g. &amp;lt;code&amp;gt;curl -Ss &amp;lt;nowiki&amp;gt;https://www.random.org/cgi-bin/randbyte?nbytes=16384&amp;amp;format=f&amp;lt;/nowiki&amp;gt; &amp;gt; /dev/random&amp;lt;/code&amp;gt;&lt;br /&gt;
**** then you should be able to run any programs that would block on /dev/random&lt;br /&gt;
*** you should define what &amp;quot;post quantum resistant&amp;quot; means if you&#039;re going to mention it, IMO&lt;br /&gt;
*** ZFS actually uses an authenticated encryption mode by default (AES-GCM) which is how it can detect tampering. i think this is what you meant, but saying &amp;quot;XTS vulnerabilities can be mitigated with ZFS or BTRFS&amp;quot;  is a little less clear than &amp;quot;XTS has vulnerabilities &#039;&#039;&#039;under certain threat models&#039;&#039;&#039;, such as A, B and C [IMO if you&#039;re going to mention this you should also explain what the vulnerabilities are, you can&#039;t just drop this with no context]. If you are concerned about these issues, you should use an authenticated encryption mode like AES-GCM, which is unfortunately not available with LUKS due to the additional space needed for the authentication tags, but can be accomplished with a supporting filesystem such as ZFS.&amp;quot;&lt;br /&gt;
**** i don&#039;t remember where i read that &amp;quot;ZFS and BTRFS will help with the corruption issues of XTS&amp;quot; they may not have even been talking about LUKS directly and i just got confused (it was probably Wikipedia)&lt;br /&gt;
*** i guess to expand on this, if you have a good idea of what your target audience is then you should be evaluating everything in the post from that point of view. suppose you are a beginner who doesn&#039;t know anything about crypto. &amp;quot;XTS has vulnerabilities&amp;quot; and &amp;quot;AES-256 is post quantum&amp;quot; are meaningless to u without further context. maybe the context for those things isn&#039;t the point of the post, but in that case u could maybe link to further resources or have some further explanation in footnotes&lt;br /&gt;
&lt;br /&gt;
== Needs Research / Implementation ==&lt;br /&gt;
* A guide on how to use and navigate around the WIKI would be a very good idea&lt;br /&gt;
** TBH I&#039;m not entirely sure how wikis are usually structured, maybe something to look into&lt;br /&gt;
*** from what i can remember offhand, usually the home page has some links to more specific topics, which then link out to other articles&lt;br /&gt;
**** probably there *shouldn&#039;t* be an orphaned articles&lt;br /&gt;
** we could also figure out if we want to have a more &amp;quot;document&amp;quot; focused theme for desktop like maybe [[mediawikiwiki:BlueSpice|BlueSpice]]&lt;br /&gt;
*** if we have something less functional than [[mediawikiwiki:BlueSpice|BlueSpice]] though, we&#039;ll want to explain in the guide how to change the default user theme if someone is interested in doing editing&lt;br /&gt;
** how to use tables&lt;br /&gt;
** how to use templates&lt;br /&gt;
** how to use the WYSIWYG editor&lt;br /&gt;
&lt;br /&gt;
* Braille / TTS support on linux&lt;br /&gt;
** [https://matrix.to/#/!dkSMcP-EtUFhf2SZZR4nwSHGI0RVq1Sr2p-zguVoLNI/$YQue0cGGqU5KXtuNEOPpbZUl_-M25V1fj46S8kJA2q0?via=chat.solarpunk.moe&amp;amp;via=matrix.org &amp;lt;nowiki&amp;gt;[Matrix] reference&amp;lt;/nowiki&amp;gt;]&lt;br /&gt;
* Templates&lt;br /&gt;
** user profile information template (need to flesh out how this will look)&lt;br /&gt;
*** should have information about how they are best motivated&lt;br /&gt;
*** should have matrix account&lt;br /&gt;
*** should describe teams they are in and &amp;lt;s&amp;gt;what roles they want to play in those teams&amp;lt;/s&amp;gt;&lt;br /&gt;
**** Roles are now defined through [[Template:Add role]] and [[Template:User roles]] in a user page.&lt;br /&gt;
*** a description of their skills and interests&lt;br /&gt;
*** DRAFT : [[User:Everlastingred]]&lt;br /&gt;
** TODO item template? probably to gather information from relevant pages but some TODOs will likely not have a page? dunno, something to think about&lt;br /&gt;
** Directory of all unfinished pages (pages which include the Draft template)&lt;br /&gt;
** &amp;quot;this page is a placeholder&amp;quot;&lt;br /&gt;
** &amp;quot;this page is an accessory to another?&amp;quot; (maybe see or see also cover this, IDK)&lt;br /&gt;
** tiered information.&lt;br /&gt;
*** We are now using [[Template:Guide]] and sub-pages (use &#039;SomeGuide/advanced&#039; etc with a slash) to determine a guide&#039;s tier and link to other tiers of the same guide.&lt;br /&gt;
*** a graph of the different tiers of depth on the main page may also be a good idea ? probably should also try to figure out some ground rules about what kind of content is even suitable for which tier , how many tiers there should be , etc . for example , on the LUKS page , since that is assuming like , someone is installing linux , that&#039;s already like , above the base tier imo , which is just like &amp;quot; the OS that came on your computer &amp;quot;&lt;br /&gt;
**** something like : &lt;br /&gt;
***** beginner : only talk about installing software via easy methods on a device with its pre-installed OS&lt;br /&gt;
***** novice : willing to try safer OSes like linux&lt;br /&gt;
***** intermediate : can use a command line shell for simple things , and can edit config files&lt;br /&gt;
***** advanced : can write simple scripts and programs and knows their way around a CLI&lt;br /&gt;
***** expert : able to understand with low-level concepts like memory management and CPU instructions&lt;br /&gt;
**** though this might be too many ? or not enough , i dunno . i guess it would depend on the amount of content we have to talk about for any given subject&lt;br /&gt;
***** will try to figure some of this out when working on LUKS&lt;br /&gt;
* Unfinished pages :&lt;br /&gt;
** [[LUKS]]&lt;br /&gt;
** [[Lens]]&lt;br /&gt;
** ( the rest of the roles pages have not even been started )&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=285</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=285"/>
		<updated>2026-06-17T02:22:44Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:tables=Guides=G,Tiers=T&lt;br /&gt;
|join on=G.Tier=T.Tier&lt;br /&gt;
|fields=G.Tier,G.Page&lt;br /&gt;
|where=G.Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|order by=T.DisplayOrder&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=284</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=284"/>
		<updated>2026-06-17T02:18:35Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;Beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;Novice&amp;quot;,&lt;br /&gt;
				&amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;Advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;Expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;Intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;Intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=283</id>
		<title>LUKS/Advanced</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=283"/>
		<updated>2026-06-17T02:17:56Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = Advanced&lt;br /&gt;
}}For more more info on this topic, check the [https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions cryptsetup FAQ], the [https://wiki.archlinux.org/title/Dm-crypt/Device_encryption Arch Wiki].&lt;br /&gt;
&lt;br /&gt;
= Guide to Decent LUKS Security on Linux =&lt;br /&gt;
The Main Page gives a high level overview of what different LUKS options can do, but this page intends to go into as much detail as possible about them while still aiming to be easy to understand.&lt;br /&gt;
&lt;br /&gt;
== Ciphers ==&lt;br /&gt;
Ciphers are the [[algorithms]] used to [[Encryption|encrypt]] [[data]]. Picking the best algorithm is very important for ensuring your data is secure. If your cipher can be broken, then your data can be accessed without the key.&lt;br /&gt;
&lt;br /&gt;
Of the widely supported options, the two most worth considering are [[Serpent]] and [[AES]]. &lt;br /&gt;
&lt;br /&gt;
Twofish &#039;&#039;may&#039;&#039; be better in lower-security applications where there&#039;s no AES acceleration &#039;&#039;and&#039;&#039; writes happen more often than reads, but generally, not a great option.&lt;br /&gt;
&lt;br /&gt;
Serpent may theoretically be more secure, though in practice its potential advantages seem pretty minimal. It also hasn&#039;t been tested as much as AES, so it &#039;&#039;may&#039;&#039; have potential vulnerabilities not yet known about .&lt;br /&gt;
&lt;br /&gt;
Another consideration is the actual implementation. Serpent has potential vulnerabilities depending on the details of the implementation. Without looking into the specific implementation in-depth, it&#039;s hard to say how secure it is.&lt;br /&gt;
&lt;br /&gt;
On the other hand, having hardware acceleration for AES has a number of advantages for security, most notably resistance to side channel attacks, and of course, speed. Some chips however, almost always not x86, do not have hardware accelerated AES. It&#039;s also possible that your CPU may have a vulnerability, so that&#039;s something you may want to look into. As far as we are aware though, no vulnerabilities have been reported on any present or past chip with AES support. Practically speaking, the advantages of having hardware accelerated AES  make it more secure than using Serpent in nearly all cases.&lt;br /&gt;
&lt;br /&gt;
== On-disk Format ==&lt;br /&gt;
The on-disk format defines how the encrypted data is stored on the disk itself . While you &#039;&#039;could&#039;&#039; just write the encrypted blocks directly to the disk , you would be at risk of a number of different attacks . CBC ( Cipher-block chaining ) is an older on-disk format and should not really be used . It has malleability vulnerabilities ( meaning data can be inserted without knowing the encryption key ) , and also , specially-crafted files can be &amp;quot; fingerprinted &amp;quot; , meaning they can be located on the disk . XTS ( XEX-based tweaked-codebook mode with ciphertext stealing ) is better at mitigating these issues , so it&#039;s the recommended default . It&#039;s also usually hardware accelerated on x86 . XTS does have its own vulnerabilities , but most of these issues can be mitigated by using a filesystem that can verify and repair corrupted data , like ZFS or BTRFS .&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=LUKS&amp;diff=282</id>
		<title>LUKS</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=LUKS&amp;diff=282"/>
		<updated>2026-06-17T02:17:35Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = Intermediate&lt;br /&gt;
}}&lt;br /&gt;
Some external resources that may also be helpful are the [https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions cryptsetup FAQ] and [https://wiki.archlinux.org/title/Dm-crypt/Device_encryption Arch Wiki].&lt;br /&gt;
&lt;br /&gt;
= Guide to Decent LUKS Security on Linux =&lt;br /&gt;
If you just want to know the &amp;quot;best&amp;quot; command to run, you can skip to the bottom. But reading this Guide is encouraged, as it will give you a better understand of what the options do, and how they will affect the security of your data!&lt;br /&gt;
&lt;br /&gt;
== Ciphers ==&lt;br /&gt;
Ciphers scramble the files that will be saved, so it&#039;s important to pick a good one. Computers have, for many decades now, had&lt;br /&gt;
&lt;br /&gt;
built in support for [[AES]], making it the fastest and most secure option for pretty much everyone. &lt;br /&gt;
&lt;br /&gt;
== Initialization Vectors ( IV ) ==&lt;br /&gt;
The purpose of IV is to ad some randomness different blocks of the disk , so that overall patterns cannot be discovered . ESSIV ( Encrypted salt-sector initialization vector ) was set as default for CBC to mitigate the fingerprinting issue , but this does not help CBC&#039;s issues with malleability . For XTS , plain64 is recommended over plain , since it has no performance impact , and plain has some data leaking vulnerabilities that are viable on disks larger than 2TiB . XTS not being vulnerable to fingerprinitng , does not need the added overhead of ESSIV .&lt;br /&gt;
&lt;br /&gt;
== Password Hashing ==&lt;br /&gt;
The hashing algorithm is intended to make weak passwords harder to break , so a very good password does not really need much hashing . Argon2 is optimized to be impossible to brute-force on devices with limited memory , most notably , graphics cards . The point is to force the attacker to use their CPU , which is not usually not nearly as quick as a GPU for this kind of task . Unless you&#039;re primarily concerned about some APT trying to break into your device , it is pretty good tradeoff . If your device is very memory constrained ( like under 4GB ), you &#039;&#039;may&#039;&#039; want to consider using PBKDF2 ( Password-Based Key Derivation Function ) . You will almost certainly want to increase the iteration time more though , as it is far weaker to GPU brute-forcing . For a small note on Argon2 , it has a few different variants . Argon2i is weakest to brute-forcing , but has strong side-channel protection . It&#039;s generally not safe to use 2i with anything less than 10 iterations . Conversely , while Argon2d is most secure against brute force attacks , it is more susceptible to side channel timing attacks than Argon2id . Unless you are &#039;&#039;really&#039;&#039; not concerned about side-channel attacks , Argon2id is the most well rounded and therefore the best choice . &lt;br /&gt;
&lt;br /&gt;
== Iteration Time ==&lt;br /&gt;
This defines how long your computer is going to spend hashing the password . More iteration is generally better , and is mostly a question of how long you willing to spend waiting for your computer to initially decrypt the drive . Do note that it doesn&#039;t decrease the speed of the drive after the key is decrypted . To be very clear , high iteration count is not an alternative to a secure password ! 2 seconds ( 2000ms ) is generally the recommended default , though of course you are welcome to set it as high as you are willing to tolerate . Make sure your computer is not set to any &amp;quot; low-power mode &amp;quot; when setting up the disk , as this will affect the time it takes to hash .&lt;br /&gt;
&lt;br /&gt;
Very important note ! Make sure your password is secure ! Using something short is a very bad idea . Using a string of characters from a well known book is also not a great idea ! Something like a diceware password with at least 6 words is generally a good idea !&lt;br /&gt;
&lt;br /&gt;
== Benchmarking ==&lt;br /&gt;
If you want to see for yourself how fast these various algorithms will run on your computer, you can use &amp;lt;code&amp;gt;cryptsetup benchmark .&amp;lt;/code&amp;gt;&amp;lt;blockquote&amp;gt;    # Tests are approximate using memory only (no storage IO). &lt;br /&gt;
&lt;br /&gt;
PBKDF2-sha1      1736052 iterations per second for 256-bit key &lt;br /&gt;
&lt;br /&gt;
PBKDF2-sha256    3355443 iterations per second for 256-bit key &lt;br /&gt;
&lt;br /&gt;
PBKDF2-sha512    1096836 iterations per second for 256-bit key &lt;br /&gt;
&lt;br /&gt;
PBKDF2-ripemd160  434733 iterations per second for 256-bit key &lt;br /&gt;
&lt;br /&gt;
PBKDF2-whirlpool  364088 iterations per second for 256-bit key &lt;br /&gt;
&lt;br /&gt;
argon2i       4 iterations, 735656 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) &lt;br /&gt;
&lt;br /&gt;
argon2id      4 iterations, 842046 memory, 4 parallel threads (CPUs) for 256-bit key (requested 2000 ms time) &lt;br /&gt;
&lt;br /&gt;
#     Algorithm |       Key |      Encryption |      Decryption &lt;br /&gt;
&lt;br /&gt;
       aes-cbc        128b       594.1 MiB/s      1434.3 MiB/s &lt;br /&gt;
&lt;br /&gt;
   serpent-cbc        128b        59.8 MiB/s       371.1 MiB/s &lt;br /&gt;
&lt;br /&gt;
   twofish-cbc        128b       123.5 MiB/s       200.0 MiB/s &lt;br /&gt;
&lt;br /&gt;
       aes-cbc        256b       423.9 MiB/s      1284.2 MiB/s &lt;br /&gt;
&lt;br /&gt;
   serpent-cbc        256b        61.0 MiB/s       394.5 MiB/s &lt;br /&gt;
&lt;br /&gt;
   twofish-cbc        256b       136.8 MiB/s       240.4 MiB/s &lt;br /&gt;
&lt;br /&gt;
       aes-xts        256b      2196.7 MiB/s      2414.8 MiB/s &lt;br /&gt;
&lt;br /&gt;
   serpent-xts        256b       445.6 MiB/s       401.0 MiB/s &lt;br /&gt;
&lt;br /&gt;
   twofish-xts        256b       220.3 MiB/s       236.9 MiB/s &lt;br /&gt;
&lt;br /&gt;
       aes-xts        512b      2031.5 MiB/s      2117.4 MiB/s &lt;br /&gt;
&lt;br /&gt;
   serpent-xts        512b       445.2 MiB/s       437.6 MiB/s &lt;br /&gt;
&lt;br /&gt;
   twofish-xts        512b       221.9 MiB/s       249.3 MiB/s&amp;lt;/blockquote&amp;gt;As you can see from this sample output , aes-xts is the fastest ! Assuming you&#039;re on an x86 machine , this will almost certainly also be the case for you . You&#039;ll also notice Argon2i only has 4 iterations here , making it unsafe to use . You can add &amp;lt;code&amp;gt;-i 5000&amp;lt;/code&amp;gt; to test 5000ms as an example , to see how many iterations it achieves .&lt;br /&gt;
&lt;br /&gt;
== /dev/urandom ==&lt;br /&gt;
Though unlikely , to avoid an entropy-starved situation ( meaning the random numbers are not random enough ) , you can use &amp;lt;code&amp;gt;--use-random&amp;lt;/code&amp;gt; when setting up the disk . &lt;br /&gt;
&lt;br /&gt;
There&#039;s apparently a lot of debate and conflicting information online about the difference between /dev/random and /dev/urandom online . The main difference is that /dev/random will wait when it estimates that not enough entropy has been gathered . Since it only affects when you initially setup the disk though , waiting for it to gather enough entropy is generally a good idea . Whether its method of ensuring it has gathered enough data is effective , is also somewhat debated , but it certainly doesn&#039;t hurt .&lt;br /&gt;
&lt;br /&gt;
= Summary =&lt;br /&gt;
Unless you have a strong reason to doubt AES-256 ( which is also post-quantum resistant ) , AES should be used . Using CBC even with ESSIV does not have any compelling reasons for consideration , so XTS likely your best choice , especially since it will be significantly faster to encrypt / decrypt on x86 . These options are the default for good reason , and unless you have a particularly special setup or threat model ; like if for example , if your CPU does not have hardware accelerated AES , or if it had a known vulnerability . Lastly , Argon2id is generally your best option for hashing .&lt;br /&gt;
&lt;br /&gt;
== Disk Setup ==&lt;br /&gt;
Assuming your disk is already correctly partitioned , setting up the disk is as simple as :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --hash sha256 --iter-time 2000 --key-size 256 --pbkdf argon2id --use-random --verify-passphrase /dev/YOURPARTITIONHERE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As mentioned previously , these settings are the default on the latest cryptsetup ( with the exception of --use-random ) , but setting them manually ensures that they are correct on older versions . You can also check what the defaults are for your system by running cryptsetup --help . You can then verify that it was setup correctly with :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup luksDump /dev/YOURPARTITIONHERE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Once it has been setup , it can be opened with :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cryptsetup open /dev/YOURPARTITIONHERE dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note that &amp;quot; dm_name &amp;quot; can be set to whatever you like , and the disk will be available at :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;/dev/mapper/dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then you will need to format it , via something like :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;mkfs.ext4 /dev/mapper/dm_name&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Of course , you&#039;ll want to replace mkfs.ext4 with the setup command for your preferred partition type .&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=281</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=281"/>
		<updated>2026-06-17T02:17:07Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{Tier|Beginner|1}}&lt;br /&gt;
{{Tier|Novice|2}}&lt;br /&gt;
{{Tier|Intermediate|3}}&lt;br /&gt;
{{Tier|Advanced|4}}&lt;br /&gt;
{{Tier|Expert|5}}&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=Beginner,Novice,Intermediate,Advanced,Expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|Beginner = a &#039;&#039;&#039;Beginner&lt;br /&gt;
|Novice = a &#039;&#039;&#039;Novice&lt;br /&gt;
|Intermediate = an &#039;&#039;&#039;Intermediate&lt;br /&gt;
|Advanced = an &#039;&#039;&#039;Advanced&lt;br /&gt;
|Expert = &#039;&#039;&#039;an Expert&lt;br /&gt;
|an &#039;&#039;&#039;Intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Tier&amp;diff=280</id>
		<title>Template:Tier</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Tier&amp;diff=280"/>
		<updated>2026-06-17T02:14:29Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Tiers&lt;br /&gt;
|Tier=String&lt;br /&gt;
|DisplayOrder=Integer}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Tiers&lt;br /&gt;
|Tier={{{1}}}&lt;br /&gt;
|DisplayOrder={{{2}}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Tier&amp;diff=279</id>
		<title>Template:Tier</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Tier&amp;diff=279"/>
		<updated>2026-06-17T02:13:31Z</updated>

		<summary type="html">&lt;p&gt;VV: Created page with &amp;quot;&amp;lt;noinclude&amp;gt; {{#cargo_declare:_table=Tiers |Tier=String |Order=Integer}} &amp;lt;/noinclude&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Tiers&lt;br /&gt;
|Tier=String&lt;br /&gt;
|Order=Integer}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=278</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=278"/>
		<updated>2026-06-17T02:02:46Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide p {&lt;br /&gt;
    margin-top: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul {&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
    content: &#039;•&#039;;&lt;br /&gt;
    padding: .5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=277</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=277"/>
		<updated>2026-06-17T02:02:29Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide p {&lt;br /&gt;
    margin: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul {&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
    content: &#039;•&#039;;&lt;br /&gt;
    padding: .5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=276</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=276"/>
		<updated>2026-06-17T02:00:15Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul {&lt;br /&gt;
    margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
    display: inline;&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
    content: &#039;•&#039;;&lt;br /&gt;
    padding: .5em;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=275</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=275"/>
		<updated>2026-06-17T01:58:55Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=274</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=274"/>
		<updated>2026-06-17T01:57:33Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&amp;lt;templatestyles src=&amp;quot;Guide/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=273</id>
		<title>Template:Guide/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide/styles.css&amp;diff=273"/>
		<updated>2026-06-17T01:55:44Z</updated>

		<summary type="html">&lt;p&gt;VV: Created page with &amp;quot;.guide { 	padding: 0.5em; 	margin: 0.5em 0; 	border: 1px solid var( --border-color-subtle, #c8ccd1 );     background: var(--background-color-neutral-subtle); }  .guide ul &amp;gt; li {    display: inline;  } .guide ul &amp;gt; li:not(:first-child):before {    content: &amp;#039;•&amp;#039;; }&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.guide {&lt;br /&gt;
	padding: 0.5em;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.guide ul &amp;gt; li {&lt;br /&gt;
   display: inline;&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
.guide ul &amp;gt; li:not(:first-child):before {&lt;br /&gt;
   content: &#039;•&#039;;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=272</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=272"/>
		<updated>2026-06-17T01:48:05Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=271</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=271"/>
		<updated>2026-06-17T01:47:22Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=270</id>
		<title>LUKS/Advanced</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=270"/>
		<updated>2026-06-17T01:47:07Z</updated>

		<summary type="html">&lt;p&gt;VV: remove &amp;quot;main page&amp;quot; link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Guide&lt;br /&gt;
| 0 = advanced&lt;br /&gt;
}}For more more info on this topic, check the [https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions cryptsetup FAQ], the [https://wiki.archlinux.org/title/Dm-crypt/Device_encryption Arch Wiki].&lt;br /&gt;
&lt;br /&gt;
= Guide to Decent LUKS Security on Linux =&lt;br /&gt;
The Main Page gives a high level overview of what different LUKS options can do, but this page intends to go into as much detail as possible about them while still aiming to be easy to understand.&lt;br /&gt;
&lt;br /&gt;
== Ciphers ==&lt;br /&gt;
Ciphers are the [[algorithms]] used to [[Encryption|encrypt]] [[data]]. Picking the best algorithm is very important for ensuring your data is secure. If your cipher can be broken, then your data can be accessed without the key.&lt;br /&gt;
&lt;br /&gt;
Of the widely supported options, the two most worth considering are [[Serpent]] and [[AES]]. &lt;br /&gt;
&lt;br /&gt;
Twofish &#039;&#039;may&#039;&#039; be better in lower-security applications where there&#039;s no AES acceleration &#039;&#039;and&#039;&#039; writes happen more often than reads, but generally, not a great option.&lt;br /&gt;
&lt;br /&gt;
Serpent may theoretically be more secure, though in practice its potential advantages seem pretty minimal. It also hasn&#039;t been tested as much as AES, so it &#039;&#039;may&#039;&#039; have potential vulnerabilities not yet known about .&lt;br /&gt;
&lt;br /&gt;
Another consideration is the actual implementation. Serpent has potential vulnerabilities depending on the details of the implementation. Without looking into the specific implementation in-depth, it&#039;s hard to say how secure it is.&lt;br /&gt;
&lt;br /&gt;
On the other hand, having hardware acceleration for AES has a number of advantages for security, most notably resistance to side channel attacks, and of course, speed. Some chips however, almost always not x86, do not have hardware accelerated AES. It&#039;s also possible that your CPU may have a vulnerability, so that&#039;s something you may want to look into. As far as we are aware though, no vulnerabilities have been reported on any present or past chip with AES support. Practically speaking, the advantages of having hardware accelerated AES  make it more secure than using Serpent in nearly all cases.&lt;br /&gt;
&lt;br /&gt;
== On-disk Format ==&lt;br /&gt;
The on-disk format defines how the encrypted data is stored on the disk itself . While you &#039;&#039;could&#039;&#039; just write the encrypted blocks directly to the disk , you would be at risk of a number of different attacks . CBC ( Cipher-block chaining ) is an older on-disk format and should not really be used . It has malleability vulnerabilities ( meaning data can be inserted without knowing the encryption key ) , and also , specially-crafted files can be &amp;quot; fingerprinted &amp;quot; , meaning they can be located on the disk . XTS ( XEX-based tweaked-codebook mode with ciphertext stealing ) is better at mitigating these issues , so it&#039;s the recommended default . It&#039;s also usually hardware accelerated on x86 . XTS does have its own vulnerabilities , but most of these issues can be mitigated by using a filesystem that can verify and repair corrupted data , like ZFS or BTRFS .&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=269</id>
		<title>Template:Guide link li</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=269"/>
		<updated>2026-06-17T01:45:02Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;li&amp;gt;[[{{{2}}}|{{{1}}}]]&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=268</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=268"/>
		<updated>2026-06-17T01:44:11Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier,Page&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=267</id>
		<title>Template:Guide link li</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=267"/>
		<updated>2026-06-17T01:43:01Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;li&amp;gt;{{{1}}}&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=266</id>
		<title>Template:Guide link li</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide_link_li&amp;diff=266"/>
		<updated>2026-06-17T01:42:09Z</updated>

		<summary type="html">&lt;p&gt;VV: Created page with &amp;quot;&amp;lt;li&amp;gt;{{{0}}}&amp;lt;/li&amp;gt;&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;li&amp;gt;{{{0}}}&amp;lt;/li&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=265</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=265"/>
		<updated>2026-06-17T01:40:47Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.75em 0.5em 0.5em 60px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
    min-height: 35px;&lt;br /&gt;
	background-size: 50px;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=264</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=264"/>
		<updated>2026-06-17T01:38:48Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.75em 0.5em 0.5em 60px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
    min-height: 40px;&lt;br /&gt;
	background-size: 50px;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=263</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=263"/>
		<updated>2026-06-17T01:37:39Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.5em 0.5em 0.5em 60px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
    min-height: 40px;&lt;br /&gt;
	background-size: 50px;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=262</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=262"/>
		<updated>2026-06-17T01:35:47Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.5em 0.5em 0.5em 60px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
	background-size: 50px;&lt;br /&gt;
    min-height: 60px;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
	padding-left: 40px;&lt;br /&gt;
	min-height: 25px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=261</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=261"/>
		<updated>2026-06-17T01:34:52Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.5em 0.5em 0.5em 40px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
	background-size: 50px;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
	padding-left: 40px;&lt;br /&gt;
	min-height: 25px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft&amp;diff=260</id>
		<title>Template:Draft</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft&amp;diff=260"/>
		<updated>2026-06-17T01:33:59Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;templatestyles src=&amp;quot;Draft/styles.css&amp;quot; /&amp;gt;&amp;lt;div role=&amp;quot;draft&amp;quot; class=&amp;quot;infobox infobox-draft&amp;quot;&amp;gt;This article is currently a &#039;&#039;&#039;draft&#039;&#039;&#039;. It has not yet been completed.&amp;lt;/div&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=259</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=259"/>
		<updated>2026-06-17T01:33:41Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.5em 0.5em 0.5em 40px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.infobox-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
	background-size: 25px;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
	padding-left: 40px;&lt;br /&gt;
	min-height: 25px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=258</id>
		<title>Template:Draft/styles.css</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Draft/styles.css&amp;diff=258"/>
		<updated>2026-06-17T01:32:49Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.infobox {&lt;br /&gt;
	background-position: left 7px top 50%;&lt;br /&gt;
	padding: 0.5em 0.5em 0.5em 40px;&lt;br /&gt;
	margin: 0.5em 0;&lt;br /&gt;
	overflow: hidden;&lt;br /&gt;
	background-repeat: no-repeat;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
    background: var(--background-color-neutral-subtle);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.note-draft {&lt;br /&gt;
	background-image: url(https://wiki.fassag.dev/images/5/57/DRAFTS.png);&lt;br /&gt;
	background-size: 25px;&lt;br /&gt;
	border: 1px solid var( --border-color-subtle, #c8ccd1 );&lt;br /&gt;
	padding-left: 40px;&lt;br /&gt;
	min-height: 25px;&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=257</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=257"/>
		<updated>2026-06-17T01:15:08Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=255</id>
		<title>LUKS/Advanced</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=LUKS/Advanced&amp;diff=255"/>
		<updated>2026-06-17T01:12:00Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Draft}}{{Main|LUKS}}{{Guide&lt;br /&gt;
| 0 = advanced&lt;br /&gt;
}}For more more info on this topic, check the [https://gitlab.com/cryptsetup/cryptsetup/-/wikis/FrequentlyAskedQuestions cryptsetup FAQ], the [https://wiki.archlinux.org/title/Dm-crypt/Device_encryption Arch Wiki].&lt;br /&gt;
&lt;br /&gt;
= Guide to Decent LUKS Security on Linux =&lt;br /&gt;
The Main Page gives a high level overview of what different LUKS options can do, but this page intends to go into as much detail as possible about them while still aiming to be easy to understand.&lt;br /&gt;
&lt;br /&gt;
== Ciphers ==&lt;br /&gt;
Ciphers are the [[algorithms]] used to [[Encryption|encrypt]] [[data]]. Picking the best algorithm is very important for ensuring your data is secure. If your cipher can be broken, then your data can be accessed without the key.&lt;br /&gt;
&lt;br /&gt;
Of the widely supported options, the two most worth considering are [[Serpent]] and [[AES]]. &lt;br /&gt;
&lt;br /&gt;
Twofish &#039;&#039;may&#039;&#039; be better in lower-security applications where there&#039;s no AES acceleration &#039;&#039;and&#039;&#039; writes happen more often than reads, but generally, not a great option.&lt;br /&gt;
&lt;br /&gt;
Serpent may theoretically be more secure, though in practice its potential advantages seem pretty minimal. It also hasn&#039;t been tested as much as AES, so it &#039;&#039;may&#039;&#039; have potential vulnerabilities not yet known about .&lt;br /&gt;
&lt;br /&gt;
Another consideration is the actual implementation. Serpent has potential vulnerabilities depending on the details of the implementation. Without looking into the specific implementation in-depth, it&#039;s hard to say how secure it is.&lt;br /&gt;
&lt;br /&gt;
On the other hand, having hardware acceleration for AES has a number of advantages for security, most notably resistance to side channel attacks, and of course, speed. Some chips however, almost always not x86, do not have hardware accelerated AES. It&#039;s also possible that your CPU may have a vulnerability, so that&#039;s something you may want to look into. As far as we are aware though, no vulnerabilities have been reported on any present or past chip with AES support. Practically speaking, the advantages of having hardware accelerated AES  make it more secure than using Serpent in nearly all cases.&lt;br /&gt;
&lt;br /&gt;
== On-disk Format ==&lt;br /&gt;
The on-disk format defines how the encrypted data is stored on the disk itself . While you &#039;&#039;could&#039;&#039; just write the encrypted blocks directly to the disk , you would be at risk of a number of different attacks . CBC ( Cipher-block chaining ) is an older on-disk format and should not really be used . It has malleability vulnerabilities ( meaning data can be inserted without knowing the encryption key ) , and also , specially-crafted files can be &amp;quot; fingerprinted &amp;quot; , meaning they can be located on the disk . XTS ( XEX-based tweaked-codebook mode with ciphertext stealing ) is better at mitigating these issues , so it&#039;s the recommended default . It&#039;s also usually hardware accelerated on x86 . XTS does have its own vulnerabilities , but most of these issues can be mitigated by using a filesystem that can verify and repair corrupted data , like ZFS or BTRFS .&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=254</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=254"/>
		<updated>2026-06-17T01:11:24Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=253</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=253"/>
		<updated>2026-06-17T01:10:51Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
	<entry>
		<id>https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=252</id>
		<title>Template:Guide</title>
		<link rel="alternate" type="text/html" href="https://wiki.fassag.dev/index.php?title=Template:Guide&amp;diff=252"/>
		<updated>2026-06-17T01:09:51Z</updated>

		<summary type="html">&lt;p&gt;VV: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;0&amp;quot;: {&lt;br /&gt;
			&amp;quot;aliases&amp;quot;: [&lt;br /&gt;
				&amp;quot;tier&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;label&amp;quot;: &amp;quot;Tier&amp;quot;,&lt;br /&gt;
			&amp;quot;description&amp;quot;: &amp;quot;The difficulty tier of this guide&amp;quot;,&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;string&amp;quot;,&lt;br /&gt;
			&amp;quot;suggestedvalues&amp;quot;: [&lt;br /&gt;
				&amp;quot;beginner&amp;quot;,&lt;br /&gt;
				&amp;quot;novice&amp;quot;,&lt;br /&gt;
				&amp;quot;intermediate&amp;quot;,&lt;br /&gt;
				&amp;quot;advanced&amp;quot;,&lt;br /&gt;
				&amp;quot;expert&amp;quot;&lt;br /&gt;
			],&lt;br /&gt;
			&amp;quot;autovalue&amp;quot;: &amp;quot;intermediate&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true,&lt;br /&gt;
			&amp;quot;default&amp;quot;: &amp;quot;intermediate&amp;quot;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;description&amp;quot;: &amp;quot;Mark a page as a Guide, and specify the tier of difficulty&amp;quot;,&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;paramOrder&amp;quot;: [&lt;br /&gt;
		&amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
{{#cargo_declare:_table=Guides&lt;br /&gt;
|Guide=String&lt;br /&gt;
|Tier=String (allowed values=beginner,novice,intermediate,advanced,expert)&lt;br /&gt;
|Page=Page}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&lt;br /&gt;
{{#cargo_store:_table=Guides&lt;br /&gt;
|Tier = {{{0}}}&lt;br /&gt;
|Guide = {{#titleparts: {{PAGENAME}} | 1}}&lt;br /&gt;
|Page = {{PAGENAME}}&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
&amp;lt;onlyinclude&amp;gt;&amp;lt;div class=&amp;quot;guide&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This is {{#switch: {{{0}}}&lt;br /&gt;
|beginner = a &#039;&#039;&#039;beginner&lt;br /&gt;
|novice = a &#039;&#039;&#039;novice&lt;br /&gt;
|intermediate = an &#039;&#039;&#039;intermediate&lt;br /&gt;
|advanced = an &#039;&#039;&#039;advanced&lt;br /&gt;
|expert = &#039;&#039;&#039;an expert&lt;br /&gt;
|an &#039;&#039;&#039;intermediate}} difficulty&#039;&#039;&#039; guide. All versions:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
{{#cargo_query:table=Guides&lt;br /&gt;
|fields=Tier&lt;br /&gt;
|where=Guide=&amp;quot;{{#titleparts: {{PAGENAME}} | 1}}&amp;quot;&lt;br /&gt;
|format=template&lt;br /&gt;
|template=Guide link li}}&lt;br /&gt;
&amp;lt;/ul&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>VV</name></author>
	</entry>
</feed>