Fix code indentation

This commit closes #59.
This commit is contained in:
inference 2024-03-18 00:36:16 +00:00
parent bcb3b6cd75
commit cdeeb241c4
Signed by: inference
SSH Key Fingerprint: SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc
23 changed files with 2699 additions and 2940 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,57 +1,57 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Blog --> <!-- Inferencium - Website - Blog -->
<!-- Version: 8.0.0 --> <!-- Version: 8.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Blog</title> <title>Inferencium - Blog</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Blog</h1> <h1>Blog</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><b>2022-12-20</b></li> <li><b>2022-12-20</b></li>
<ul> <ul>
<li><a href="blog/the_chromium_monopoly.xhtml">#3 - The Chromium Monopoly</a></li> <li><a href="blog/the_chromium_monopoly.xhtml">#3 - The Chromium Monopoly</a></li>
</ul> </ul>
<li><b>2022-06-30</b></li> <li><b>2022-06-30</b></li>
<ul> <ul>
<li><a href="blog/untrusted_the_issue_with_decentralisation.xhtml">#2 - Untrusted: The Issue with Decentralisation</a></li> <li><a href="blog/untrusted_the_issue_with_decentralisation.xhtml">#2 - Untrusted: The Issue with Decentralisation</a></li>
</ul> </ul>
<li><b>2022-01-29</b></li> <li><b>2022-01-29</b></li>
<ul> <ul>
<li><a href="blog/systemd_insecurity.xhtml">#1 - systemd Insecurity</a></li> <li><a href="blog/systemd_insecurity.xhtml">#1 - systemd Insecurity</a></li>
</ul> </ul>
<li><b>2022-01-27</b></li> <li><b>2022-01-27</b></li>
<ul> <ul>
<li><a href="blog/foss_is_working_against_itself.xhtml">#0 - FOSS is Working Against Itself</a></li> <li><a href="blog/foss_is_working_against_itself.xhtml">#0 - FOSS is Working Against Itself</a></li>
</ul> </ul>
</ul> </ul>
</nav> </nav>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

View File

@ -1,195 +1,175 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Blog - #0 --> <!-- Inferencium - Website - Blog - #0 -->
<!-- Version: 9.0.0 --> <!-- Version: 9.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Blog - FOSS is Working Against Itself</title> <title>Inferencium - Blog - FOSS is Working Against Itself</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav>
<h1>Blog - #0</h1>
<h2>FOSS is Working Against Itself</h2>
<p class="update_date">Posted: 2022-01-27 (UTC+00:00)</p>
<p class="update_date">Updated: 2023-10-31 (UTC+00:00)</p>
<nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#examples">Examples</a></li>
<ul>
<li><a href="#examples-smartphones">Smartphones</a></li>
</ul>
<li><a href="#solution">Solution</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</nav> </nav>
<h1>Blog - #0</h1> <section id="introduction">
<h2>FOSS is Working Against Itself</h2> <h2><a href="#introduction">Introduction</a></h2>
<p class="update_date">Posted: 2022-01-27 (UTC+00:00)</p> <p>The world has become a dangerous, privacy invading, human rights stripping, totalitarian
<p class="update_date">Updated: 2023-10-31 (UTC+00:00)</p> place; in order to combat this, people are joining a growing, and dangerous, trend, which I will
<nav id="toc"> refer to in this post as the "Free and Open Source (FOSS) movement". With that stated, I will
<h2><a href="#toc">Table of Contents</a></h2> now debunk the misinformation being spread inside of this extremely flawed movement.</p>
<ul> <p>The
<li><a href="#introduction">Introduction</a></li> <a href="https://en.wikipedia.org/wiki/Free_software">FOSS</a>
<li><a href="#examples">Examples</a></li> movement is an attempt to regain
<ul> <a href="https://en.wikipedia.org/wiki/Privacy">privacy</a>
<li><a href="#examples-smartphones">Smartphones</a></li> and
</ul> <a href="https://en.wikipedia.org/wiki/Control_(psychology)">control</a>
<li><a href="#solution">Solution</a></li> over our devices and data, but the entire concept of FOSS-only, at the current time, is
<li><a href="#conclusion">Conclusion</a></li> severely, and dangerously, flawed. What the FOSS community does not seem to understand is the
</ul> fact that most FOSS software cares not about
</nav> <a href="https://en.wikipedia.org/wiki/Security">security</a>.
<section id="introduction"> "Security"; keep that word in mind as you progress through this article. What is security?
<h2><a href="#introduction">Introduction</a></h2> Security is being safe and secure from adversaries and unwanted consequences; security protects
<p>The world has become a dangerous, privacy invading, human rights stripping, our rights and allows us to protect ourselves. Without security, we have no protection, and
totalitarian place; in order to combat this, people are joining a growing, and without protection, we have a lack of certainty of everything else, including privacy and
dangerous, trend, which I will refer to in this post as the "Free and Open control, which is what the FOSS movement is seeking.</p>
Source (FOSS) movement". With that stated, I will now debunk the misinformation <p>FOSS projects rarely take security into account; they simply look at the surface level,
being spread inside of this extremely flawed movement.</p> rather than the actual
<p>The <a href="https://en.wikipedia.org/wiki/Root_cause_analysis">root cause</a>
<a href="https://en.wikipedia.org/wiki/Free_software">FOSS</a> of the issues they are attempting to fight against. In this case, the focus is on privacy and
movement is an attempt to regain control. Without security mechanisms to protect the privacy features and the ability to control
<a href="https://en.wikipedia.org/wiki/Privacy">privacy</a> your devices and data, it can be stripped away as if it never existed in the first place, which,
and inevitably, leads us back to the beginning, and the cycle repeats. With this
<a href="https://en.wikipedia.org/wiki/Control_(psychology)">control</a> <a href="https://en.wikipedia.org/wiki/Ideology">ideology</a>,
over our devices and data, but the entire concept of FOSS-only, at the current privacy and control will <em>never</em> be achieved. There is no foundation to build privacy or
time, is severely, and dangerously, flawed. What the FOSS community does not control upon. It is impossible to build a solid, freedom respecting platform on this model.</p>
seem to understand is the fact that most FOSS software cares not about </section>
<a href="https://en.wikipedia.org/wiki/Security">security</a>. <section id="examples">
"Security"; keep that word in mind as you progress through this article. What is <h2><a href="#examples">Examples</a></h2>
security? Security is being safe and secure from adversaries and unwanted <section id="examples-smartphones">
consequences; security protects our rights and allows us to protect ourselves. <h3><a href="#examples-smartphones">Smartphones</a></h3>
Without security, we have no protection, and without protection, we have a lack <p>A FOSS phone, especially so-called
of certainty of everything else, including privacy and control, which is what "<a href="https://en.wikipedia.org/wiki/Linux_for_mobile_devices#Smartphones">Linux phones</a>"
the FOSS movement is seeking.</p> are completely detrimental to privacy and control, because they do not have the security
<p>FOSS projects rarely take security into account; they simply look at the necessary to enforce that privacy.
surface level, rather than the actual <a href="https://en.wikipedia.org/wiki/Bootloader_unlocking">Unlocked bootloaders</a>
<a href="https://en.wikipedia.org/wiki/Root_cause_analysis">root cause</a> prevent the device from
of the issues they are attempting to fight against. In this case, the focus is <a href="https://source.android.com/docs/security/features/verifiedboot/">verifying the integrity of the boot chain</a>,
on privacy and control. Without security mechanisms to protect the privacy including the OS, meaning any adversary, whether a stranger who happens to pick up the
features and the ability to control your devices and data, it can be stripped device, or a big tech or government entity, can simply inject malicious code into your
away as if it never existed in the first place, which, inevitably, leads us back software and you wouldn't have any idea it was there. If that's not enough of a backdoor
to the beginning, and the cycle repeats. With this for you to reconsider your position, how about the trivial
<a href="https://en.wikipedia.org/wiki/Ideology">ideology</a>, <a href="https://en.wikipedia.org/wiki/Evil_maid_attack">evil maid</a>
privacy and control will <em>never</em> be achieved. There is no foundation to and data extraction attacks which could be executed on your device, without coercion?
build privacy or control upon. It is impossible to build a solid, freedom With Android phones, this is bad enough to completely break the privacy and control the
respecting platform on this model.</p> FOSS movement seeks, but "Linux phones" take it a step further by implementing barely
any security, if any at all.
<a href="https://en.wikipedia.org/wiki/Privilege_escalation">Privilege escalation</a>
is trivial to achieve on any Linux system, which is the reason Linux
<a href="https://en.wikipedia.org/wiki/Hardening_(computing)">hardening</a>
strategies often include restricting access to the root account; if you
<a href="https://en.wikipedia.org/wiki/Rooting_(Android)">root your Android phone</a>,
or use a "Linux phone", you've already destroyed the security model, and thus privacy
and control model you were attempting to achieve. Not only are these side effects of
FOSS, so is the absolutely illogical restriction of not being able to, or making it
unnecessarily difficult to, install and update critical components of the system, such
as proprietary
<a href="https://en.wikipedia.org/wiki/Firmware">firmware</a>,
which just so happens to be almost all of them. "Linux phones" are not as free as they
proclaim to be.</p>
<p>You may ask "What's so bad about using
<a href="https://lineageos.org/">LineageOS</a>?",
to which I answer with "What's not bad about it?".</p>
<ul>
<li>LineageOS uses
<a href="https://github.com/LineageOS/hudson/blob/master/lineage-build-targets">debug builds</a>,
not safe and secure release builds.</li>
<li>LineageOS requires an unlocked bootloader. Even when installed on devices
which support custom Android Verified Boot (AVB) keys, the bootloader cannot be
locked due to lack of the OS being signed.</li>
<li>LineageOS does not install critically important firmware without manual
flashing, requiring users to perform a second update to install this firmware;
this likely causes users to ignore the notification or miss firmware
updates.</li>
<li>LineageOS does not implement
<a href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection">rollback protection</a>,
meaning any adversary, from a stranger who physically picks up the device, to a
goverment entity remotely, can simply downgrade the OS to a previous version in
order to exploit known
<a href="https://en.wikipedia.org/wiki/Vulnerability_(computing)">security vulnerabilities</a>.</li>
</ul>
<p>LineageOS is not the only Android OS (commonly, and incorrectly, referred to as a
"ROM") with such issues, but it is one of the worst. The only things such insecure OSes
can provide you are customisation abilities, and a backdoor to your data. They are best
suited as a development OS, not a production OS.</p>
</section> </section>
<section id="examples"> </section>
<h2><a href="#examples">Examples</a></h2> <section id="solution">
<section id="examples-smartphones"> <h2><a href="#solution">Solution</a></h2>
<h3><a href="#examples-smartphones">Smartphones</a></h3> <p>What can you do about this? The answer is simple; however, it does require you to use logic,
<p>A FOSS phone, especially so-called fact, and evidence, not emotion, which is a difficult pill for most people to swallow. Use your
"<a href="https://en.wikipedia.org/wiki/Linux_for_mobile_devices#Smartphones">Linux phones</a>" adversaries' weapons against them. The only way to effectively combat the privacy invasion and
are completely detrimental to privacy and control, because they lack of control of our devices and data is to become a
do not have the security necessary to enforce that privacy. <a href="https://en.wikipedia.org/wiki/Turncoat">renegade</a>
<a href="https://en.wikipedia.org/wiki/Bootloader_unlocking">Unlocked bootloaders</a> and not take sides. Yes, that means not taking sides with the closed-source, proprietary, big
prevent the device from tech and government entities, but it also means not taking sides with any FOSS entities. The
<a href="https://source.android.com/docs/security/features/verifiedboot/">verifying the integrity of the boot chain</a>, only way to win this war is to take <em>whatever</em> hardware and software you can, and use it
including the OS, meaning any adversary, whether a stranger who tactically.</p>
happens to pick up the device, or a big tech or government <p>The best solution for device security, privacy, and control, is to use a Google Pixel
entity, can simply inject malicious code into your software and (currently, Pixel 5a or newer) running
you wouldn't have any idea it was there. If that's not enough of <a href="https://grapheneos.org/">GrapheneOS</a>.
a backdoor for you to reconsider your position, how about the Google Pixel devices allow you complete bootloader freedom, including the
trivial <a href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later">ability to lock the bootloader after flashing a custom OS</a>
<a href="https://en.wikipedia.org/wiki/Evil_maid_attack">evil maid</a> (GrapheneOS includes a custom OS signing key to allow locking the bootloader and enabling
and data extraction attacks which could be executed on your verified boot to prevent
device, without coercion? With Android phones, this is bad <a href="https://en.wikipedia.org/wiki/Malware">malware</a>
enough to completely break the privacy and control the FOSS persistence, evil maid attacks, and boot chain
movement seeks, but "Linux phones" take it a step further by <a href="https://en.wikipedia.org/wiki/Data_corruption">corruption</a>),
implementing barely any security, if any at all. <a href="https://support.google.com/nexus/answer/4457705">long device support lifecycles</a>
<a href="https://en.wikipedia.org/wiki/Privilege_escalation">Privilege escalation</a> (minimum 3 years for Pixel 5a, minimum 5 years for Pixel 6-series and 7-series, and minimum 7
is trivial to achieve on any Linux system, which is the reason years for Pixel 8-series and newer), and
Linux <a href="https://source.android.com/docs/security/bulletin/pixel/">guaranteed monthly security updates</a>
<a href="https://en.wikipedia.org/wiki/Hardening_(computing)">hardening</a> for the entire support timeframe of the devices.</p>
strategies often include restricting access to the root account; </section>
if you <section id="conclusion">
<a href="https://en.wikipedia.org/wiki/Rooting_(Android)">root your Android phone</a>, <h2><a href="#conclusion">Conclusion</a></h2>
or use a "Linux phone", you've already destroyed the security <p>Use what you can, and do what you can. By neglecting security, you are, even if
model, and thus privacy and control model you were attempting to unintentionally, neglecting exactly what you are trying to gain; privacy and control.</p>
achieve. Not only are these side effects of FOSS, so is the </section>
absolutely illogical restriction of not being able to, or making <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
it unnecessarily difficult to, install and update critical </body>
components of the system, such as proprietary
<a href="https://en.wikipedia.org/wiki/Firmware">firmware</a>,
which just so happens to be almost all of them. "Linux phones"
are not as free as they proclaim to be.</p>
<p>You may ask "What's so bad about using
<a href="https://lineageos.org/">LineageOS</a>?",
to which I answer with "What's not bad about it?".
<ul>
<li>LineageOS uses
<a href="https://github.com/LineageOS/hudson/blob/master/lineage-build-targets">debug builds</a>,
not safe and secure release builds.</li>
<li>LineageOS requires an unlocked bootloader.
Even when installed on devices which support
custom Android Verified Boot (AVB) keys, the
bootloader cannot be locked due to lack of the
OS being signed.</li>
<li>LineageOS does not install critically
important firmware without manual flashing,
requiring users to perform a second update to
install this firmware; this likely causes users
to ignore the notification or miss firmware
updates.</li>
<li>LineageOS does not implement
<a href="https://source.android.com/docs/security/features/verifiedboot/verified-boot#rollback-protection">rollback protection</a>,
meaning any adversary, from a stranger who
physically picks up the device, to a goverment
entity remotely, can simply downgrade the OS to
a previous version in order to exploit known
<a href="https://en.wikipedia.org/wiki/Vulnerability_(computing)">security vulnerabilities</a>.</li>
</ul>
</p>
<p>LineageOS is not the only Android OS (commonly, and
incorrectly, referred to as a "ROM") with such issues, but it is
one of the worst. The only things such insecure OSes can provide
you are customisation abilities, and a backdoor to your data.
They are best suited as a development OS, not a production
OS.</p>
</section>
</section>
<section id="solution">
<h2><a href="#solution">Solution</a></h2>
<p>What can you do about this? The answer is simple; however, it does require
you to use logic, fact, and evidence, not emotion, which is a difficult pill for
most people to swallow. Use your adversaries' weapons against them. The only way
to effectively combat the privacy invasion and lack of control of our devices
and data is to become a
<a href="https://en.wikipedia.org/wiki/Turncoat">renegade</a>
and not take sides. Yes, that means not taking sides with the closed-source,
proprietary, big tech and government entities, but it also means not taking
sides with any FOSS entities. The only way to win this war is to take
<em>whatever</em> hardware and software you can, and use it tactically.</p>
<p>The best solution for device security, privacy, and control, is to use a
Google Pixel (currently, Pixel 5a or newer) running
<a href="https://grapheneos.org/">GrapheneOS</a>.
Google Pixel devices allow you complete bootloader freedom, including the
<a href="https://android.googlesource.com/platform/external/avb/+/master/README.md#pixel-2-and-later">ability to lock the bootloader after flashing a custom OS</a>
(GrapheneOS includes a custom OS signing key to allow locking the bootloader and
enabling verified boot to prevent
<a href="https://en.wikipedia.org/wiki/Malware">malware</a>
persistence, evil maid attacks, and boot chain
<a href="https://en.wikipedia.org/wiki/Data_corruption">corruption</a>),
<a href="https://support.google.com/nexus/answer/4457705">long device support lifecycles</a>
(minimum 3 years for Pixel 5a, minimum 5 years for Pixel 6-series and 7-series,
and minimum 7 years for Pixel 8-series and newer), and
<a href="https://source.android.com/docs/security/bulletin/pixel/">guaranteed monthly security updates</a>
for the entire support timeframe of the devices.</p>
</section>
<section id="conclusion">
<h2><a href="#conclusion">Conclusion</a></h2>
<p>Use what you can, and do what you can. By neglecting security, you are, even
if unintentionally, neglecting exactly what you are trying to gain; privacy and
control.</p>
</section>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,99 +1,95 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Blog - #1 --> <!-- Inferencium - Website - Blog - #1 -->
<!-- Version: 9.0.0 --> <!-- Version: 9.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Blog - systemd Insecurity</title> <title>Inferencium - Blog - systemd Insecurity</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav>
<h1>Blog - #1</h1>
<h2>systemd Insecurity</h2>
<p class="update_date">Posted: 2022-01-29 (UTC+00:00)</p>
<p class="update_date">Updated: 2023-10-31 (UTC+00:00)</p>
<nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2>
<ul>
<li><a href="#issue-0">Issue #0 - Against CVE Assignment</a></li>
<li><a href="#issue-1">Issue #1 - CVEs Are Not Useful</a></li>
<li><a href="#issue-2">Issue #2 - Security is a Circus</a></li>
<li><a href="#issue-3">Issue #3 - Blaming the User</a></li>
</ul>
</nav> </nav>
<h1>Blog - #1</h1> <p>Anyone who cares about security may want to switch from systemd as soon as possible; its lead
<h2>systemd Insecurity</h2> developer doesn't care about your security at all.</p>
<p class="update_date">Posted: 2022-01-29 (UTC+00:00)</p> <section id="issue-0">
<p class="update_date">Updated: 2023-10-31 (UTC+00:00)</p> <h2><a href="#issue-0">Issue #0 - Against CVE Assignment</a></h2>
<nav id="toc"> <blockquote>"You don't assign CVEs to every single random bugfix we do, do you?"</blockquote>
<h2><a href="#toc">Table of Contents</a></h2> <p>- Lennart Poettering, systemd lead developer</p>
<ul> <p><b>My thoughts:</b> Yes, if they're security-related.</p>
<li><a href="#issue-0">Issue #0 - Against CVE Assignment</a></li> <p>Source:
<li><a href="#issue-1">Issue #1 - CVEs Are Not Useful</a></li> <a href="https://github.com/systemd/systemd/pull/5998#issuecomment-303782334">systemd GitHub Issue 5998</a></p>
<li><a href="#issue-2">Issue #2 - Security is a Circus</a></li> </section>
<li><a href="#issue-3">Issue #3 - Blaming the User</a></li> <section id="issue-1">
</ul> <h2><a href="#issue-1">Issue #1 - CVEs Are Not Useful</a></h2>
</nav> <blockquote>"Humpf, I am not convinced this is the right way to announce this. We never did
<p>Anyone who cares about security may want to switch from systemd as soon as possible; its lead that, and half the CVEs aren't useful anyway, hence I am not sure we should start with that now,
developer doesn't care about your security at all.</p> because it is either inherently incomplete or blesses the nonsensical part of the CVE circus
<section id="issue-0"> which we really shouldn't bless..."</blockquote>
<h2><a href="#issue-0">Issue #0 - Against CVE Assignment</a></h2> <p>- Lennart Poettering, systemd lead developer</p>
<blockquote>"You don't assign CVEs to every single random bugfix we do, do <p><b>My thoughts:</b> CVEs are supposed to be for security, and a log of when they were found
you?"</blockquote> and their severity, so yes, it <em>is</em> the correct way to announce it. It seems as if over
<p>- Lennart Poettering, systemd lead developer</p> 95 security-concious people think the same.</p>
<p><b>My thoughts:</b> Yes, if they're security-related.</p> <p>Source:
<p>Source: <a href="https://github.com/systemd/systemd/pull/6225#issuecomment-311739869">systemd GitHub Issue 6225</a></p>
<a href="https://github.com/systemd/systemd/pull/5998#issuecomment-303782334">systemd GitHub Issue 5998</a></p> </section>
</section> <section id="issue-2">
<section id="issue-1"> <h2><a href="#issue-2">Issue #2 - Security is a Circus</a></h2>
<h2><a href="#issue-1">Issue #1 - CVEs Are Not Useful</a></h2> <blockquote>"I am not sure I buy enough into the security circus to do that though for any minor
<blockquote>"Humpf, I am not convinced this is the right way to announce this. issue..."</blockquote>
We never did that, and half the CVEs aren't useful anyway, hence I am not sure <p>- Lennart Poettering, systemd lead developer</p>
we should start with that now, because it is either inherently incomplete or <p>Source:
blesses the nonsensical part of the CVE circus which we really shouldn't <a href="https://github.com/systemd/systemd/issues/5144#issuecomment-276740654">systemd GitHub Issue 5144</a></p>
bless..."</blockquote> </section>
<p>- Lennart Poettering, systemd lead developer</p> <section id="issue-3">
<p><b>My thoughts:</b> CVEs are supposed to be for security, and a log of when they <h2><a href="#issue-3">Issue #3 - Blaming the User</a></h2>
were found and their severity, so yes, it <em>is</em> the correct way to <blockquote><p>"Yes, as you found out "0day" is not a valid username. I wonder which tool
announce it. It seems as if over 95 security-concious people think the same.</p> permitted you to create it in the first place. Note that not permitting numeric first characters
<p>Source: is done on purpose: to avoid ambiguities between numeric UID and textual user names.</p>
<a href="https://github.com/systemd/systemd/pull/6225#issuecomment-311739869">systemd GitHub Issue 6225</a></p> <p>systemd will validate all configuration data you drop at it, making it hard to generate
</section> invalid configuration. Hence, yes, it's a feature that we don't permit invalid user names, and
<section id="issue-2"> I'd consider it a limitation of xinetd that it doesn't refuse an invalid username.</p>
<h2><a href="#issue-2">Issue #2 - Security is a Circus</a></h2> <p>So, yeah, I don't think there's anything to fix in systemd here. I understand this is
<blockquote>"I am not sure I buy enough into the security circus to do that annoying, but still: the username is clearly not valid."</p></blockquote>
though for any minor issue..."</blockquote> <p>- Lennart Poettering, systemd lead developer</p>
<p>- Lennart Poettering, systemd lead developer</p> <p><b>My thoughts:</b> systemd was the thing that allowed root access just because a username
<p>Source: started with a number, then Poettering blamed the user.</p>
<a href="https://github.com/systemd/systemd/issues/5144#issuecomment-276740654">systemd GitHub Issue 5144</a></p> <p>Source:
</section> <a href="https://github.com/systemd/systemd/issues/6237#issuecomment-311900864">systemd GitHub Issue 6237</a></p>
<section id="issue-3"> </section>
<h2><a href="#issue-3">Issue #3 - Blaming the User</a></h2> <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
<blockquote><p>"Yes, as you found out "0day" is not a valid username. I wonder </body>
which tool permitted you to create it in the first place. Note that not
permitting numeric first characters is done on purpose: to avoid ambiguities
between numeric UID and textual user names.</p>
<p>systemd will validate all configuration data you drop at it, making it hard to
generate invalid configuration. Hence, yes, it's a feature that we don't permit
invalid user names, and I'd consider it a limitation of xinetd that it doesn't
refuse an invalid username.</p>
<p>So, yeah, I don't think there's anything to fix in systemd here. I understand
this is annoying, but still: the username is clearly not valid."</p></blockquote>
<p>- Lennart Poettering, systemd lead developer</p>
<p><b>My thoughts:</b> systemd was the thing that allowed root access just because a
username started with a number, then Poettering blamed the user.</p>
<p>Source:
<a href="https://github.com/systemd/systemd/issues/6237#issuecomment-311900864">systemd GitHub Issue 6237</a></p>
</section>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,112 +1,100 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Blog - #3 --> <!-- Inferencium - Website - Blog - #3 -->
<!-- Version: 9.0.0 --> <!-- Version: 9.0.0-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Blog - The Chromium Monopoly</title> <title>Inferencium - Blog - The Chromium Monopoly</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap">Sitemap</a></div> <div class="sitemap"><a href="../sitemap">Sitemap</a></div>
</nav>
<h1>Blog - #3</h1>
<h2>The Chromium Monopoly</h2>
<p class="update_date">Posted: 2022-12-20 (UTC+00:00)</p>
<p class="update_date">Updated: 2023-11-11 (UTC+00:00)</p>
<nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#solution">Solution</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</nav> </nav>
<h1>Blog - #3</h1> <section id="introduction">
<h2>The Chromium Monopoly</h2> <h2><a href="#introduction">Introduction</a></h2>
<p class="update_date">Posted: 2022-12-20 (UTC+00:00)</p> <p>It's no secret that I'm an advocate of Chromium and will use it for the foreseeable future.
<p class="update_date">Updated: 2023-11-11 (UTC+00:00)</p> It is a highly secure web browser which provides strong protection against malicious wesbites
<nav id="toc"> and the code they run, and, while I am not too interested in high performance, it is a very
<h2><a href="#toc">Table of Contents</a></h2> performant web browser, despite its security features.</p>
<ul> <p>However, the intention of this blog post is not to promote Chromium for any reason, but
<li><a href="#introduction">Introduction</a></li> rather show an issue with it; an issue which is larger than may be realised by web-surfing
<li><a href="#solution">Solution</a></li> users. That issue is the large monopoly Chromium has in the web browser market;
<li><a href="#conclusion">Conclusion</a></li> <a href="https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_tables">Chromium's market share is around 65%</a>,
</ul> making it the largest slice of the cake. The issue becomes even deeper and more problematic when
</nav> you realise that the second-place web browser, Safari, has only an 18% market share.</p>
<section id="introduction"> <p>The main issue with this type of monopoly is the large amounts of power and influence it
<h2><a href="#introduction">Introduction</a></h2> gives Chromium, which can lead to, and is leading to, excessive authority of how the web should
<p>It's no secret that I'm an advocate of Chromium and will use it for the work, and the standards which are implemented, which all other web browsers must comply with in
foreseeable future. It is a highly secure web browser which provides strong order to have a fully working web.</p>
protection against malicious wesbites and the code they run, and, while I am not </section>
too interested in high performance, it is a very performant web browser, despite <section id="solution">
its security features.</p> <h2><a href="#solution">Solution</a></h2>
<p>However, the intention of this blog post is not to promote Chromium for any <p>In order to combat the Chromium monopoly, users typically go over to Chromium's classical
reason, but rather show an issue with it; an issue which is larger than may be rival, Firefox. However, Firefox is dying and has lost almost all of its userbase over the last
realised by web-surfing users. That issue is the large monopoly Chromium has in 2-3 years; the reason for this is a tale of selfishness and greed, caused by Firefox's parent
the web browser market; company to go off course and lose its original goal of providing a freedom-respecting, open web.
<a href="https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_tables">Chromium's market share is around 65%</a>, Mozilla caused self-inflicted damage which it cannot recover from, and, to me, is already dead.
making it the largest slice of the cake. The issue becomes even deeper and more The vultures are simply waiting for the final, small group of users to abandon the project
problematic when you realise that the second-place web browser, Safari, has only before Firefox finally succumbs to its own demise; the demise it caused itself.</p>
an 18% market share.</p> <p>If attempting to increase Firefox's market share to previous levels will be in vain, what is
<p>The main issue with this type of monopoly is the large amounts of power and the solution? How can we prevent Chromium from completely taking over the web and dictating
influence it gives Chromium, which can lead to, and is leading to, excessive everything we do and how the web should be designed and used?</p>
authority of how the web should work, and the standards which are implemented, <p>To find the answer to these important but difficult questions, we must go to the alternatives
which all other web browsers must comply with in order to have a fully working which still have a fighting chance. Safari, developed by Apple, is based on WebKit, an engine
web.</p> completely independent of Chromium and Firefox.</p>
</section> <p>Just using a non-Chromium-based web browser is not enough; the choice must already have
<section id="solution"> enough market share to still be relevant, and be capable of gaining new users. Safari, being
<h2><a href="#solution">Solution</a></h2> preinstalled on Apple devices including iPhone and Mac, already has a great advantage over
<p>In order to combat the Chromium monopoly, users typically go over to Firefox. Apple devices, especially iPhone, is abundant in streets everywhere on the planet.
Chromium's classical rival, Firefox. However, Firefox is dying and has lost Safari is the default choice for Apple users and has a large market share simply because of how
almost all of its userbase over the last 2-3 years; the reason for this is a widespread it is. Exploiting this fact is the only way to gain more market share and take down
tale of selfishness and greed, caused by Firefox's parent company to go off Chromium before it is too late; the clock is ticking, and Apple are the only ones preventing
course and lose its original goal of providing a freedom-respecting, open web. Chromium from completely taking over the web. Backing Safari instead of Firefox will keep the
Mozilla caused self-inflicted damage which it cannot recover from, and, to me, WebKit market share from falling to a critically low percentage, making it impossible to make a
is already dead. The vultures are simply waiting for the final, small group of comeback, as has happened to Firefox. Sometimes, directly supporting a political party is not
users to abandon the project before Firefox finally succumbs to its own demise; the way to get them into power, supporting the second-place alternative is, in order to keep the
the demise it caused itself.</p> one you don't want out of power, giving the party you do want in power an advantage. To win this
<p>If attempting to increase Firefox's market share to previous levels will be war against the Chromium monopoly, we must be tactical, not emotional.</p>
in vain, what is the solution? How can we prevent Chromium from completely </section>
taking over the web and dictating everything we do and how the web should be <section id="conclusion">
designed and used?</p> <h2><a href="#conclusion">Conclusion</a></h2>
<p>To find the answer to these important but difficult questions, we must go to <p>Supporting Safari is the first step in supporting WebKit and promoting usage of the
the alternatives which still have a fighting chance. Safari, developed by Apple, independent web engine. Buying time while supporting and contributing to WebKit browser projects
is based on WebKit, an engine completely independent of Chromium and is the best and only chance anyone has at competing with Chromium, and preventing it from
Firefox.</p> increasing its dominance to unstoppable levels, at which point there will be no return.</p>
<p>Just using a non-Chromium-based web browser is not enough; the choice must </section>
already have enough market share to still be relevant, and be capable of gaining <div class="sitemap-small"><a href="../sitemap">Sitemap</a></div>
new users. Safari, being preinstalled on Apple devices including iPhone and Mac, </body>
already has a great advantage over Firefox. Apple devices, especially iPhone, is
abundant in streets everywhere on the planet. Safari is the default choice for
Apple users and has a large market share simply because of how widespread it is.
Exploiting this fact is the only way to gain more market share and take down
Chromium before it is too late; the clock is ticking, and Apple are the only
ones preventing Chromium from completely taking over the web. Backing Safari
instead of Firefox will keep the WebKit market share from falling to a
critically low percentage, making it impossible to make a comeback, as has
happened to Firefox. Sometimes, directly supporting a political party is not the
way to get them into power, supporting the second-place alternative is, in order
to keep the one you don't want out of power, giving the party you do want in
power an advantage. To win this war against the Chromium monopoly, we must be
tactical, not emotional.</p>
</section>
<section id="conclusion">
<h2><a href="#conclusion">Conclusion</a></h2>
<p>Supporting Safari is the first step in supporting WebKit and promoting usage
of the independent web engine. Buying time while supporting and contributing to
WebKit browser projects is the best and only chance anyone has at competing with
Chromium, and preventing it from increasing its dominance to unstoppable levels,
at which point there will be no return.</p>
</section>
<div class="sitemap-small"><a href="../sitemap">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,169 +1,148 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Blog - #2 --> <!-- Inferencium - Website - Blog - #2 -->
<!-- Version: 9.0.0 --> <!-- Version: 9.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Blog - Untrusted: The Issue with Decentralisation</title> <title>Inferencium - Blog - Untrusted: The Issue with Decentralisation</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav>
<h1>Blog - #2</h1>
<h2>Untrusted: The Issue with Decentralisation</h2>
<p class="update_date">Posted: 2022-06-30 (UTC+00:00)</p>
<p class="update_date">Updated: 2023-11-11 (UTC+00:00)</p>
<nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2>
<ul>
<li><a href="#introduction">Introduction</a></li>
<li><a href="#examples">Examples</a></li>
<ul>
<li><a href="#examples-messaging">Messaging</a></li>
</ul>
<li><a href="#solution">Solution</a></li>
<li><a href="#conclusion">Conclusion</a></li>
</ul>
</nav> </nav>
<h1>Blog - #2</h1> <section id="introduction">
<h2>Untrusted: The Issue with Decentralisation</h2> <h2><a href="#introduction">Introduction</a></h2>
<p class="update_date">Posted: 2022-06-30 (UTC+00:00)</p> <p>A recent trend is seeing people move towards decentralised services and platforms. While this
<p class="update_date">Updated: 2023-11-11 (UTC+00:00)</p> is reasonable and I can understand why they are doing such a thing, they are seemingly doing it
<nav id="toc"> without thinking about the possible consequences of doing so. The issue with decentralisation is
<h2><a href="#toc">Table of Contents</a></h2> trust; there is no way to pin a key to a specific person, to ensure that you are communicating
<ul> with the same person you are supposed to be communicating with. In this article, I will discuss
<li><a href="#introduction">Introduction</a></li> some of the security issues with the decentralised model.</p>
<li><a href="#examples">Examples</a></li> </section>
<ul> <section id="examples">
<li><a href="#examples-messaging">Messaging</a></li> <h2><a href="#examples">Examples</a></h2>
</ul> <section id="examples-messaging">
<li><a href="#solution">Solution</a></li> <h3><a href="#examples-messaging">Messaging</a></h3>
<li><a href="#conclusion">Conclusion</a></li> <p>When it comes to messaging your contacts on a centralised platform, such as Twitter
</ul> or Facebook, the keys are pinned to that user account, using the user's password as the
</nav> method of identification. This approach makes it impossible to log in as a specific user
<section id="introduction"> without their password, should it be strong enough to not be guessed, whether via
<h2><a href="#introduction">Introduction</a></h2> personal guessing or exhaustive search. The trust in this centralised model is the high
<p>A recent trend is seeing people move towards decentralised services and security these platforms have. It is extremely unlikely that anyone other than a
platforms. While this is reasonable and I can understand why they are doing such government would be able to access the accounts stored on such platforms' servers, which
a thing, they are seemingly doing it without thinking about the possible makes the physical security trusted. As for remote security, should a user's password be
consequences of doing so. The issue with decentralisation is trust; there is no compromised, it can typically be reset if the user can prove they are the owner of the
way to pin a key to a specific person, to ensure that you are communicating with account via some form of identification; this is where the trust issue of
the same person you are supposed to be communicating with. In this article, I decentralisation occurs.</p>
will discuss some of the security issues with the decentralised model.</p> <p>In the decentralised model, keys are kept on the users' devices, in their possession.
While this soveriegnty is welcomed, it introduces a critical flaw in the security of
communicating with anyone via a decentralised platform; should a user's device be lost,
stolen, or otherwise compromised, there is no way to know it happened and what the new
keys really are, and if the same user generated those keys. There is no centralised
point where anyone can go to check if the compromised user has updated their keys, which
means there must already have been at least one other secure channel in place before the
compromise occurred. Even if there was, the security of endpoint devices, especially
typical users, is much lower than a well protected corporation's servers, making even
those secure channels questionable to trust. Should all secure channels be compromised,
there is literally no way to know if the person you are communicating with is the real
person or an imposter; there is no root of trust. This point is fatal; game over. The
only way to establish trust again would be to physically meet and exchange keys.</p>
</section> </section>
<section id="examples"> </section>
<h2><a href="#examples">Examples</a></h2> <section id="solution">
<section id="examples-messaging"> <h2><a href="#solution">Solution</a></h2>
<h3><a href="#examples-messaging">Messaging</a></h3> <p>I'll cut to the chase; there isn't a definitive solution. The best way to handle this
<p>When it comes to messaging your contacts on a centralised situation is to design your threat model and think about your reasoning for avoiding centralised
platform, such as Twitter or Facebook, the keys are pinned to platforms. Is it lack of trust of a specific company? Is it the possibility of centralised
that user account, using the user's password as the method of platforms going offline? Only by thinking logically and tactically can you solve both the issue
identification. This approach makes it impossible to log in as a of centralisation and decentralisation. Often, one size fits all is never the correct approach,
specific user without their password, should it be strong enough nor does it typically work.</p>
to not be guessed, whether via personal guessing or exhaustive <p>In order to avoid the issue of loss of trust due to lack of root of trust, all users' keys
search. The trust in this centralised model is the high security must be stored in a centralised location where all contacts are able to go to in case of
these platforms have. It is extremely unlikely that anyone other compromise or to periodically check the state of keys and to see if they have changed. This
than a government would be able to access the accounts stored on centralised location requires some sort of identification to ensure that the user changing their
such platforms' servers, which makes the physical security keys is really the same person who initially signed up for the platform, using a
trusted. As for remote security, should a user's password be trust-on-first-use (TOFU) model, which isn't much different than what today's centralised
compromised, it can typically be reset if the user can prove platforms are already doing; the only difference is who is controlling the location; trust is
they are the owner of the account via some form of still present and required.</p>
identification; this is where the trust issue of <p>In order to have a root of trust, I have posted my keys to my website, which
decentralisation occurs.</p> is protected by multiple layers of security:</p>
<p>In the decentralised model, keys are kept on the users' <ol>
devices, in their possession. While this soveriegnty is <li>I have provided identification to my domain name registrar, to ensure I can access
welcomed, it introduces a critical flaw in the security of the website I rightfully own, should it be compromised, by providing identification to
communicating with anyone via a decentralised platform; should a the domain name registrar.</li>
user's device be lost, stolen, or otherwise compromised, there <li>I have provided identification to my virtual private server host, to ensure I can
is no way to know it happened and what the new keys really are, access the virtual private servers I rightfully rent, should they be compromised, by
and if the same user generated those keys. There is no providing identification to the virtual private server host.</li>
centralised point where anyone can go to check if the <li>I have pinned my website to a globally trusted certificate authority, Let's Encrypt,
compromised user has updated their keys, which means there must which is a trusted party to manage TLS certificates and ensure ownership of the domain
already have been at least one other secure channel in place when connecting to it.</li>
before the compromise occurred. Even if there was, the security <li>I have enabled DNSSEC on my domain, so it is extremely difficult to spoof my domain
of endpoint devices, especially typical users, is much lower to make you believe you're connecting to it when you're actually connecting to someone
than a well protected corporation's servers, making even those else's.</li>
secure channels questionable to trust. Should all secure </ol>
channels be compromised, there is literally no way to know if <p>While not the most secure implementation of a root of trust, it is the most secure
the person you are communicating with is the real person or an implementation currently available to me. While the domain name registrar or virtual private
imposter; there is no root of trust. This point is fatal; game server host could tamper with my domain and data, they are the most trustworthy parties
over. The only way to establish trust again would be to available. In its current form, decentralisation would make this impossible to implement in any
physically meet and exchange keys.</p> form.</p>
</section> </section>
</section> <section id="conclusion">
<section id="solution"> <h2><a href="#conclusion">Conclusion</a></h2>
<h2><a href="#solution">Solution</a></h2> <p>Do not demand anonymity; demand privacy and control of your own data. Complete anonymity
<p>I'll cut to the chase; there isn't a definitive solution. The best way to makes it impossible to have a root of trust, and is typically never necessary. It is possible
handle this situation is to design your threat model and think about your for someone else to hold your keys, without them taking control of them and dictating what you
reasoning for avoiding centralised platforms. Is it lack of trust of a specific can and cannot do (X's misinformation policy comes to mind). If a platform is not listening to
company? Is it the possibility of centralised platforms going offline? Only by your or other people's concerns about how it is being run, show those platforms that you will
thinking logically and tactically can you solve both the issue of centralisation not stand for it, and move to a different one. This may not be ideal, but it's not different to
and decentralisation. Often, one size fits all is never the correct approach, moving from one decentralised platform to another. Centralisation is not what is evil, the
nor does it typically work.</p> people in control of the platforms are what is potentially evil. Carefully, logically, and
<p>In order to avoid the issue of loss of trust due to lack of root of trust, tactically, choose who to trust. Decentralisation doesn't do much for trust when you must still
all users' keys must be stored in a centralised location where all contacts are trust the operator of the decentralised platform, and are still subject to the possibly
able to go to in case of compromise or to periodically check the state of keys draconian policies of that decentralised platform. If government is what you are trying to
and to see if they have changed. This centralised location requires some sort of avoid, there is no denying it is feasibly impossible to avoid it; a government could always take
identification to ensure that the user changing their keys is really the same down the decentralised platform, forcing you to move to another, and they could also take down
person who initially signed up for the platform, using a trust-on-first-use the centralised key storage site mentioned earlier in this article. A government is not
(TOFU) model, which isn't much different than what today's centralised platforms something you can so easily avoid. Decentralisation does not solve the government issue. In
are already doing; the only difference is who is controlling the location; trust order to live a happy, fun, and fulfilled life, while protecting yourself against logical
is still present and required.</p> threats, there are only two words you must live by: Threat model.</p>
<p>In order to have a root of trust, I have posted my keys to my website, which </section>
is protected by multiple layers of security: <div class="sitemap-small"><a href="../sitemap">Sitemap</a></div>
<ol> </body>
<li>I have provided identification to my domain name registrar,
to ensure I can access the website I rightfully own, should it
be compromised, by providing identification to the domain name
registrar.</li>
<li>I have provided identification to my virtual private server
host, to ensure I can access the virtual private servers I
rightfully rent, should they be compromised, by providing
identification to the virtual private server host.</li>
<li>I have pinned my website to a globally trusted certificate
authority, Let's Encrypt, which is a trusted party to manage TLS
certificates and ensure ownership of the domain when connecting
to it.</li>
<li>I have enabled DNSSEC on my domain, so it is extremely
difficult to spoof my domain to make you believe you're
connecting to it when you're actually connecting to someone
else's.</li>
</ol>
</p>
<p>While not the most secure implementation of a root of trust, it is the most
secure implementation currently available to me. While the domain name registrar
or virtual private server host could tamper with my domain and data, they are
the most trustworthy parties available. In its current form, decentralisation
would make this impossible to implement in any form.</p>
</section>
<section id="conclusion">
<h2><a href="#conclusion">Conclusion</a></h2>
<p>Do not demand anonymity; demand privacy and control of your own data.
Complete anonymity makes it impossible to have a root of trust, and is typically
never necessary. It is possible for someone else to hold your keys, without them
taking control of them and dictating what you can and cannot do (X's
misinformation policy comes to mind). If a platform is not listening to your or
other people's concerns about how it is being run, show those platforms that you
will not stand for it, and move to a different one. This may not be ideal, but
it's not different to moving from one decentralised platform to another.
Centralisation is not what is evil, the people in control of the platforms are
what is potentially evil. Carefully, logically, and tactically, choose who to
trust. Decentralisation doesn't do much for trust when you must still trust the
operator of the decentralised platform, and are still subject to the possibly
draconian policies of that decentralised platform. If government is what you are
trying to avoid, there is no denying it is feasibly impossible to avoid it; a
government could always take down the decentralised platform, forcing you to
move to another, and they could also take down the centralised key storage site
mentioned earlier in this article. A government is not something you can so
easily avoid. Decentralisation does not solve the government issue. In order to
live a happy, fun, and fulfilled life, while protecting yourself against logical
threats, there are only two words you must live by: Threat model.</p>
</section>
<div class="sitemap-small"><a href="../sitemap">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,44 +1,44 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Changelog --> <!-- Inferencium - Website - Changelog -->
<!-- Version: 6.0.0 --> <!-- Version: 6.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Changelog</title> <title>Inferencium - Changelog</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Changelog</h1> <h1>Changelog</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="changelog/firmware-aa000-0.xhtml">Firmware - aa000-0</a></li> <li><a href="changelog/firmware-aa000-0.xhtml">Firmware - aa000-0</a></li>
<li><a href="changelog/firmware-xa000-0.xhtml">Firmware - xa000-0</a></li> <li><a href="changelog/firmware-xa000-0.xhtml">Firmware - xa000-0</a></li>
<li><a href="changelog/firmware-xb000-0.xhtml">Firmware - xb000-0</a></li> <li><a href="changelog/firmware-xb000-0.xhtml">Firmware - xb000-0</a></li>
</ul> </ul>
</nav> </nav>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

View File

@ -1,153 +1,151 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Changelog - Firmware - aa000-0 --> <!-- Inferencium - Website - Changelog - Firmware - aa000-0 -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Changelog - Firmware - aa000-0</title> <title>Inferencium - Changelog - Firmware - aa000-0</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap">Sitemap</a></div> <div class="sitemap"><a href="../sitemap">Sitemap</a></div>
</nav> </nav>
<h1>Changelog - Firmware - aa000-0</h1> <h1>Changelog - Firmware - aa000-0</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#7.0.0.8">7.0.0.8</a></li> <li><a href="#7.0.0.8">7.0.0.8</a></li>
<li><a href="#6.0.0.7">6.0.0.7</a></li> <li><a href="#6.0.0.7">6.0.0.7</a></li>
<li><a href="#5.0.0.6">5.0.0.6</a></li> <li><a href="#5.0.0.6">5.0.0.6</a></li>
<li><a href="#4.0.0.5">4.0.0.5</a></li> <li><a href="#4.0.0.5">4.0.0.5</a></li>
<li><a href="#3.0.0.4">3.0.0.4</a></li> <li><a href="#3.0.0.4">3.0.0.4</a></li>
<li><a href="#2.0.0.3">2.0.0.3</a></li> <li><a href="#2.0.0.3">2.0.0.3</a></li>
<li><a href="#1.0.0.2">1.0.0.2</a></li> <li><a href="#1.0.0.2">1.0.0.2</a></li>
<li><a href="#0.0.0.1">0.0.0.1</a></li> <li><a href="#0.0.0.1">0.0.0.1</a></li>
</ul> </ul>
</nav> </nav>
<article id="7.0.0.8"> <article id="7.0.0.8">
<h2><a href="#7.0.0.8">7.0.0.8</a></h2> <h2><a href="#7.0.0.8">7.0.0.8</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-7.0.0.8">firmware-aa000-0-7.0.0.8</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-7.0.0.8">firmware-aa000-0-7.0.0.8</a></li>
</ul> </ul>
<p>Changelog (since version 6.0.0.7):</p> <p>Changelog (since version 6.0.0.7):</p>
<ul> <ul>
<li>Update readme</li> <li>Update readme</li>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update check_whence script</li> <li>Update check_whence script</li>
<li>Update AMD CPU Family 19h microcode</li> <li>Update AMD CPU Family 19h microcode</li>
</ul> </ul>
</article> </article>
<article id="6.0.0.7"> <article id="6.0.0.7">
<h2><a href="#6.0.0.7">6.0.0.7</a></h2> <h2><a href="#6.0.0.7">6.0.0.7</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-6.0.0.7">firmware-aa000-0-6.0.0.7</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-6.0.0.7">firmware-aa000-0-6.0.0.7</a></li>
</ul> </ul>
<p>Changelog (since version 5.0.0.6):</p> <p>Changelog (since version 5.0.0.6):</p>
<ul> <ul>
<li>Add AMD GPU Beige Goby firmware</li> <li>Add AMD GPU Beige Goby firmware</li>
<li>Remove AMD GPU Navy Flounder firmware</li> <li>Remove AMD GPU Navy Flounder firmware</li>
</ul> </ul>
</article> </article>
<article id="5.0.0.6"> <article id="5.0.0.6">
<h2><a href="#5.0.0.6">5.0.0.6</a></h2> <h2><a href="#5.0.0.6">5.0.0.6</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-5.0.0.6">firmware-aa000-0-5.0.0.6</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-5.0.0.6">firmware-aa000-0-5.0.0.6</a></li>
</ul> </ul>
<p>Changelog (since version 4.0.0.5):</p> <p>Changelog (since version 4.0.0.5):</p>
<ul> <ul>
<li>Remove unnecessary Realtek RTL8125B NIC firmware</li> <li>Remove unnecessary Realtek RTL8125B NIC firmware</li>
</ul> </ul>
</article> </article>
<article id="4.0.0.5"> <article id="4.0.0.5">
<h2><a href="#4.0.0.5">4.0.0.5</a></h2> <h2><a href="#4.0.0.5">4.0.0.5</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-4.0.0.5">firmware-aa000-0-4.0.0.5</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-4.0.0.5">firmware-aa000-0-4.0.0.5</a></li>
</ul> </ul>
<p>Changelog (since version 3.0.0.4):</p> <p>Changelog (since version 3.0.0.4):</p>
<ul> <ul>
<li>Update readme</li> <li>Update readme</li>
<li>Update Makefile</li> <li>Update Makefile</li>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update check_whence script</li> <li>Update check_whence script</li>
<li>Update copy-firmware script</li> <li>Update copy-firmware script</li>
<li>Add Realtek RTL8125B NIC firmware</li> <li>Add Realtek RTL8125B NIC firmware</li>
</ul> </ul>
</article> </article>
<article id="3.0.0.4"> <article id="3.0.0.4">
<h2><a href="#3.0.0.4">3.0.0.4</a></h2> <h2><a href="#3.0.0.4">3.0.0.4</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-3.0.0.4">firmware-aa000-0-3.0.0.4</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-3.0.0.4">firmware-aa000-0-3.0.0.4</a></li>
</ul> </ul>
<p>Changelog (since version 2.0.0.3):</p> <p>Changelog (since version 2.0.0.3):</p>
<ul> <ul>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update AMD GPU Navy Flounder DMCUB firmware to version <li>Update AMD GPU Navy Flounder DMCUB firmware to version 0.0.172.0</li>
0.0.172.0</li> </ul>
</ul> </article>
</article> <article id="2.0.0.3">
<article id="2.0.0.3"> <h2><a href="#2.0.0.3">2.0.0.3</a></h2>
<h2><a href="#2.0.0.3">2.0.0.3</a></h2> <p>Tags:</p>
<p>Tags:</p> <ul>
<ul> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-2.0.0.3">firmware-aa000-0-2.0.0.3</a></li>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-2.0.0.3">firmware-aa000-0-2.0.0.3</a></li> </ul>
</ul> <p>Changelog (since version 1.0.0.2):</p>
<p>Changelog (since version 1.0.0.2):</p> <ul>
<ul> <li>Update readme</li>
<li>Update readme</li> <li>Switch AMD CPU microcode readme from plaintext formatting to AsciiDoc formatting</li>
<li>Switch AMD CPU microcode readme from plaintext formatting to <li>Update AMD CPU microcode readme</li>
AsciiDoc formatting</li> <li>Update WHENCE</li>
<li>Update AMD CPU microcode readme</li> <li>Update AMD GPU Navy Flounder DMCUB firmware</li>
<li>Update WHENCE</li> </ul>
<li>Update AMD GPU Navy Flounder DMCUB firmware</li> </article>
</ul> <article id="1.0.0.2">
</article> <h2><a href="#1.0.0.2">1.0.0.2</a></h2>
<article id="1.0.0.2"> <p>Tags:</p>
<h2><a href="#1.0.0.2">1.0.0.2</a></h2> <ul>
<p>Tags:</p> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-1.0.0.2">firmware-aa000-0-1.0.0.2</a></li>
<ul> </ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-1.0.0.2">firmware-aa000-0-1.0.0.2</a></li> <p>Changelog (since version 0.0.0.1):</p>
</ul> <ul>
<p>Changelog (since version 0.0.0.1):</p> <li>Remove AMD GPU Green Sardine firmware</li>
<ul> </ul>
<li>Remove AMD GPU Green Sardine firmware</li> </article>
</ul> <article id="0.0.0.1">
</article> <h2><a href="#0.0.0.1">0.0.0.1</a></h2>
<article id="0.0.0.1"> <p>Tags:</p>
<h2><a href="#0.0.0.1">0.0.0.1</a></h2> <ul>
<p>Tags:</p> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-0.0.0.1">firmware-aa000-0-0.0.0.1</a></li>
<ul> </ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/src/tag/firmware-aa000-0-0.0.0.1">firmware-aa000-0-0.0.0.1</a></li> <p>Changelog:</p>
</ul> <ul>
<p>Changelog:</p> <li>Initial release</li>
<ul> </ul>
<li>Initial release</li> </article>
</ul> <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</article> </body>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,108 +1,108 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Changelog - Firmware - xa000-0 --> <!-- Inferencium - Website - Changelog - Firmware - xa000-0 -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Changelog - Firmware - xa000-0</title> <title>Inferencium - Changelog - Firmware - xa000-0</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Changelog - Firmware - xa000-0</h1> <h1>Changelog - Firmware - xa000-0</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#4.0.0.4">4.0.0.4</a></li> <li><a href="#4.0.0.4">4.0.0.4</a></li>
<li><a href="#3.0.0.3">3.0.0.3</a></li> <li><a href="#3.0.0.3">3.0.0.3</a></li>
<li><a href="#2.0.0.2">2.0.0.2</a></li> <li><a href="#2.0.0.2">2.0.0.2</a></li>
<li><a href="#1.0.0.1">1.0.0.1</a></li> <li><a href="#1.0.0.1">1.0.0.1</a></li>
<li><a href="#0.0.0.0">0.0.0.0</a></li> <li><a href="#0.0.0.0">0.0.0.0</a></li>
</ul> </ul>
</nav> </nav>
<article id="4.0.0.4"> <article id="4.0.0.4">
<h2><a href="#4.0.0.4">4.0.0.4</a></h2> <h2><a href="#4.0.0.4">4.0.0.4</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-4.0.0.4">firmware-xa000-0-4.0.0.4</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-4.0.0.4">firmware-xa000-0-4.0.0.4</a></li>
</ul> </ul>
<p>Changelog (since version 3.0.0.3):</p> <p>Changelog (since version 3.0.0.3):</p>
<ul> <ul>
<li>Update readme</li> <li>Update readme</li>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update AMD CPU Family 17h microcode</li> <li>Update AMD CPU Family 17h microcode</li>
<li>Update AMD GPU Raven VCN firmware</li> <li>Update AMD GPU Raven VCN firmware</li>
</ul> </ul>
</article> </article>
<article id="3.0.0.3"> <article id="3.0.0.3">
<h2><a href="#3.0.0.3">3.0.0.3</a></h2> <h2><a href="#3.0.0.3">3.0.0.3</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-3.0.0.3">firmware-xa000-0-3.0.0.3</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-3.0.0.3">firmware-xa000-0-3.0.0.3</a></li>
</ul> </ul>
<p>Changelog (since version 2.0.0.2):</p> <p>Changelog (since version 2.0.0.2):</p>
<ul> <ul>
<li>Add Realtek RTL8125B NIC firmware</li> <li>Add Realtek RTL8125B NIC firmware</li>
</ul> </ul>
</article> </article>
<article id="2.0.0.2"> <article id="2.0.0.2">
<h2><a href="#2.0.0.2">2.0.0.2</a></h2> <h2><a href="#2.0.0.2">2.0.0.2</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-2.0.0.2">firmware-xa000-0-2.0.0.2</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-2.0.0.2">firmware-xa000-0-2.0.0.2</a></li>
</ul> </ul>
<p>Changelog (since version 1.0.0.1):</p> <p>Changelog (since version 1.0.0.1):</p>
<ul> <ul>
<li>Update readme</li> <li>Update readme</li>
<li>Update Makefile</li> <li>Update Makefile</li>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update check_whence script</li> <li>Update check_whence script</li>
<li>Update copy-firmware script</li> <li>Update copy-firmware script</li>
</ul> </ul>
</article> </article>
<article id="1.0.0.1"> <article id="1.0.0.1">
<h2><a href="#1.0.0.1">1.0.0.1</a></h2> <h2><a href="#1.0.0.1">1.0.0.1</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-1.0.0.1">firmware-xa000-0-1.0.0.1</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-1.0.0.1">firmware-xa000-0-1.0.0.1</a></li>
</ul> </ul>
<p>Changelog (since version 0.0.0.0):</p> <p>Changelog (since version 0.0.0.0):</p>
<ul> <ul>
<li>Update WHENCE</li> <li>Update WHENCE</li>
</ul> </ul>
</article> </article>
<article id="0.0.0.0"> <article id="0.0.0.0">
<h2><a href="#0.0.0.0">0.0.0.0</a></h2> <h2><a href="#0.0.0.0">0.0.0.0</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-0.0.0.0">firmware-xa000-0-0.0.0.0</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/src/tag/firmware-xa000-0-0.0.0.0">firmware-xa000-0-0.0.0.0</a></li>
</ul> </ul>
<p>Changelog:</p> <p>Changelog:</p>
<ul> <ul>
<li>Initial release</li> <li>Initial release</li>
</ul> </ul>
</article> </article>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

View File

@ -1,68 +1,68 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Changelog - Firmware - xb000-0 --> <!-- Inferencium - Website - Changelog - Firmware - xb000-0 -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Changelog - Firmware - xb000-0</title> <title>Inferencium - Changelog - Firmware - xb000-0</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Changelog - Firmware - xb000-0</h1> <h1>Changelog - Firmware - xb000-0</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#1.0.0.1">1.0.0.1</a></li> <li><a href="#1.0.0.1">1.0.0.1</a></li>
<li><a href="#0.0.0.0">0.0.0.0</a></li> <li><a href="#0.0.0.0">0.0.0.0</a></li>
</ul> </ul>
</nav> </nav>
<article id="1.0.0.1"> <article id="1.0.0.1">
<h2><a href="#1.0.0.1">1.0.0.1</a></h2> <h2><a href="#1.0.0.1">1.0.0.1</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/src/tag/firmware-xb000-0-1.0.0.1">firmware-xb000-0-1.0.0.1</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/src/tag/firmware-xb000-0-1.0.0.1">firmware-xb000-0-1.0.0.1</a></li>
</ul> </ul>
<p>Changelog (since version 0.0.0.0):</p> <p>Changelog (since version 0.0.0.0):</p>
<ul> <ul>
<li>Update readme</li> <li>Update readme</li>
<li>Update WHENCE</li> <li>Update WHENCE</li>
<li>Update AMD CPU Family 19h microcode</li> <li>Update AMD CPU Family 19h microcode</li>
<li>Update AMD GPU Green Sardine VCN firmware</li> <li>Update AMD GPU Green Sardine VCN firmware</li>
</ul> </ul>
</article> </article>
<article id="0.0.0.0"> <article id="0.0.0.0">
<h2><a href="#0.0.0.0">0.0.0.0</a></h2> <h2><a href="#0.0.0.0">0.0.0.0</a></h2>
<p>Tags:</p> <p>Tags:</p>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/src/tag/firmware-xb000-0-0.0.0.0">firmware-xb000-0-0.0.0.0</a></li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/src/tag/firmware-xb000-0-0.0.0.0">firmware-xb000-0-0.0.0.0</a></li>
</ul> </ul>
<p>Changelog:</p> <p>Changelog:</p>
<ul> <ul>
<li>Initial release</li> <li>Initial release</li>
</ul> </ul>
</article> </article>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

View File

@ -1,91 +1,83 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Contact --> <!-- Inferencium - Website - Contact -->
<!-- Version: 10.1.0 --> <!-- Version: 10.1.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Contact</title> <title>Inferencium - Contact</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Contact</h1> <h1>Contact</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#e2ee">End-to-end encrypted contact methods</a></li> <li><a href="#e2ee">End-to-end encrypted contact methods</a></li>
<ul> <ul>
<li><a href="#e2ee-preferred">Preferred</a></li> <li><a href="#e2ee-preferred">Preferred</a></li>
<!--<li><a href="#e2ee-metadatafree">Metadata-free</a></li>--> <!--<li><a href="#e2ee-metadatafree">Metadata-free</a></li>-->
</ul> </ul>
<!--<li><a href="#non-private" class="body-link">Non-private Contact Methods</a></li>--> <!--<li><a href="#non-private" class="body-link">Non-private Contact Methods</a></li>-->
</ul> </ul>
</nav> </nav>
<section id="e2ee"> <section id="e2ee">
<h2><a href="#e2ee">End-to-end Encrypted Contact Methods</a></h2> <h2><a href="#e2ee">End-to-end Encrypted Contact Methods</a></h2>
<section id="e2ee-preferred"> <section id="e2ee-preferred">
<h3><a href="#e2ee-preferred">Preferred</a></h3> <h3><a href="#e2ee-preferred">Preferred</a></h3>
<p>Whenever possible, use the following contact methods; they <p>Whenever possible, use the following contact methods; they allow verification to mitigate
allow verification to mitigate man-in-the-middle attacks, have man-in-the-middle attacks, have high security, and reasonable privacy.</p>
high security, and reasonable privacy.</p> <p><strong>Use the
<p><strong>Use the <a href="key.xhtml">keys</a>
<a href="key.xhtml">keys</a> for each contact method to verify my devices.</strong></p>
for each contact method to verify my devices.</strong></p> <p>Note: Verification does not verify a person, only their devices, and can be defeated via
<p>Note: Verification does not verify a person, only their devices, coercion or other force.</p>
and can be defeated via coercion or other force.</p> <p><img src="asset/img/logo/signal.png" class="logo-small" width="40" height="40" alt="Signal logo"/>Signal</p>
<p><img src="asset/img/logo/signal.png" class="logo-small" width="40" height="40" alt="Signal logo"/>Signal <ul>
<ul> <li><a href="https://signal.me/#eu/rXOem_06yX9bsIXE2IM4wAqu6MdZKrEeepdhm28bo0M82s2UXo1GHrew2grpTIkJ">inference.01</a></li>
<li><a href="https://signal.me/#eu/rXOem_06yX9bsIXE2IM4wAqu6MdZKrEeepdhm28bo0M82s2UXo1GHrew2grpTIkJ">inference.01</a></li> </ul>
</ul> <p><img src="asset/img/logo/xmpp.png" class="logo-small" width="40" height="40" alt="XMPP logo"/>XMPP</p>
</p> <ul>
<p><img src="asset/img/logo/xmpp.png" class="logo-small" width="40" height="40" alt="XMPP logo"/>XMPP <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a> (Main) - (<a href="key.xhtml#xmpp-inferencium">Key</a>)</li>
<ul> </ul>
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a> (Main) - (<a href="key.xhtml#xmpp-inferencium">Key</a>)</li> </section>
</ul> <!--
</p> <section id="e2ee-metadatafree">
</section> <h3><a href="#e2ee-metadatafree">Metadata-free</a></h3>
<!-- <p>If metadata leakage is an issue for you, you can use the following contact methods.</p>
<section id="e2ee-metadatafree"> <p>These services do not have verification functionality and will be treated as less secure;
<h3><a href="#e2ee-metadatafree">Metadata-free</a></h3> <strong>unless you really need to use these services, use a preferred method
<p>If metadata leakage is an issue for you, you can use the instead.</strong></p>
following contact methods.</p> </section>
<p>These services do not have verification functionality and <section id="nonprivate">
will be treated as less secure; <strong>unless you really need <h2><a href="#nonprivate" class="h2">Non-private Contact Methods</a></h2>
to use these services, use a preferred method <p>The following contact methods do not utilise end-to-end encryption, or I do not use
instead.</strong></p> such functionality; they are suitable for public contact only, including directly and
</section> groups. Do not use these methods if confidentiality and/or privacy is required.</p>
--> </section>
</section> -->
<!-- </section>
<section id="nonprivate"> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
<h2><a href="#nonprivate" class="h2">Non-private Contact Methods</a></h2> </body>
<p>The following contact methods do not utilise end-to-end encryption, or I do
not use such functionality; they are suitable for public contact only, including
directly and groups. Do not use these methods if confidentiality and/or privacy
is required.</p>
</section>
-->
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,187 +1,171 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Directory --> <!-- Inferencium - Website - Directory -->
<!-- Version: 5.0.1 --> <!-- Version: 5.0.2-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Directory</title> <title>Inferencium - Directory</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Directory</h1> <h1>Directory</h1>
<section id="xmpp"> <section id="xmpp">
<h2><a href="#xmpp">XMPP</a></h2> <h2><a href="#xmpp">XMPP</a></h2>
<p>This is a list of XMPP channels hosted by me. Channels branded as <p>This is a list of XMPP channels hosted by me. Channels branded as Inferencium are run by me.
Inferencium are run by me. Channels not under Inferencium branding are Channels not under Inferencium branding are either run by me or other people, but are hosted on
either run by me or other people, but are hosted on Inferencium servers.</p> Inferencium servers.</p>
<p>Public channels can be joined by anyone without an invitation. Non-public <p>Public channels can be joined by anyone without an invitation. Non-public channels require an
channels require an invitation; requirements for invitations differ invitation; requirements for invitations differ per channel.</p>
per channel.</p> <p>For assistance within any channel, contact a moderator of the channel. If an issue is related to
<p>For assistance within any channel, contact a moderator of the channel. If an a moderator, contact an administrator; administrators should not be contacted unless the issue
issue is related to a moderator, contact an administrator; administrators should cannot be resolved by a moderator.</p>
not be contacted unless the issue cannot be resolved by a moderator.</p> <div style="overflow-x: auto;">
<div style="overflow-x: auto;"> <table class="lrg">
<table class="lrg"> <colgroup>
<colgroup> <col class="med"/>
<col class="med"/> <col style="width:35%"/>
<col style="width:35%"/> <col class="small"/>
<col class="small"/> <col style="width:20%"/>
<col style="width:20%"/> <col style="width:20%"/>
<col style="width:20%"/> </colgroup>
</colgroup> <thead>
<thead> <tr>
<tr> <th id="name">Name</th>
<th id="name">Name</th> <th id="description">Description</th>
<th id="description">Description</th> <th id="public">Public?</th>
<th id="public">Public?</th> <th id="moderator">Moderators</th>
<th id="moderator">Moderators</th> <th id="admin">Administrators</th>
<th id="admin">Administrators</th> </tr>
</tr> </thead>
</thead> <tbody>
<tbody> <tr>
<tr> <th id="inf"><a href="xmpp://gojayi@muc.xmpp.inferencium.net?join">Inferencium</a></th>
<th id="inf"><a href="xmpp://gojayi@muc.xmpp.inferencium.net?join">Inferencium</a></th> <td class="desc" headers="description inf">
<td class="desc" headers="description inf"> <p>Inferencium general channel.</p>
<p>Inferencium general channel.</p> <p><b>Topic:</b> Any, excluding NSFW.</p>
<p><b>Topic:</b> Any, excluding <p>Multimedia prohibited unless part of discussion.</p>
NSFW.</p> </td>
<p>Multimedia prohibited unless <td class="red" headers="public inf">No</td>
part of discussion.</p> <td class="desc" headers="moderator inf">
</td> <ul>
<td class="red" headers="public inf"> <li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
No <li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
</td> </ul>
<td class="desc" headers="moderator inf"> </td>
<ul> <td class="desc" headers="admin inf">
<li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li> <ul>
<li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li> <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
</ul> </ul>
</td> </td>
<td class="desc" headers="admin inf"> </tr>
<ul> <tr>
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li> <th id="inf-moderation"><a href="xmpp://moderation@muc.xmpp.inferencium.net?join">Inferencium - Moderation</a></th>
</ul> <td class="desc" headers="description inf-moderation">
</td> <p>Inferencium moderation channel.</p>
</tr> <p><b>Topic:</b> Moderation of all XMPP channels hosted by Inferencium.</p>
<tr> <p>Inferencium moderators only.</p>
<th id="inf-moderation"><a href="xmpp://moderation@muc.xmpp.inferencium.net?join">Inferencium - Moderation</a></th> </td>
<td class="desc" headers="description inf-moderation"> <td class="red" headers="public inf-moderation">No</td>
<p>Inferencium moderation channel.</p> <td class="desc" headers="moderator inf-moderation">
<p><b>Topic:</b> Moderation of all XMPP <ul>
channels hosted by Inferencium.</p> <li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
<p>Inferencium moderators only.</p> <li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
</td> </ul>
<td class="red" headers="public inf-moderation"> </td>
No <td class="desc" headers="admin inf-moderation">
</td> <ul>
<td class="desc" headers="moderator inf-moderation"> <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
<ul> </ul>
<li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li> </td>
<li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li> </tr>
</ul> <tr>
</td> <th id="inf-multimedia"><a href="xmpp://multimedia@muc.xmpp.inferencium.net?join">Inferencium - Multimedia</a></th>
<td class="desc" headers="admin inf-moderation"> <td class="desc" headers="description inf-multimedia">
<ul> <p>Inferencium multimedia channel.</p>
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li> <p><b>Topic:</b> Any, excluding NSFW.</p>
</ul> <p>Discussion prohibited outside of multimedia discussion.</p>
</td> </td>
</tr> <td class="red" headers="public inf-multimedia">
<tr> No
<th id="inf-multimedia"><a href="xmpp://multimedia@muc.xmpp.inferencium.net?join">Inferencium - Multimedia</a></th> </td>
<td class="desc" headers="description inf-multimedia"> <td class="desc" headers="moderator inf-multimedia">
<p>Inferencium multimedia channel.</p> <ul>
<p><b>Topic:</b> Any, excluding <li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
NSFW.</p> <li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
<p>Discussion prohibited outside of </ul>
multimedia discussion.</p> </td>
</td> <td class="desc" headers="admin inf-multimedia">
<td class="red" headers="public inf-multimedia"> <ul>
No <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
</td> </ul>
<td class="desc" headers="moderator inf-multimedia"> </td>
<ul> </tr>
<li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li> <tr>
<li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li> <th id="sys-hardening"><a href="xmpp://sys-hardening@muc.xmpp.inferencium.net?join">Systems Hardening</a></th>
</ul> <td class="desc" headers="description sys-hardening">
</td> <p>Systems Hardening security and privacy channel.</p>
<td class="desc" headers="admin inf-multimedia"> <p><b>Topic:</b> General security and privacy.</p>
<ul> </td>
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li> <td class="green" headers="public sys-hardening">Yes
</ul> (Temporarily unavailable)</td>
</td> <td class="desc" headers="moderator sys-hardening">
</tr> <ul>
<tr> <li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
<th id="sys-hardening"><a href="xmpp://sys-hardening@muc.xmpp.inferencium.net?join">Systems Hardening</a></th> <li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
<td class="desc" headers="description sys-hardening"> </ul>
<p>Systems Hardening security and </td>
privacy channel.</p> <td class="desc" headers="admin sys-hardening">
<p><b>Topic:</b> General security <ul>
and privacy.</p> <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
</td> </ul>
<td class="green" headers="public sys-hardening"> </td>
Yes (Temporarily unavailable) </tr>
</td> <tr>
<td class="desc" headers="moderator sys-hardening"> <th id="sys-hardening-ot"><a href="xmpp://sys-hardening-ot@muc.xmpp.inferencium.net?join">Systems Hardening - Off-topic</a></th>
<ul> <td class="desc" headers="description sys-hardening-ot">
<li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li> <p>Systems Hardening off-topic channel.</p>
<li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li> <p><b>Topic:</b> Any, excluding NSFW, security, and privacy.</p>
</ul> </td>
</td> <td class="green" headers="public sys-hardening-ot">Yes
<td class="desc" headers="admin sys-hardening"> (Temporarily unavailable)</td>
<ul> <td class="desc" headers="moderator sys-hardening-ot">
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li> <ul>
</ul> <li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
</td> <li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
</tr> </ul>
<tr> </td>
<th id="sys-hardening-ot"><a href="xmpp://sys-hardening-ot@muc.xmpp.inferencium.net?join">Systems Hardening - Off-topic</a></th> <td class="desc" headers="admin sys-hardening-ot">
<td class="desc" headers="description sys-hardening-ot"> <ul>
<p>Systems Hardening off-topic <li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
channel.</p> </ul>
<p><b>Topic:</b> Any, excluding NSFW, </td>
security, and privacy.</p> </tr>
</td> </tbody>
<td class="green" headers="public sys-hardening-ot"> </table>
Yes (Temporarily unavailable) </div>
</td> </section>
<td class="desc" headers="moderator sys-hardening-ot"> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
<ul> </body>
<li><a href="xmpp://homejacob@inferencium.net">homejacob@inferencium.net</a></li>
<li><a href="xmpp://life00@inferencium.net">life00@inferencium.net</a></li>
</ul>
</td>
<td class="desc" headers="admin sys-hardening-ot">
<ul>
<li><a href="xmpp://inference@inferencium.net">inference@inferencium.net</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
</div>
</section>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,46 +1,46 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Documentation --> <!-- Inferencium - Website - Documentation -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Documentation</title> <title>Inferencium - Documentation</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Documentation</h1> <h1>Documentation</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="documentation/hardened_malloc.xhtml">hardened_malloc</a></li> <li><a href="documentation/hardened_malloc.xhtml">hardened_malloc</a></li>
<li><a href="documentation/openssl_selfsigned_certificate_chain.xhtml">OpenSSL Self-signed Certificate Chain</a></li> <li><a href="documentation/openssl_selfsigned_certificate_chain.xhtml">OpenSSL Self-signed Certificate Chain</a></li>
<!--<li><a href="documentation/specification-system-aa000.xhtml">Specification - System - aa000</a></li>--> <!--<li><a href="documentation/specification-system-aa000.xhtml">Specification - System - aa000</a></li>-->
<!--<li><a href="documentation/specification-system-xa000.xhtml">Specification - System - xa000</a></li>--> <!--<li><a href="documentation/specification-system-xa000.xhtml">Specification - System - xa000</a></li>-->
<!--<li><a href="documentation/specification-system-xb000.xhtml">Specification - System - xb000</a></li>--> <!--<li><a href="documentation/specification-system-xb000.xhtml">Specification - System - xb000</a></li>-->
</ul> </ul>
</nav> </nav>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

View File

@ -1,133 +1,125 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Documentation - hardened_malloc --> <!-- Inferencium - Website - Documentation - hardened_malloc -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Documentation - hardened_malloc</title> <title>Inferencium - Documentation - hardened_malloc</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1 id="hardened_malloc"><a href="#hardened_malloc">Documentation - hardened_malloc</a></h1> <h1 id="hardened_malloc"><a href="#hardened_malloc">Documentation - hardened_malloc</a></h1>
<section id="introduction"> <section id="introduction">
<p>This documentation contains instructions to use <p>This documentation contains instructions to use
<a href="https://github.com/GrapheneOS/hardened_malloc">hardened_malloc</a> <a href="https://github.com/GrapheneOS/hardened_malloc">hardened_malloc</a>
memory allocator as the system's default memory allocator. These instructions memory allocator as the system's default memory allocator. These instructions apply to both musl and
apply to both musl and glibc C libraries on Unix-based and Unix-like glibc C libraries on Unix-based and Unix-like systems.</p>
systems.</p> <p>hardened_malloc can also be used per-application and/or per-user, in which case root permissions are
<p>hardened_malloc can also be used per-application and/or per-user, in which not required; this documentation focuses on system-wide usage of hardened_malloc, assumes root
case root permissions are not required; this documentation focuses on privileges, and assumes the compiled library will be located in a path readable and executable by all
system-wide usage of hardened_malloc, assumes root privileges, and assumes the users of the system.</p>
compiled library will be located in a path readable and executable by all users <p>For the complete hardened_malloc documentation, visit its
of the system.</p> <a href="https://github.com/GrapheneOS/hardened_malloc#hardened_malloc">official documentation</a>.</p>
<p>For the complete hardened_malloc documentation, visit its <p>This documentation is also available in portable AsciiDoc format in my
<a href="https://github.com/GrapheneOS/hardened_malloc#hardened_malloc">official documentation</a>.</p> <a href="https://src.inferencium.net/Inferencium/doc/src/branch/stable/security/hardened_malloc.adoc">documentation source code repository</a>.</p>
<p>This documentation is also available in portable AsciiDoc format in my </section>
<a href="https://src.inferencium.net/Inferencium/doc/src/branch/stable/security/hardened_malloc.adoc">documentation source code repository</a>.</p> <nav id="toc">
</section> <h2><a href="#toc">Table of Contents</a></h2>
<nav id="toc"> <ul>
<h2><a href="#toc">Table of Contents</a></h2> <li><a href="#memory_pages">Increase Permitted Amount of Memory Pages</a></li>
<ul> <li><a href="#clone_source_code">Clone hardened_malloc Source Code</a></li>
<li><a href="#memory_pages">Increase Permitted Amount of Memory Pages</a></li> <li><a href="#enter_local_repository">Enter hardened_malloc Local Git Repository</a></li>
<li><a href="#clone_source_code">Clone hardened_malloc Source Code</a></li> <li><a href="#compile">Compile hardened_malloc</a></li>
<li><a href="#enter_local_repository">Enter hardened_malloc Local Git Repository</a></li> <li><a href="#copy_library">Copy Compiled hardened_malloc Library</a></li>
<li><a href="#compile">Compile hardened_malloc</a></li> <li><a href="#preload_on_boot">Set System to Preload hardened_malloc on Boot</a></li>
<li><a href="#copy_library">Copy Compiled hardened_malloc Library</a></li> </ul>
<li><a href="#preload_on_boot">Set System to Preload hardened_malloc on Boot</a></li> </nav>
</ul> <section id="memory_pages">
</nav> <h2><a href="#memory_pages">Increase Permitted Amount of Memory Pages</a></h2>
<section id="memory_pages"> <p>Add <code>vm.max_map_count = 1048576</code> to <code>/etc/sysctl.conf</code> to accommodate
<h2><a href="#memory_pages">Increase Permitted Amount of Memory Pages</a></h2> hardened_malloc's large amount of guard pages.</p>
<p>Add <code>vm.max_map_count = 1048576</code> to </section>
<code>/etc/sysctl.conf</code> to accommodate hardened_malloc's large amount of <section id="clone_source_code">
guard pages.</p> <h2><a href="#clone_source_code">Clone hardened_malloc Source Code</a></h2>
</section> <p><code>$ git clone https://github.com/GrapheneOS/hardened_malloc.git</code></p>
<section id="clone_source_code"> </section>
<h2><a href="#clone_source_code">Clone hardened_malloc Source Code</a></h2> <section id="enter_local_repository">
<p><code>$ git clone https://github.com/GrapheneOS/hardened_malloc.git</code></p> <h2><a href="#enter_local_repository">Enter hardened_malloc Local Git Repository</a></h2>
</section> <p><code>$ cd hardened_malloc/</code></p>
<section id="enter_local_repository"> </section>
<h2><a href="#enter_local_repository">Enter hardened_malloc Local Git Repository</a></h2> <section id="compile">
<p><code>$ cd hardened_malloc/</code></p> <h2><a href="#compile">Compile hardened_malloc</a></h2>
</section> <p><code>$ make <var>&lt;arguments&gt;</var></code></p>
<section id="compile"> <p><code>CONFIG_N_ARENA=<var>n</var></code> can be adjusted to increase parallel performance at the
<h2><a href="#compile">Compile hardened_malloc</a></h2> expense of memory usage, or decrease memory usage at the expense of parallel performance, where
<p><code>$ make <var>&lt;arguments&gt;</var></code></p> <code><var>n</var></code> is a non-negative integer. Higher values prefer parallel performance,
<p><code>CONFIG_N_ARENA=<var>n</var></code> can be adjusted to increase parallel whereas lower values prefer lower memory usage. Note that having too many arenas may cause memory
performance at the expense of memory usage, or decrease memory usage at the fragmentation and decrease system performance. The number of arenas has no impact on the security
expense of parallel performance, where <code><var>n</var></code> is a properties of hardened_malloc.</p>
non-negative integer. Higher values prefer parallel performance, whereas lower <table align="center">
values prefer lower memory usage. Note that having too many arenas may cause <thead>
memory fragmentation and decrease system performance. The number of arenas has <tr>
no impact on the security properties of hardened_malloc.</p> <th id="arena-min">Minimum</th>
<table align="center"> <th id="arena-max">Maximum</th>
<thead> <th id="arena-def">Default</th>
<tr> </tr>
<th id="arena-min">Minimum</th> </thead>
<th id="arena-max">Maximum</th> <tbody>
<th id="arena-def">Default</th> <tr>
</tr> <td headers="arena-min">1</td>
</thead> <td headers="arena-max">256</td>
<tbody> <td headers="arena-def">4</td>
<tr> </tr>
<td headers="arena-min">1</td> </tbody>
<td headers="arena-max">256</td> </table>
<td headers="arena-def">4</td> <p>For extra security, <code>CONFIG_SEAL_METADATA=true</code> can be used in order to control
</tr> whether
</tbody> <a href="https://www.kernel.org/doc/html/v6.7/core-api/protection-keys.html">Memory Protection Keys</a>
</table> are used to disable access to all writable allocator state outside of the memory allocator code.
<p>For extra security, <code>CONFIG_SEAL_METADATA=true</code> can be used in It's currently disabled by default due to a significant performance cost for this use case on
order to control whether current-generation hardware. Whether or not this feature is enabled, the metadata is all contained
<a href="https://www.kernel.org/doc/html/v6.7/core-api/protection-keys.html">Memory Protection Keys</a> within an isolated memory region with high-entropy random guard regions around it.</p>
are used to disable access to all writable allocator state outside of the memory <p>For low-memory systems, <code>VARIANT=light</code> can be used to compile the light variant of
allocator code. It's currently disabled by default due to a significant hardened_malloc, which sacrifices some security for much less memory usage. This option still
performance cost for this use case on current-generation hardware. Whether or produces a more hardened memory allocator than both the default musl and glibc allocators, despite
not this feature is enabled, the metadata is all contained within an isolated the security sacrifices over the full variant.</p>
memory region with high-entropy random guard regions around it.</p> <p>For all compile-time options, see the
<p>For low-memory systems, <code>VARIANT=light</code> can be used to compile the <a href="https://github.com/GrapheneOS/hardened_malloc#configuration">configuration section</a>
light variant of hardened_malloc, which sacrifices some security for much less of hardened_malloc's extensive official documentation.</p>
memory usage. This option still produces a more hardened memory allocator than </section>
both the default musl and glibc allocators, despite the security sacrifices over <section id="copy_library">
the full variant.</p> <h2><a href="#copy_library">Copy Compiled hardened_malloc Library</a></h2>
<p>For all compile-time options, see the <p><code># cp out/libhardened_malloc.so <var>&lt;target path&gt;</var></code></p>
<a href="https://github.com/GrapheneOS/hardened_malloc#configuration">configuration section</a> </section>
of hardened_malloc's extensive official documentation.</p> <section id="preload_on_boot">
</section> <h2><a href="#preload_on_boot">Set System to Preload hardened_malloc on Boot</a></h2>
<section id="copy_library"> <p><b>musl-based systems:</b> Add <code>LD_PRELOAD=<var>&lt;hardened_malloc path&gt;</var></code> to
<h2><a href="#copy_library">Copy Compiled hardened_malloc Library</a></h2> <code>/etc/environment</code></p>
<p><code># cp out/libhardened_malloc.so <var>&lt;target path&gt;</var></code></p> <p><b>glibc-based systems:</b> Add <code><var>&lt;hardened_malloc path&gt;</var></code> to
</section> <code>/etc/ld.so.preload</code></p>
<section id="preload_on_boot"> </section>
<h2><a href="#preload_on_boot">Set System to Preload hardened_malloc on Boot</a></h2> <div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
<p><b>musl-based systems:</b> Add </body>
<code>LD_PRELOAD=<var>&lt;hardened_malloc path&gt;</var></code> to
<code>/etc/environment</code></p>
<p><b>glibc-based systems:</b> Add
<code><var>&lt;hardened_malloc path&gt;</var></code> to
<code>/etc/ld.so.preload</code></p>
</section>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,137 +1,156 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Documentation - OpenSSL Self-signed Certificate Chain --> <!-- Inferencium - Website - Documentation - OpenSSL Self-signed Certificate Chain -->
<!-- Version: 5.0.0 --> <!-- Version: 5.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="../main.css"/> <link rel="stylesheet" href="../main.css"/>
<link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="../asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Documentation - OpenSSL Self-signed Certificate Chain</title> <title>Inferencium - Documentation - OpenSSL Self-signed Certificate Chain</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="../index.xhtml"><img src="../asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="../index.xhtml">Inferencium</a></div> <div class="title"><a href="../index.xhtml">Inferencium</a></div>
<div><a href="../about.xhtml">About</a></div> <div><a href="../about.xhtml">About</a></div>
<div><a href="../news.xhtml">News</a></div> <div><a href="../news.xhtml">News</a></div>
<div><a href="../documentation.xhtml">Documentation</a></div> <div><a href="../documentation.xhtml">Documentation</a></div>
<div><a href="../source.xhtml">Source</a></div> <div><a href="../source.xhtml">Source</a></div>
<div><a href="../changelog.xhtml">Changelog</a></div> <div><a href="../changelog.xhtml">Changelog</a></div>
<div><a href="../blog.xhtml">Blog</a></div> <div><a href="../blog.xhtml">Blog</a></div>
<div><a href="../contact.xhtml">Contact</a></div> <div><a href="../contact.xhtml">Contact</a></div>
<div><a href="../directory.xhtml">Directory</a></div> <div><a href="../directory.xhtml">Directory</a></div>
<div><a href="../key.xhtml">Key</a></div> <div><a href="../key.xhtml">Key</a></div>
<div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="../sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1 id="openssl_selfsigned_certificate_chain"><a href="#openssl_selfsigned_certificate_chain">Documentation - OpenSSL Self-signed Certificate Chain</a></h1> <h1 id="openssl_selfsigned_certificate_chain"><a href="#openssl_selfsigned_certificate_chain">Documentation - OpenSSL Self-signed Certificate Chain</a></h1>
<section id="introduction"> <section id="introduction">
<p>This documentation contains the complete set of commands to create a new OpenSSL <p>This documentation contains the complete set of commands to create a new OpenSSL self-signed
self-signed certificate chain with V3 subjectAltName (SAN) extensions enabled. Multiple certificate chain with V3 subjectAltName (SAN) extensions enabled. Multiple SANs can be included in a
SANs can be included in a certificate by adding each domain as a comma-delimited string. certificate by adding each domain as a comma-delimited string. Each key can be encrypted or unencrypted,
Each key can be encrypted or unencrypted, with multiple encryption options; AES with multiple encryption options; AES (<code>aes128</code> or <code>aes256</code>) is recommended.
(<code>aes128</code> or <code>aes256</code>) is recommended. Optional verification can Optional verification can also be performed between multiple levels of certificates to ensure the chain
also be performed between multiple levels of certificates to ensure the chain of trust of trust is valid.</p>
is valid.</p> <p>This documentation is also available in portable AsciiDoc format in my
<p>This documentation is also available in portable AsciiDoc format in my <a href="https://src.inferencium.net/Inferencium/doc/src/branch/stable/security/openssl_selfsigned_certificate_chain.adoc">documentation source code repository</a>.</p>
<a href="https://src.inferencium.net/Inferencium/doc/src/branch/stable/security/openssl_selfsigned_certificate_chain.adoc">documentation source code repository</a>.</p> </section>
</section> <nav id="toc">
<nav id="toc"> <h2><a href="#toc">Table of Contents</a></h2>
<h2><a href="#toc">Table of Contents</a></h2> <ul>
<ul> <li><a href="#create_certificate_authority_key">Create Certificate Authority Key</a></li>
<li><a href="#create_certificate_authority_key">Create Certificate Authority Key</a></li> <li><a href="#verify_certificate_authority_key">Verify Certificate Authority Key</a></li>
<li><a href="#verify_certificate_authority_key">Verify Certificate Authority Key</a></li> <li><a href="#create_certificate_authority_certificate">Create Certificate Authority Certificate</a></li>
<li><a href="#create_certificate_authority_certificate">Create Certificate Authority Certificate</a></li> <li><a href="#convert_certificate_to_pem_format">Convert Certificate to PEM Format</a></li>
<li><a href="#convert_certificate_to_pem_format">Convert Certificate to PEM Format</a></li> <li><a href="#verify_certificate_authority_certificate">Verify Certificate Authority Certificate</a></li>
<li><a href="#verify_certificate_authority_certificate">Verify Certificate Authority Certificate</a></li> <li><a href="#create_intermediate_certificate_authority_key">Create Intermediate Certificate Authority Key</a></li>
<li><a href="#create_intermediate_certificate_authority_key">Create Intermediate Certificate Authority Key</a></li> <li><a href="#verify_intermediate_certificate_authority_key">Verify Intermediate Certificate Authority Key</a></li>
<li><a href="#verify_intermediate_certificate_authority_key">Verify Intermediate Certificate Authority Key</a></li> <li><a href="#create_intermediate_certificate_authority_signing_request">Create Intermediate Certificate Signing Request</a></li>
<li><a href="#create_intermediate_certificate_authority_signing_request">Create Intermediate Certificate Signing Request</a></li> <li><a href="#create_intermediate_certificate_authority_certificate">Create Intermediate Certificate Authority Certificate</a></li>
<li><a href="#create_intermediate_certificate_authority_certificate">Create Intermediate Certificate Authority Certificate</a></li> <li><a href="#verify_intermediate_certificate_authority_certificate">Verify Intermediate Certificate Authority Certificate</a></li>
<li><a href="#verify_intermediate_certificate_authority_certificate">Verify Intermediate Certificate Authority Certificate</a></li> <li><a href="#verify_chain_of_trust-ca_to_intermediate">Verify Chain of Trust (CA to Intermediate)</a></li>
<li><a href="#verify_chain_of_trust-ca_to_intermediate">Verify Chain of Trust (CA to Intermediate)</a></li> <li><a href="#create_server_key">Create Server Key</a></li>
<li><a href="#create_server_key">Create Server Key</a></li> <li><a href="#verify_server_key">Verify Server Key</a></li>
<li><a href="#verify_server_key">Verify Server Key</a></li> <li><a href="#create_server_certificate_signing_request">Create Server Cerificate Signing Request</a></li>
<li><a href="#create_server_certificate_signing_request">Create Server Cerificate Signing Request</a></li> <li><a href="#create_server_certificate">Create Server Certificate</a></li>
<li><a href="#create_server_certificate">Create Server Certificate</a></li> <li><a href="#verify_server_certificate">Verify Server Certificate</a></li>
<li><a href="#verify_server_certificate">Verify Server Certificate</a></li> <li><a href="#verify_chain_of_trust-intermediate_to_server">Verify Chain of Trust (Intermediate to Server)</a></li>
<li><a href="#verify_chain_of_trust-intermediate_to_server">Verify Chain of Trust (Intermediate to Server)</a></li> </ul>
</ul> </nav>
</nav> <section id="create_certificate_authority_key">
<section id="create_certificate_authority_key"> <h2><a href="#create_certificate_authority_key">Create Certificate Authority Key</a></h2>
<h2><a href="#create_certificate_authority_key">Create Certificate Authority Key</a></h2> <p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out <var>&lt;CA key name&gt;</var>.pem
<p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out <var>&lt;CA key name&gt;</var>.pem <var>&lt;key size&gt;</var></code></p> <var>&lt;key size&gt;</var></code></p>
</section> </section>
<section id="verify_certificate_authority_key"> <section id="verify_certificate_authority_key">
<h2><a href="#verify_certificate_authority_key">Verify Certificate Authority Key</a></h2> <h2><a href="#verify_certificate_authority_key">Verify Certificate Authority Key</a></h2>
<p><code>openssl rsa -noout -text -in <var>&lt;CA key name&gt;</var>.pem</code></p> <p><code>openssl rsa -noout -text -in <var>&lt;CA key name&gt;</var>.pem</code></p>
</section> </section>
<section id="create_certificate_authority_certificate"> <section id="create_certificate_authority_certificate">
<h2><a href="#create_certificate_authority_certificate">Create Certificate Authority Certificate</a></h2> <h2><a href="#create_certificate_authority_certificate">Create Certificate Authority Certificate</a></h2>
<p><code>openssl req -new -x509 -days <var>&lt;days of validity&gt;</var> -extensions v3_ca -key <var>&lt;CA key name&gt;</var>.pem -out <var>&lt;CA certificate name&gt;</var>.pem</code></p> <p><code>openssl req -new -x509 -days <var>&lt;days of validity&gt;</var> -extensions v3_ca -key
</section> <var>&lt;CA key name&gt;</var>.pem -out <var>&lt;CA certificate name&gt;</var>.pem</code></p>
<section id="convert_certificate_to_pem_format"> </section>
<h2><a href="#convert_certificate_to_pem_format">Convert Certificate to PEM Format</a></h2> <section id="convert_certificate_to_pem_format">
<p><code>openssl x509 -in <var>&lt;CA certificate name&gt;</var>.pem -out <var>&lt;CA certificate name&gt;</var>.pem -outform PEM</code></p> <h2><a href="#convert_certificate_to_pem_format">Convert Certificate to PEM Format</a></h2>
</section> <p><code>openssl x509 -in <var>&lt;CA certificate name&gt;</var>.pem -out
<section id="verify_certificate_authority_certificate"> <var>&lt;CA certificate name&gt;</var>.pem -outform PEM</code></p>
<h2><a href="#verify_certificate_authority_certificate">Verify Certificate Authority Certificate</a></h2> </section>
<p><code>openssl x509 -noout -text -in <var>&lt;CA certificate name&gt;</var>.pem</code></p> <section id="verify_certificate_authority_certificate">
</section> <h2><a href="#verify_certificate_authority_certificate">Verify Certificate Authority Certificate</a></h2>
<section id="create_intermediate_certificate_authority_key"> <p><code>openssl x509 -noout -text -in <var>&lt;CA certificate name&gt;</var>.pem</code></p>
<h2><a href="#create_intermediate_certificate_authority_key">Create Intermediate Certificate Authority Key</a></h2> </section>
<p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out <var>&lt;intermediate CA key name&gt;</var>.pem <var>&lt;key size&gt;</var></code></p> <section id="create_intermediate_certificate_authority_key">
</section> <h2><a href="#create_intermediate_certificate_authority_key">Create Intermediate Certificate Authority Key</a></h2>
<section id="verify_intermediate_certificate_authority_key"> <p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out
<h2><a href="#verify_intermediate_certificate_authority_key">Verify Intermediate Certificate Authority Key</a></h2> <var>&lt;intermediate CA key name&gt;</var>.pem <var>&lt;key size&gt;</var></code></p>
<p><code>openssl rsa -noout -text -in <var>&lt;intermediate CA key name&gt;</var>.pem</code></p> </section>
</section> <section id="verify_intermediate_certificate_authority_key">
<section id="create_intermediate_certificate_authority_signing_request"> <h2><a href="#verify_intermediate_certificate_authority_key">Verify Intermediate Certificate Authority Key</a></h2>
<h2><a href="#create_intermediate_certificate_authority_signing_request">Create Intermediate Certificate Authority Signing Request</a></h2> <p><code>openssl rsa -noout -text -in <var>&lt;intermediate CA key name&gt;</var>.pem</code></p>
<p><code>openssl req -new -sha256 -key <var>&lt;intermediate CA key name&gt;</var>.pem -out <var>&lt;intermediate CA certificate signing request name&gt;</var>.pem</code></p> </section>
</section> <section id="create_intermediate_certificate_authority_signing_request">
<section id="create_intermediate_certificate_authority_certificate"> <h2><a href="#create_intermediate_certificate_authority_signing_request">Create Intermediate Certificate Authority Signing Request</a></h2>
<h2><a href="#create_intermediate_certificate_authority_certificate">Create Intermediate Certificate Authority Certificate</a></h2> <p><code>openssl req -new -sha256 -key <var>&lt;intermediate CA key name&gt;</var>.pem -out
<p><code>openssl ca -config <var>&lt;intermediate CA configuration file&gt;</var> -extensions v3_intermediate_ca -days <var>&lt;days of validity&gt;</var> -notext -md sha256 -in <var>&lt;intermediate CA signing request name&gt;</var>.pem -out <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p> <var>&lt;intermediate CA certificate signing request name&gt;</var>.pem</code></p>
</section> </section>
<section id="verify_intermediate_certificate_authority_certificate"> <section id="create_intermediate_certificate_authority_certificate">
<h2><a href="#verify_intermediate_certificate_authority_certificate">Verify Intermediate Certificate Authority Certificate</a></h2> <h2><a href="#create_intermediate_certificate_authority_certificate">Create Intermediate Certificate Authority Certificate</a></h2>
<p><code>openssl x509 -noout -text -in <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p> <p><code>openssl ca -config <var>&lt;intermediate CA configuration file&gt;</var> -extensions
</section> v3_intermediate_ca -days <var>&lt;days of validity&gt;</var> -notext -md sha256 -in
<section id="verify_chain_of_trust-ca_to_intermediate"> <var>&lt;intermediate CA signing request name&gt;</var>.pem -out
<h2><a href="#verify_chain_of_trust-ca_to_intermediate">Verify Chain of Trust (CA to Intermediate)</a></h2> <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p>
<p><code>openssl verify -CAfile <var>&lt;CA certificate name&gt;</var>.pem <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p> </section>
</section> <section id="verify_intermediate_certificate_authority_certificate">
<section id="create_server_key"> <h2><a href="#verify_intermediate_certificate_authority_certificate">Verify Intermediate Certificate Authority Certificate</a></h2>
<h2><a href="#create_server_key">Create Server Key</a></h2> <p><code>openssl x509 -noout -text -in
<p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out <var>&lt;server key name&gt;</var>.pem <var>&lt;key size&gt;</var></code></p> <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p>
</section> </section>
<section id="verify_server_key"> <section id="verify_chain_of_trust-ca_to_intermediate">
<h2><a href="#verify_server_key">Verify Server Key</a></h2> <h2><a href="#verify_chain_of_trust-ca_to_intermediate">Verify Chain of Trust (CA to Intermediate)</a></h2>
<p><code>openssl rsa -noout -text -in <var>&lt;server key name&gt;</var>.pem</code></p> <p><code>openssl verify -CAfile <var>&lt;CA certificate name&gt;</var>.pem
</section> <var>&lt;intermediate CA certificate name&gt;</var>.pem</code></p>
<section id="create_server_certificate_signing_request"> </section>
<h2><a href="#create_server_certificate_signing_request">Create Server Certificate Signing Request</a></h2> <section id="create_server_key">
<p><code>openssl req -new -sha256 -subj "/C=<var>&lt;country&gt;</var>/ST=<var>&lt;state/province&gt;</var>/L=<var>&lt;locality&gt;</var>/O=<var>&lt;organization&gt;</var>/CN=<var>&lt;common name&gt;</var>" -addext "subjectAltName = DNS.1:<var>&lt;alternative DNS entry&gt;</var>" -key <var>&lt;server key name&gt;</var>.pem -out <var>&lt;server certificate signing request name&gt;</var>.pem</code></p> <h2><a href="#create_server_key">Create Server Key</a></h2>
</section> <p><code>openssl genrsa <var>&lt;encryption type&gt;</var> -out
<section id="create_server_certificate"> <var>&lt;server key name&gt;</var>.pem <var>&lt;key size&gt;</var></code></p>
<h2><a href="#create_server_certificate">Create Server Certificate</a></h2> </section>
<p><code>openssl x509 -sha256 -req -days <var>&lt;days of validity&gt;</var> -in <var>&lt;server certificate signing request name&gt;</var>.pem -CA <var>&lt;intermediate CA certificate name&gt;</var>.pem -CAkey <var>&lt;intermediate CA key name&gt;</var>.pem -extensions SAN -extfile &lt;(cat /etc/ssl/openssl.cnf &lt;(printf "\n[SAN]\nsubjectAltName=DNS.1:")) -out <var>&lt;server certificate name&gt;</var>.pem</code></p> <section id="verify_server_key">
</section> <h2><a href="#verify_server_key">Verify Server Key</a></h2>
<section id="verify_server_certificate"> <p><code>openssl rsa -noout -text -in <var>&lt;server key name&gt;</var>.pem</code></p>
<h2><a href="#verify_server_certificate">Verify Server Certificate</a></h2> </section>
<p><code>openssl x509 -noout -text -in <var>&lt;server certificate name&gt;</var>.pem</code></p> <section id="create_server_certificate_signing_request">
</section> <h2><a href="#create_server_certificate_signing_request">Create Server Certificate Signing Request</a></h2>
<section id="verify_chain_of_trust-intermediate_to_server"> <p><code>openssl req -new -sha256 -subj "/C=<var>&lt;country&gt;</var>/ST=<var>&lt;state/province&gt;</var>/L=<var>&lt;locality&gt;</var>/O=<var>&lt;organization&gt;</var>/CN=<var>&lt;common name&gt;</var>"
<h2><a href="#verify_chain_of_trust-intermediate_to_server">Verify Chain of Trust (Intermediate to Server)</a></h2> -addext "subjectAltName = DNS.1:<var>&lt;alternative DNS entry&gt;</var>" -key
<p><code>openssl verify -CAfile <var>&lt;intermediate CA certificate name&gt;</var>.pem <var>&lt;server certificate&gt;</var>.pem</code></p> <var>&lt;server key name&gt;</var>.pem -out
</section> <var>&lt;server certificate signing request name&gt;</var>.pem</code></p>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div> </section>
</body> <section id="create_server_certificate">
<h2><a href="#create_server_certificate">Create Server Certificate</a></h2>
<p><code>openssl x509 -sha256 -req -days <var>&lt;days of validity&gt;</var> -in
<var>&lt;server certificate signing request name&gt;</var>.pem -CA
<var>&lt;intermediate CA certificate name&gt;</var>.pem -CAkey
<var>&lt;intermediate CA key name&gt;</var>.pem -extensions SAN -extfile &lt;(cat
/etc/ssl/openssl.cnf &lt;(printf "\n[SAN]\nsubjectAltName=DNS.1:")) -out
<var>&lt;server certificate name&gt;</var>.pem</code></p>
</section>
<section id="verify_server_certificate">
<h2><a href="#verify_server_certificate">Verify Server Certificate</a></h2>
<p><code>openssl x509 -noout -text -in <var>&lt;server certificate name&gt;</var>.pem</code></p>
</section>
<section id="verify_chain_of_trust-intermediate_to_server">
<h2><a href="#verify_chain_of_trust-intermediate_to_server">Verify Chain of Trust (Intermediate to Server)</a></h2>
<p><code>openssl verify -CAfile <var>&lt;intermediate CA certificate name&gt;</var>.pem
<var>&lt;server certificate&gt;</var>.pem</code></p>
</section>
<div class="sitemap-small"><a href="../sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,35 +1,35 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Index --> <!-- Inferencium - Website - Index -->
<!-- Version: 7.0.0 --> <!-- Version: 7.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium</title> <title>Inferencium</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>

242
key.xhtml
View File

@ -1,137 +1,125 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Key --> <!-- Inferencium - Website - Key -->
<!-- Version: 9.0.0 --> <!-- Version: 9.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Key</title> <title>Inferencium - Key</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Key</h1> <h1>Key</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#notes">Notes</a></li> <li><a href="#notes">Notes</a></li>
<li><a href="#e2ee">End-to-end Encrypted Contact Methods</a></li> <li><a href="#e2ee">End-to-end Encrypted Contact Methods</a></li>
<ul> <ul>
<li><a href="#xmpp">XMPP</a></li> <li><a href="#xmpp">XMPP</a></li>
<ul> <ul>
<li><a href="#xmpp-inferencium">inference@inferencium.net (Main)</a></li> <li><a href="#xmpp-inferencium">inference@inferencium.net (Main)</a></li>
<ul> <ul>
<li><a href="#xmpp-inferencium-current">Current</a></li> <li><a href="#xmpp-inferencium-current">Current</a></li>
<ul> <ul>
<li><a href="#xmpp-inferencium-current-1">#1</a></li> <li><a href="#xmpp-inferencium-current-1">#1</a></li>
</ul> </ul>
<li><a href="#xmpp-inferencium-legacy">Legacy</a></li> <li><a href="#xmpp-inferencium-legacy">Legacy</a></li>
<ul> <ul>
<li><a href="#xmpp-inferencium-legacy-0">#0</a></li> <li><a href="#xmpp-inferencium-legacy-0">#0</a></li>
</ul> </ul>
</ul> </ul>
</ul> </ul>
</ul> </ul>
<li><a href="#file_git_signing">File/Git Signing</a></li> <li><a href="#file_git_signing">File/Git Signing</a></li>
<ul> <ul>
<li><a href="#ssh">SSH</a></li> <li><a href="#ssh">SSH</a></li>
<ul> <ul>
<li><a href="#ssh-current">Current</a></li> <li><a href="#ssh-current">Current</a></li>
<ul> <ul>
<li><a href="#ssh-current-1">#1</a></li> <li><a href="#ssh-current-1">#1</a></li>
</ul> </ul>
<li><a href="#ssh-legacy">Legacy</a></li> <li><a href="#ssh-legacy">Legacy</a></li>
<ul> <ul>
<li><a href="#ssh-legacy-0">#0</a></li> <li><a href="#ssh-legacy-0">#0</a></li>
</ul> </ul>
</ul> </ul>
</ul> </ul>
</ul> </ul>
</nav> </nav>
<section id="notes"> <section id="notes">
<h2><a href="#notes">Notes</a></h2> <h2><a href="#notes">Notes</a></h2>
<ul> <ul>
<li>You can also find my keys on <li>You can also find my keys on
<a href="https://github.com/inferenceus/key">GitHub</a> <a href="https://github.com/inferenceus/key">GitHub</a>
and and
<a href="https://codeberg.org/inference/key">Codeberg</a> <a href="https://codeberg.org/inference/key">Codeberg</a>
in order to check for discrepancies between the keys</li> in order to check for discrepancies between the keys</li>
<li>Verification does not verify a person, only their devices, and can <li>Verification does not verify a person, only their devices, and can be defeated via coercion
be defeated via coercion or other force</li> or other force</li>
</ul> </ul>
</section> </section>
<section id="e2ee"> <section id="e2ee">
<h2><a href="#e2ee">End-to-end Encrypted Contact Methods</a></h2> <h2><a href="#e2ee">End-to-end Encrypted Contact Methods</a></h2>
<section id="xmpp"> <section id="xmpp">
<h3><a href="#xmpp"><img class="logo-small" src="asset/img/logo/xmpp.png" width="40" height="40" alt="XMPP logo"/>XMPP</a></h3> <h3><a href="#xmpp"><img class="logo-small" src="asset/img/logo/xmpp.png" width="40" height="40" alt="XMPP logo"/>XMPP</a></h3>
<p class="update_date">Updated: 2023-10-16 (UTC+00:00)</p> <p class="update_date">Updated: 2023-10-16 (UTC+00:00)</p>
<p>Whenever possible, open the links to pin the fingerprints directly <p>Whenever possible, open the links to pin the fingerprints directly
from this webpage; if that is not possible, manually verify the from this webpage; if that is not possible, manually verify the
fingerprints.</p> fingerprints.</p>
<h4 id="xmpp-inferencium"><a href="#xmpp-inferencium">inference@inferencium.net (Main)</a></h4> <h4 id="xmpp-inferencium"><a href="#xmpp-inferencium">inference@inferencium.net (Main)</a></h4>
<h5 id="xmpp-inferencium-current"><a href="#xmpp-inferencium-current">Current</a></h5> <h5 id="xmpp-inferencium-current"><a href="#xmpp-inferencium-current">Current</a></h5>
<h6 id="xmpp-inferencium-current-1"><a href="#xmpp-inferencium-current-1">#1</a></h6> <h6 id="xmpp-inferencium-current-1"><a href="#xmpp-inferencium-current-1">#1</a></h6>
<code> <code>67ee49da 37bcc392 691d9151 851e4240 6b5e80c2 e7d060b5 78dfdb41 443f9c52</code>
67ee49da 37bcc392 691d9151 851e4240 6b5e80c2 e7d060b5 78dfdb41 443f9c52 <p><a href="xmpp:inference@inferencium.net?omemo-sid-1641576775=67ee49da37bcc392691d9151851e42406b5e80c2e7d060b578dfdb41443f9c52">xmpp:inference@inferencium.net?omemo-sid-1641576775=67ee49da37bcc392691d9151851e42406b5e80c2e7d060b578dfdb41443f9c52</a></p>
</code> <h5 id="xmpp-inferencium-legacy"><a href="#xmpp-inferencium-legacy">Legacy</a></h5>
<p><a href="xmpp:inference@inferencium.net?omemo-sid-1641576775=67ee49da37bcc392691d9151851e42406b5e80c2e7d060b578dfdb41443f9c52">xmpp:inference@inferencium.net?omemo-sid-1641576775=67ee49da37bcc392691d9151851e42406b5e80c2e7d060b578dfdb41443f9c52</a></p> <h6 id="xmpp-inferencium-legacy-0"><a href="#xmpp-inferencium-legacy-0">#0</a></h6>
<h5 id="xmpp-inferencium-legacy"><a href="#xmpp-inferencium-legacy">Legacy</a></h5> <code>1bd03c6a 5e011655 2fafd697 da4fce70 63de5a83 a264a34a fcce78fe 6b06820c</code>
<h6 id="xmpp-inferencium-legacy-0"><a href="#xmpp-inferencium-legacy-0">#0</a></h6> <p><a href="xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c">xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c</a></p>
<code> </section>
1bd03c6a 5e011655 2fafd697 da4fce70 63de5a83 a264a34a fcce78fe 6b06820c </section>
</code> <section id="file_git_signing">
<p><a href="xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c">xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c</a></p> <h2><a href="#file_git_signing">File/Git Signing</a></h2>
</section> <section id="ssh">
</section> <h3><a href="#ssh">SSH</a></h3>
<section id="file_git_signing"> <p class="update_date">Updated: 2023-07-27 (UTC+00:00)</p>
<h2><a href="#file_git_signing">File/Git Signing</a></h2> <p>Each SSH key is signed by the previous key, allowing verification of the chain of keys,
<section id="ssh"> and root of trust.</p>
<h3><a href="#ssh">SSH</a></h3> <h4 id="ssh-current"><a href="ssh-current">Current</a></h4>
<p class="update_date">Updated: 2023-07-27 (UTC+00:00)</p> <h5 id="ssh-current-1"><a href="#ssh-current-1">#1 (2023-07-27 - present)</a></h5>
<p>Each SSH key is signed by the previous key, allowing verification of <h6 id="ssh-current-1-fingerprint"><a href="#ssh-current-1-fingerprint">Fingerprint</a></h6>
the chain of keys, and root of trust.</p> <code>SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc</code>
<h4 id="ssh-current"><a href="ssh-current">Current</a></h4> <h6 id="ssh-current-1-key"><a href="#ssh-current-1-key">Key</a></h6>
<h5 id="ssh-current-1"><a href="#ssh-current-1">#1 (2023-07-27 - present)</a></h5> <code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG</code>
<h6 id="ssh-current-1-fingerprint"><a href="#ssh-current-1-fingerprint">Fingerprint</a></h6> <h4 id="ssh-legacy"><a href="#ssh-legacy">Legacy</a></h4>
<code> <h5 id="ssh-legacy-0"><a href="#ssh-legacy-0">#0 (2023-01-01 - 2023-07-27)</a></h5>
SHA256:FtEVfx1CmTKMy40VwZvF4k+3TC+QhCWy+EmPRg50Nnc <h6 id="ssh-legacy-0-fingerprint"><a href="#ssh-legacy-0-fingerprint">Fingerprint</a></h6>
</code> <code>SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M</code>
<h6 id="ssh-current-1-key"><a href="#ssh-current-1-key">Key</a></h6> <h6 id="ssh-legacy-0-key"><a href="#ssh-legacy-0-key">Key</a></h6>
<code> <code>ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8</code>
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILHPGnrIg7dI7GUqA+lTztJSrn+7QyRceajqs4iaU8UG </section>
</code> </section>
<h4 id="ssh-legacy"><a href="#ssh-legacy">Legacy</a></h4> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
<h5 id="ssh-legacy-0"><a href="#ssh-legacy-0">#0 (2023-01-01 - 2023-07-27)</a></h5> </body>
<h6 id="ssh-legacy-0-fingerprint"><a href="#ssh-legacy-0-fingerprint">Fingerprint</a></h6>
<code>
SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M
</code>
<h6 id="ssh-legacy-0-key"><a href="#ssh-legacy-0-key">Key</a></h6>
<code>
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8
</code>
</section>
</section>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

328
main.css
View File

@ -1,315 +1,319 @@
/* Inferencium - Website - CSS - Main */ /* Inferencium - Website - CSS - Main */
/* Version: 12.0.1 */ /* Version: 12.0.2-alpha.1 */
/* Copyright 2022 Jake Winters */ /* Copyright 2022 Jake Winters */
/* SPDX-License-Identifier: BSD-3-Clause */ /* SPDX-License-Identifier: BSD-3-Clause */
/* Display Size - Large
Colour Scheme - Dark */
/* Body */ /* Body */
body { body {
padding-top: 40px; padding-top: 40px;
margin-left: min(400px, 45vw); margin-left: min(400px, 45vw);
margin-right: min(150px, 12vw); margin-right: min(150px, 12vw);
font-family: Roboto, sans-serif; font-family: Roboto, sans-serif;
font-size: 16px; font-size: 16px;
line-height: 130%; line-height: 130%;
background-color: #121212; background-color: #121212;
color: #ffffff; color: #ffffff;
} }
/* Headings */ /* Headings */
h1, h1 a, h1 a:visited, h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited, h4, h4 a, h4 a:visited, h5, h5 a, h5 a:visited, h6, h6 a, h6 a:visited { h1, h1 a, h1 a:visited, h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited, h4, h4 a, h4 a:visited, h5, h5 a, h5 a:visited,
text-align: left; h6, h6 a, h6 a:visited {
line-height: 130%; text-align: left;
color: #ffffff; line-height: 130%;
color: #ffffff;
} }
h1, h1 a, h1 a:visited { h1, h1 a, h1 a:visited {
text-align: center; text-align: center;
font-size: 24px; font-size: 24px;
} }
h2, h2 a, h2 a:visited { h2, h2 a, h2 a:visited {
font-size: 22px; font-size: 22px;
} }
h3, h3 a, h3 a:visited { h3, h3 a, h3 a:visited {
font-size: 20px; font-size: 20px;
} }
h4, h4 a, h4 a:visited { h4, h4 a, h4 a:visited {
font-size: 19px; font-size: 19px;
} }
h5, h5 a, h5 a:visited { h5, h5 a, h5 a:visited {
font-size: 18px; font-size: 18px;
} }
h6, h6 a, h6 a:visited { h6, h6 a, h6 a:visited {
font-size: 17px; font-size: 17px;
} }
/* Paragraph */ /* Paragraph */
p { p {
font-size: 16px; font-size: 16px;
} }
/* Blockquote */ /* Blockquote */
blockquote { blockquote {
font-size: 16px; font-size: 16px;
} }
/* Code */ /* Code */
code, pre { code, pre {
font-size: 15px; font-size: 15px;
background-color: #424242; background-color: #424242;
padding: 2px; padding: 2px;
} }
/* Links */ /* Links */
a { a {
font-size: 16px; font-size: 16px;
color: #90caf9; color: #90caf9;
text-decoration: none; text-decoration: none;
} }
a:visited { a:visited {
color: #ce93d8; color: #ce93d8;
} }
a:hover { a:hover {
text-decoration: underline; text-decoration: underline;
} }
/* Lists */ /* Lists */
li { li {
font-size: 16px; font-size: 16px;
} }
ul li::before { ul li::before {
margin-left: -1em; margin-left: -1em;
display: inline-block; display: inline-block;
width: 1em; width: 1em;
font-weight: bold; font-weight: bold;
} }
/* Tables */ /* Tables */
table, th, td { table, th, td {
border: 2px solid; border: 2px solid;
border-collapse: collapse; border-collapse: collapse;
border-color: #ffffff; border-color: #ffffff;
padding: 15px; padding: 15px;
font-size: 16px; font-size: 16px;
} }
th { th {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
text-align: center; text-align: center;
} }
td { td {
font-size: 16px; font-size: 16px;
text-align: center; text-align: center;
} }
td.desc { td.desc {
text-align: left; text-align: left;
} }
td.desc-small { td.desc-small {
text-align: left; text-align: left;
} }
td.green { td.green {
background-color: #00a70a background-color: #00a70a
} }
td.red { td.red {
background-color: #e50000; background-color: #e50000;
} }
colgroup col.small { colgroup col.small {
width: 10%; width: 10%;
} }
colgroup col.med { colgroup col.med {
width: 15%; width: 15%;
} }
colgroup col.lrg { colgroup col.lrg {
width: 65%; width: 65%;
} }
/* Image */ /* Image */
img.avatar { img.avatar {
width: 10%; width: 10%;
height: 10%; height: 10%;
margin-top: 15px; margin-top: 15px;
margin-right: 15px; margin-right: 15px;
margin-bottom: 15px; margin-bottom: 15px;
} }
img.logo-small { img.logo-small {
transform: translate(0px, 13px); transform: translate(0px, 13px);
margin-right: 15px; margin-right: 15px;
} }
/* Navigation bar */ /* Navigation bar */
nav.navbar { nav.navbar {
height: 100%; height: 100%;
width: 250px; width: 250px;
position: fixed; position: fixed;
left: 0; left: 0;
top: 0; top: 0;
padding-top: 55px; padding-top: 55px;
background-color: #909090; background-color: #909090;
text-align: center; text-align: center;
z-index: 99; z-index: 99;
overflow: auto; overflow: auto;
} }
nav.navbar div, nav.navbar div a, nav.navbar div a:visited { nav.navbar div, nav.navbar div a, nav.navbar div a:visited {
padding: 6px; padding: 6px;
font-family: Roboto, sans-serif; font-family: Roboto, sans-serif;
font-size: 22px; font-size: 22px;
color: #000000; color: #000000;
display: block; display: block;
z-index: 100; z-index: 100;
} }
nav.navbar div.title a, nav.navbar div.title a:visited { nav.navbar div.title a, nav.navbar div.title a:visited {
padding: 8px; padding: 8px;
font-family: Roboto, sans-serif; font-family: Roboto, sans-serif;
font-size: 28px; font-size: 28px;
} }
nav.navbar div.logo a img, nav.navbar div.logo a img { nav.navbar div.logo a img, nav.navbar div.logo a img {
width: 110px; width: 110px;
height: 110px; height: 110px;
} }
nav.navbar div.sitemap a, nav.navbar div.sitemap a:visited { nav.navbar div.sitemap a, nav.navbar div.sitemap a:visited {
position: absolute; position: absolute;
bottom: 120px; bottom: 120px;
left: 90px; left: 90px;
font-size: 14px; font-size: 14px;
} }
div.sitemap-small { div.sitemap-small {
display: none; display: none;
} }
/* Media */ /* Display Size - Small */
@media (max-width: 600px) { @media (max-width: 600px) {
body { body {
padding-top: 60px; padding-top: 60px;
margin: 15px; margin: 15px;
position: relative; position: relative;
overflow-x: scroll; overflow-x: scroll;
} }
nav.navbar { nav.navbar {
display: flex; display: flex;
align-items: center; align-items: center;
padding-top: 6px; padding-top: 6px;
padding-bottom: 6px; padding-bottom: 6px;
white-space: nowrap; white-space: nowrap;
width: 100vw; width: 100vw;
height: 35px; height: 35px;
overflow-y: hidden; overflow-y: hidden;
} }
nav.navbar div.logo a img { nav.navbar div.logo a img {
width: 30px; width: 30px;
height: 30px; height: 30px;
} }
nav.navbar .title { nav.navbar .title {
display: none; display: none;
} }
nav.navbar div.sitemap { nav.navbar div.sitemap {
display: none; display: none;
} }
nav.navbar div a { nav.navbar div a {
font-size: 20px; font-size: 20px;
} }
h2, h3, h4, h5, h6 { h2, h3, h4, h5, h6 {
text-align: center; text-align: center;
} }
div.sitemap-small, div.sitemap-small a { div.sitemap-small, div.sitemap-small a {
display: block; display: block;
padding-top: 20px; padding-top: 20px;
margin-right: auto; margin-right: auto;
margin-left: auto; margin-left: auto;
width: 50%; width: 50%;
text-align: center; text-align: center;
font-size: 12px; font-size: 12px;
} }
img.avatar { img.avatar {
display: block; display: block;
width: 30%; width: 30%;
margin-right: auto; margin-right: auto;
margin-left: auto; margin-left: auto;
} }
.update_date { .update_date {
text-align: center; text-align: center;
} }
table { table {
width: 200vw; width: 200vw;
} }
table.lrg { table.lrg {
width: 300vw; width: 300vw;
} }
} }
/* Colour Scheme - Light */
@media (prefers-color-scheme: light) { @media (prefers-color-scheme: light) {
body { body {
background-color: #fafafa; background-color: #fafafa;
color: #000000; color: #000000;
} }
h1, h1 a, h1 a:visited, h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited, h4, h4 a, h4 a:visited, h5, h5 a, h5 a:visited, h6, h6 a, h6 a:visited, code { h1, h1 a, h1 a:visited, h2, h2 a, h2 a:visited, h3, h3 a, h3 a:visited, h4, h4 a, h4 a:visited, h5, h5 a,
color: #000000; h5 a:visited, h6, h6 a, h6 a:visited, code {
} color: #000000;
}
a { a {
color: #1565c0; color: #1565c0;
} }
a:visited { a:visited {
color: #6a1b9a; color: #6a1b9a;
} }
code, pre { code, pre {
background-color: #e0e2ec; background-color: #e0e2ec;
} }
table, th, td { table, th, td {
border-color: #000000; border-color: #000000;
} }
} }

View File

@ -1,111 +1,108 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Music --> <!-- Inferencium - Website - Music -->
<!-- Version: 7.0.0 --> <!-- Version: 7.0.1-alpha.1 -->
<!-- Copyright 2023 Jake Winters --> <!-- Copyright 2023 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Music</title> <title>Inferencium - Music</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1 id="music"><a href="#music">Music</a></h1> <h1 id="music"><a href="#music">Music</a></h1>
<section id="music_list"> <section id="music_list">
<p>This is a curated list of my personally-enjoyed music. The list <p>This is a curated list of my personally-enjoyed music. The list is alphabetically-sorted A-Z, based
is alphabetically-sorted A-Z, based on artist name, followed by on artist name, followed by track name, and is formatted as <code><var>ARTIST</var> -
track name, and is formatted as <var>TRACK</var></code>. Each item in the list has its own individual link which will take you to an
<code><var>ARTIST</var> - <var>TRACK</var></code>. Each item in the official source of the item (or the best alternative when an official source is unavailable). It is your
list has its own individual link which will take you to an official responsibility to comply with any local laws when following these links and/or consuming any media found
source of the item (or the best alternative when an official source in this list.</p>
is unavailable). It is your responsibility to comply with any local <ul>
laws when following these links and/or consuming any media found in <li><a href="https://youtube.com/watch?v=_Eq_qQUPvGQ">Altare - Impulse</a></li>
this list.</p> <li><a href="https://youtube.com/watch?v=mXWhf35hOXA">Anomy5 - Predator</a></li>
<ul> <li><a href="https://youtube.com/watch?v=woNrNfFVsKc">CHENDA &amp; Shiah Maisel - Ten More Minutes</a></li>
<li><a href="https://youtube.com/watch?v=_Eq_qQUPvGQ">Altare - Impulse</a></li> <li><a href="https://youtube.com/watch?v=s-l5PF2WZbo">Chiru-san - Akari</a></li>
<li><a href="https://youtube.com/watch?v=mXWhf35hOXA">Anomy5 - Predator</a></li> <li><a href="https://youtube.com/watch?v=RzfmTBLxJeI">Chiru-san - Foresaken</a></li>
<li><a href="https://youtube.com/watch?v=woNrNfFVsKc">CHENDA &amp; Shiah Maisel - Ten More Minutes</a></li> <li><a href="https://youtube.com/watch?v=ObzI00TsE9Q">Chiru-san - Restart</a></li>
<li><a href="https://youtube.com/watch?v=s-l5PF2WZbo">Chiru-san - Akari</a></li> <li><a href="https://youtube.com/watch?v=9SyRFMCQJh4">CoyDE - BReAK tHe BONdS feat. 夏铜子</a></li>
<li><a href="https://youtube.com/watch?v=RzfmTBLxJeI">Chiru-san - Foresaken</a></li> <li><a href="https://youtube.com/watch?v=rf5trwF_zA4">CRYSEHD - Gold</a></li>
<li><a href="https://youtube.com/watch?v=ObzI00TsE9Q">Chiru-san - Restart</a></li> <li><a href="https://youtube.com/watch?v=1Esb_x6hmt0">Cult To Follow - 10 Seconds From Panic</a></li>
<li><a href="https://youtube.com/watch?v=9SyRFMCQJh4">CoyDE - BReAK tHe BONdS feat. 夏铜子</a></li> <li><a href="https://youtube.com/watch?v=9lH9EFEV4_4">CVllXXX - FAKE</a></li>
<li><a href="https://youtube.com/watch?v=rf5trwF_zA4">CRYSEHD - Gold</a></li> <li><a href="https://youtube.com/watch?v=7ioym7mmtEA">CVllXXX - NEW FAKER</a></li>
<li><a href="https://youtube.com/watch?v=1Esb_x6hmt0">Cult To Follow - 10 Seconds From Panic</a></li> <li><a href="https://youtube.com/watch?v=UHe9zJr6qYo">Dakku - Ephemeral</a></li>
<li><a href="https://youtube.com/watch?v=9lH9EFEV4_4">CVllXXX - FAKE</a></li> <li><a href="https://youtube.com/watch?v=ALwM-MfU3E4">Dakku - Healing</a></li>
<li><a href="https://youtube.com/watch?v=7ioym7mmtEA">CVllXXX - NEW FAKER</a></li> <li><a href="https://youtube.com/watch?v=cZvt23iBVVo">Digitalism - Pogo</a></li>
<li><a href="https://youtube.com/watch?v=UHe9zJr6qYo">Dakku - Ephemeral</a></li> <li><a href="https://youtube.com/watch?v=ZYbfelzEXNQ">Direct &amp; CloudNone - Elixir</a></li>
<li><a href="https://youtube.com/watch?v=ALwM-MfU3E4">Dakku - Healing</a></li> <li><a href="https://youtube.com/watch?v=ZLYmRRfjngc">DJ Electrohead - Hit the Floor</a></li>
<li><a href="https://youtube.com/watch?v=cZvt23iBVVo">Digitalism - Pogo</a></li> <li><a href="https://youtube.com/watch?v=-U-WgwY9LWg">Dominik Schwarz - Sekai</a></li>
<li><a href="https://youtube.com/watch?v=ZYbfelzEXNQ">Direct &amp; CloudNone - Elixir</a></li> <li><a href="https://youtube.com/watch?v=gT7FqWkLFp8">Enrico Sangiuliano - EOL</a></li>
<li><a href="https://youtube.com/watch?v=ZLYmRRfjngc">DJ Electrohead - Hit the Floor</a></li> <li><a href="https://youtube.com/watch?v=jg6UFlHQLlY">Enrico Sangiuliano - Future Dust</a></li>
<li><a href="https://youtube.com/watch?v=-U-WgwY9LWg">Dominik Schwarz - Sekai</a></li> <li><a href="https://youtube.com/watch?v=RnHV_qzxrC8">Enrico Sangiuliano - Glitch In Time</a></li>
<li><a href="https://youtube.com/watch?v=gT7FqWkLFp8">Enrico Sangiuliano - EOL</a></li> <li><a href="https://youtube.com/watch?v=jeOBL38uznA">Enrico Sangiuliano - Physical Change</a></li>
<li><a href="https://youtube.com/watch?v=jg6UFlHQLlY">Enrico Sangiuliano - Future Dust</a></li> <li><a href="https://youtube.com/watch?v=XtptYWXLdvo">Essenger - After Dark</a></li>
<li><a href="https://youtube.com/watch?v=RnHV_qzxrC8">Enrico Sangiuliano - Glitch In Time</a></li> <li><a href="https://youtube.com/watch?v=qRJVcQsqieU">Essenger - Tenebrous</a></li>
<li><a href="https://youtube.com/watch?v=jeOBL38uznA">Enrico Sangiuliano - Physical Change</a></li> <li><a href="https://youtube.com/watch?v=uNj3vZQLNWM">Essenger - Tenebrous (Irons Remix)</a></li>
<li><a href="https://youtube.com/watch?v=XtptYWXLdvo">Essenger - After Dark</a></li> <li><a href="https://youtube.com/watch?v=xpNtLeDiUVk">Eternxlkz - FINAL ROUND</a></li>
<li><a href="https://youtube.com/watch?v=qRJVcQsqieU">Essenger - Tenebrous</a></li> <li><a href="https://youtube.com/watch?v=iYYWtgNFU7M">Eternxlkz - krushed ENOUGH!</a></li>
<li><a href="https://youtube.com/watch?v=uNj3vZQLNWM">Essenger - Tenebrous (Irons Remix)</a></li> <li><a href="https://youtube.com/watch?v=0k01vYB66lc">Eynsai - MONOMYTH</a></li>
<li><a href="https://youtube.com/watch?v=xpNtLeDiUVk">Eternxlkz - FINAL ROUND</a></li> <li><a href="https://youtube.com/watch?v=gGHOUcHBkzY">Eynsai - RECAPTURE</a></li>
<li><a href="https://youtube.com/watch?v=iYYWtgNFU7M">Eternxlkz - krushed ENOUGH!</a></li> <li><a href="https://youtube.com/watch?v=Z9uxrzhLpJk">FWLR - Existentia</a></li>
<li><a href="https://youtube.com/watch?v=0k01vYB66lc">Eynsai - MONOMYTH</a></li> <li><a href="https://youtube.com/watch?v=8bCaXe5fIB4">Geoxor - I Like You</a></li>
<li><a href="https://youtube.com/watch?v=gGHOUcHBkzY">Eynsai - RECAPTURE</a></li> <li><a href="https://youtube.com/watch?v=v9_9tYQd7yg">Geoxor &amp; SVRGE - DEAD</a></li>
<li><a href="https://youtube.com/watch?v=Z9uxrzhLpJk">FWLR - Existentia</a></li> <li><a href="https://youtube.com/watch?v=-Jf2xm-QPV0">GRAM - Yggdrasil</a></li>
<li><a href="https://youtube.com/watch?v=8bCaXe5fIB4">Geoxor - I Like You</a></li> <li><a href="https://youtube.com/watch?v=ktf_HPqTOXM">Haloweak - C.O.R.E</a></li>
<li><a href="https://youtube.com/watch?v=v9_9tYQd7yg">Geoxor &amp; SVRGE - DEAD</a></li> <li><a href="https://youtube.com/watch?v=q2DBeby7ni8">Haloweak - NARWHAL</a></li>
<li><a href="https://youtube.com/watch?v=-Jf2xm-QPV0">GRAM - Yggdrasil</a></li> <li><a href="https://youtube.com/watch?v=RHu804DrBZc">Haloweak - 傀儡 曲</a></li>
<li><a href="https://youtube.com/watch?v=ktf_HPqTOXM">Haloweak - C.O.R.E</a></li> <li><a href="https://youtube.com/watch?v=SxlW79tDhCA">HOYO-MiX, Jonathan Steingard - Wildfire</a></li>
<li><a href="https://youtube.com/watch?v=q2DBeby7ni8">Haloweak - NARWHAL</a></li> <li><a href="https://youtube.com/watch?v=a_iImCoKgDo">Hunsh &amp; FRESHER - DEMONCORE</a></li>
<li><a href="https://youtube.com/watch?v=RHu804DrBZc">Haloweak - 傀儡 曲</a></li> <li><a href="https://youtube.com/watch?v=IEm1_FKQXmQ">INDX8 x DraGonis - Puppet</a></li>
<li><a href="https://youtube.com/watch?v=SxlW79tDhCA">HOYO-MiX, Jonathan Steingard - Wildfire</a></li> <li><a href="https://youtube.com/watch?v=Wm8vcFn0bgY">Infected Mushroom - Kazabubu</a></li>
<li><a href="https://youtube.com/watch?v=a_iImCoKgDo">Hunsh &amp; FRESHER - DEMONCORE</a></li> <li><a href="https://youtube.com/watch?v=NUWAxqhyV4M">Juche - Keep My Back</a></li>
<li><a href="https://youtube.com/watch?v=IEm1_FKQXmQ">INDX8 x DraGonis - Puppet</a></li> <li><a href="https://youtube.com/watch?v=EgKtheQbIJA">Juche - System</a></li>
<li><a href="https://youtube.com/watch?v=Wm8vcFn0bgY">Infected Mushroom - Kazabubu</a></li> <li><a href="https://youtube.com/watch?v=UAcgD1ZU0_U">Juche - Without Any Thought</a></li>
<li><a href="https://youtube.com/watch?v=NUWAxqhyV4M">Juche - Keep My Back</a></li> <li><a href="https://youtube.com/watch?v=HgQRt-ahE10">kittyangel - pleasure</a></li>
<li><a href="https://youtube.com/watch?v=EgKtheQbIJA">Juche - System</a></li> <li><a href="https://youtube.com/watch?v=O9p-7j9RtmY">KoruSe - EMPTINESS</a></li>
<li><a href="https://youtube.com/watch?v=UAcgD1ZU0_U">Juche - Without Any Thought</a></li> <li><a href="https://youtube.com/watch?v=lw41VIlb3pQ">KoruSe - LOST FUTURE</a></li>
<li><a href="https://youtube.com/watch?v=HgQRt-ahE10">kittyangel - pleasure</a></li> <li><a href="https://youtube.com/watch?v=UzpbIArboCE">KoruSe - OUTTA CONTROL</a></li>
<li><a href="https://youtube.com/watch?v=O9p-7j9RtmY">KoruSe - EMPTINESS</a></li> <li><a href="https://youtube.com/watch?v=dw8MxXc_NcU">KoruSe - THE HEIST</a></li>
<li><a href="https://youtube.com/watch?v=lw41VIlb3pQ">KoruSe - LOST FUTURE</a></li> <li><a href="https://youtube.com/watch?v=9yi2sCP7vb4">KoruSe x askat - Response</a></li>
<li><a href="https://youtube.com/watch?v=UzpbIArboCE">KoruSe - OUTTA CONTROL</a></li> <li><a href="https://youtube.com/watch?v=YxTD_pNXq60">KoruSe x asuro - HEAVENS FEEL</a></li>
<li><a href="https://youtube.com/watch?v=dw8MxXc_NcU">KoruSe - THE HEIST</a></li> <li><a href="https://youtube.com/watch?v=vsCXQ8MuM0k">KoruSe x liqueur - METASTASIS</a></li>
<li><a href="https://youtube.com/watch?v=9yi2sCP7vb4">KoruSe x askat - Response</a></li> <li><a href="https://youtube.com/watch?v=yOIj9lTv32c">KoruSe, MITUJURO - NEW WAY</a></li>
<li><a href="https://youtube.com/watch?v=YxTD_pNXq60">KoruSe x asuro - HEAVENS FEEL</a></li> <li><a href="https://youtube.com/watch?v=cnlthFUKKMY">KoruSe x mzmff - SENSES</a></li>
<li><a href="https://youtube.com/watch?v=vsCXQ8MuM0k">KoruSe x liqueur - METASTASIS</a></li> <li><a href="https://youtube.com/watch?v=Xq5nl_Q2GDw">Kuwanano - DELETE</a></li>
<li><a href="https://youtube.com/watch?v=yOIj9lTv32c">KoruSe, MITUJURO - NEW WAY</a></li> <li><a href="https://youtube.com/watch?v=rp1gPVrMFgM">Lappy - Chrono Apocalypse</a></li>
<li><a href="https://youtube.com/watch?v=cnlthFUKKMY">KoruSe x mzmff - SENSES</a></li> <li><a href="https://youtube.com/watch?v=pq0XnxdSzjg">Lappy - Counter Blade</a></li>
<li><a href="https://youtube.com/watch?v=Xq5nl_Q2GDw">Kuwanano - DELETE</a></li> <li><a href="https://youtube.com/watch?v=prBG2Lkt3pk">Lappy - Crescendo of Fate</a></li>
<li><a href="https://youtube.com/watch?v=rp1gPVrMFgM">Lappy - Chrono Apocalypse</a></li> <li><a href="https://youtube.com/watch?v=P9UJSP4lzto">Lappy - Operation Shadowfall</a></li>
<li><a href="https://youtube.com/watch?v=pq0XnxdSzjg">Lappy - Counter Blade</a></li> <li><a href="https://youtube.com/watch?v=mkSipPCg7CI">Lappy - Try Resisting Me</a></li>
<li><a href="https://youtube.com/watch?v=prBG2Lkt3pk">Lappy - Crescendo of Fate</a></li> <li><a href="https://youtube.com/watch?v=q2zcxPhOPd0">SVRGE - Animosity</a></li>
<li><a href="https://youtube.com/watch?v=P9UJSP4lzto">Lappy - Operation Shadowfall</a></li> <li><a href="https://youtube.com/watch?v=ucoTKQpXrhI">SVRGE - Eternal</a></li>
<li><a href="https://youtube.com/watch?v=mkSipPCg7CI">Lappy - Try Resisting Me</a></li> <li><a href="https://youtube.com/watch?v=YwzIbcuaFUo">SVRGE - Nocturnal</a></li>
<li><a href="https://youtube.com/watch?v=q2zcxPhOPd0">SVRGE - Animosity</a></li> <li><a href="https://youtube.com/watch?v=QJF-ObxFtoc">Touhou - U.N. Owen Was Her? (Cosmowave Remix)</a></li>
<li><a href="https://youtube.com/watch?v=ucoTKQpXrhI">SVRGE - Eternal</a></li> </ul>
<li><a href="https://youtube.com/watch?v=YwzIbcuaFUo">SVRGE - Nocturnal</a></li> </section>
<li><a href="https://youtube.com/watch?v=QJF-ObxFtoc">Touhou - U.N. Owen Was Her? (Cosmowave Remix)</a></li> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</ul> </body>
</section>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,60 +1,58 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - News --> <!-- Inferencium - Website - News -->
<!-- Version: 1.0.0 --> <!-- Version: 1.0.1-alpha.1 -->
<!-- Copyright 2024 Jake Winters --> <!-- Copyright 2024 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - News</title> <title>Inferencium - News</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1 id="news"><a href="#news">News</a></h1> <h1 id="news"><a href="#news">News</a></h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="#2024-02-01">2024-02-01</a></li> <li><a href="#2024-02-01">2024-02-01</a></li>
<ul> <ul>
<li><a href="#mirror-codeberg">Source Code Mirror - Codeberg</a></li> <li><a href="#mirror-codeberg">Source Code Mirror - Codeberg</a></li>
</ul> </ul>
</ul> </ul>
</nav> </nav>
<section id="2024-02-01"> <section id="2024-02-01">
<h2><a href="#2024-02-01">2024-02-01</a></h2> <h2><a href="#2024-02-01">2024-02-01</a></h2>
<article id="mirror-codeberg"> <article id="mirror-codeberg">
<h3><a href="#mirror-codeberg">Source Code Mirror - Codeberg</a></h3> <h3><a href="#mirror-codeberg">Source Code Mirror - Codeberg</a></h3>
<p><a href="https://src.inferencium.net/Inferencium">Inferencium source code repositories</a> <p><a href="https://src.inferencium.net/Inferencium">Inferencium source code repositories</a>
are now mirrored at are now mirrored at
<a href="https://codeberg.org/Inferencium">Codeberg</a>. <a href="https://codeberg.org/Inferencium">Codeberg</a>.
In case of service disruption of the main Inferencium source In case of service disruption of the main Inferencium source code repositories, the mirrors
code repositories, the mirrors can be used to access the source can be used to access the source code.</p>
code.</p> <p>Due to terms of service restrictions, proprietary code and related repositories, such as
<p>Due to terms of service restrictions, proprietary code and firmware, are unable to be mirrored to Codeberg.</p>
related repositories, such as firmware, are unable to be </article>
mirrored to Codeberg.</p> </section>
</article> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</section> </body>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body>
</html> </html>

View File

@ -1,67 +1,67 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Sitemap (HTML) --> <!-- Inferencium - Website - Sitemap (HTML) -->
<!-- Version: 1.0.0 --> <!-- Version: 1.0.1-alpha.1 -->
<!-- Copyright 2024 Jake Winters --> <!-- Copyright 2024 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Sitemap</title> <title>Inferencium - Sitemap</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1 id="sitemap"><a href="#sitemap">Sitemap</a></h1> <h1 id="sitemap"><a href="#sitemap">Sitemap</a></h1>
<ul>
<li><a href="index.xhtml">Inferencium</a></li>
<ul> <ul>
<li><a href="index.xhtml">Inferencium</a></li> <li><a href="about.xhtml">About</a></li>
<ul> <ul>
<li><a href="about.xhtml">About</a></li> <li><a href="music.xhtml">Music</a></li>
<ul>
<li><a href="music.xhtml">Music</a></li>
</ul>
<li><a href="news.xhtml">News</a></li>
<li><a href="documentation.xhtml">Documentation</a></li>
<ul>
<li><a href="documentation/hardened_malloc.xhtml">hardened_malloc</a></li>
<li><a href="documentation/openssl_selfsigned_certificate_chain.xhtml">OpenSSL Self-signed Certificate Chain</a></li>
</ul>
<li><a href="source.xhtml">Source</a></li>
<li><a href="changelog.xhtml">Changelog</a></li>
<ul>
<li><a href="changelog/firmware-aa000-0.xhtml">Firmware - aa000-0</a></li>
<li><a href="changelog/firmware-xa000-0.xhtml">Firmware - xa000-0</a></li>
<li><a href="changelog/firmware-xb000-0.xhtml">Firmware - xb000-0</a></li>
</ul>
<li><a href="blog.xhtml">Blog</a></li>
<ul>
<li><a href="blog/foss_is_working_against_itself.xhtml">#0 - FOSS is Working Against Itself</a></li>
<li><a href="blog/systemd_insecurity.xhtml">#1 - systemd Insecurity</a></li>
<li><a href="blog/untrusted_the_issue_with_decentralisation.xhtml">#2 - Untrusted: The Issue with Decentralisation</a></li>
<li><a href="blog/the_chromium_monopoly.xhtml">#3 - The Chromium Monopoly</a></li>
</ul>
<li><a href="contact.xhtml">Contact</a></li>
<li><a href="directory.xhtml">Directory</a></li>
<li><a href="key.xhtml">Key</a></li>
</ul> </ul>
<li><a href="news.xhtml">News</a></li>
<li><a href="documentation.xhtml">Documentation</a></li>
<ul>
<li><a href="documentation/hardened_malloc.xhtml">hardened_malloc</a></li>
<li><a href="documentation/openssl_selfsigned_certificate_chain.xhtml">OpenSSL Self-signed Certificate Chain</a></li>
</ul>
<li><a href="source.xhtml">Source</a></li>
<li><a href="changelog.xhtml">Changelog</a></li>
<ul>
<li><a href="changelog/firmware-aa000-0.xhtml">Firmware - aa000-0</a></li>
<li><a href="changelog/firmware-xa000-0.xhtml">Firmware - xa000-0</a></li>
<li><a href="changelog/firmware-xb000-0.xhtml">Firmware - xb000-0</a></li>
</ul>
<li><a href="blog.xhtml">Blog</a></li>
<ul>
<li><a href="blog/foss_is_working_against_itself.xhtml">#0 - FOSS is Working Against Itself</a></li>
<li><a href="blog/systemd_insecurity.xhtml">#1 - systemd Insecurity</a></li>
<li><a href="blog/untrusted_the_issue_with_decentralisation.xhtml">#2 - Untrusted: The Issue with Decentralisation</a></li>
<li><a href="blog/the_chromium_monopoly.xhtml">#3 - The Chromium Monopoly</a></li>
</ul>
<li><a href="contact.xhtml">Contact</a></li>
<li><a href="directory.xhtml">Directory</a></li>
<li><a href="key.xhtml">Key</a></li>
</ul> </ul>
</body> </ul>
</body>
</html> </html>

View File

@ -1,93 +1,92 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- Inferencium - Website - Sitemap (XML) --> <!-- Inferencium - Website - Sitemap (XML) -->
<!-- Version: 1.0.0 --> <!-- Version: 1.0.1-alpha.1 -->
<!-- Copyright 2024 Jake Winters --> <!-- Copyright 2024 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"> <url>
<loc>https://inferencium.net/</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/about</loc>
<priority>1.0</priority>
</url>
<url> <url>
<loc>https://inferencium.net/</loc> <loc>https://inferencium.net/music</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/documentation</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/documentation/hardened_malloc</loc>
<priority>0.5</priority> <priority>0.5</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/about</loc> <loc>https://inferencium.net/documentation/openssl_selfsigned_certificate_chain</loc>
<priority>1.0</priority>
</url>
<url>
<loc>https://inferencium.net/music</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/documentation</loc>
<priority>0.5</priority> <priority>0.5</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/documentation/hardened_malloc</loc> <loc>https://inferencium.net/source</loc>
<priority>0.5</priority> <priority>1.0</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/documentation/openssl_selfsigned_certificate_chain</loc> <loc>https://inferencium.net/changelog</loc>
<priority>0.5</priority> <priority>0.5</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/source</loc> <loc>https://inferencium.net/changelog/firmware-aa000-0</loc>
<priority>1.0</priority>
</url>
<url>
<loc>https://inferencium.net/changelog</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/changelog/firmware-aa000-0</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/changelog/firmware-xa000-0</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/changelog/firmware-xb000-0</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/foss_is_working_against_itself</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/systemd_insecurity</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/untrusted_the_issue_with_decentralisation</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/the_chromium_monopoly</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/contact</loc>
<priority>1.0</priority>
</url>
<url>
<loc>https://inferencium.net/directory</loc>
<priority>0.5</priority> <priority>0.5</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/key</loc> <loc>https://inferencium.net/changelog/firmware-xa000-0</loc>
<priority>0.5</priority> <priority>0.5</priority>
</url> </url>
<url> <url>
<loc>https://inferencium.net/humans.txt</loc> <loc>https://inferencium.net/changelog/firmware-xb000-0</loc>
<priority>0.0</priority> <priority>0.5</priority>
</url> </url>
<url>
<loc>https://inferencium.net/blog</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/foss_is_working_against_itself</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/systemd_insecurity</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/untrusted_the_issue_with_decentralisation</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/blog/the_chromium_monopoly</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/contact</loc>
<priority>1.0</priority>
</url>
<url>
<loc>https://inferencium.net/directory</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/key</loc>
<priority>0.5</priority>
</url>
<url>
<loc>https://inferencium.net/humans.txt</loc>
<priority>0.0</priority>
</url>
</urlset> </urlset>

View File

@ -1,51 +1,51 @@
<!DOCTYPE html> <!DOCTYPE html>
<!-- Inferencium - Website - Source --> <!-- Inferencium - Website - Source -->
<!-- Version: 8.0.0 --> <!-- Version: 8.0.1-alpha.1 -->
<!-- Copyright 2022 Jake Winters --> <!-- Copyright 2022 Jake Winters -->
<!-- SPDX-License-Identifier: BSD-3-Clause --> <!-- SPDX-License-Identifier: BSD-3-Clause -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="stylesheet" href="main.css"/> <link rel="stylesheet" href="main.css"/>
<link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/> <link rel="icon shortcut" href="asset/img/logo/inferencium-notext.png"/>
<title>Inferencium - Source</title> <title>Inferencium - Source</title>
</head> </head>
<body> <body>
<nav class="navbar"> <nav class="navbar">
<div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div> <div class="logo"><a href="index.xhtml"><img src="asset/img/logo/inferencium-notext.png" alt="Inferencium logo"/></a></div>
<div class="title"><a href="index.xhtml">Inferencium</a></div> <div class="title"><a href="index.xhtml">Inferencium</a></div>
<div><a href="about.xhtml">About</a></div> <div><a href="about.xhtml">About</a></div>
<div><a href="news.xhtml">News</a></div> <div><a href="news.xhtml">News</a></div>
<div><a href="documentation.xhtml">Documentation</a></div> <div><a href="documentation.xhtml">Documentation</a></div>
<div><a href="source.xhtml">Source</a></div> <div><a href="source.xhtml">Source</a></div>
<div><a href="changelog.xhtml">Changelog</a></div> <div><a href="changelog.xhtml">Changelog</a></div>
<div><a href="blog.xhtml">Blog</a></div> <div><a href="blog.xhtml">Blog</a></div>
<div><a href="contact.xhtml">Contact</a></div> <div><a href="contact.xhtml">Contact</a></div>
<div><a href="directory.xhtml">Directory</a></div> <div><a href="directory.xhtml">Directory</a></div>
<div><a href="key.xhtml">Key</a></div> <div><a href="key.xhtml">Key</a></div>
<div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap"><a href="sitemap.xhtml">Sitemap</a></div>
</nav> </nav>
<h1>Source</h1> <h1>Source</h1>
<nav id="toc"> <nav id="toc">
<h2><a href="#toc">Table of Contents</a></h2> <h2><a href="#toc">Table of Contents</a></h2>
<ul> <ul>
<li><a href="https://src.inferencium.net/Inferencium/cfg/">cfg</a> - Configuration files</li> <li><a href="https://src.inferencium.net/Inferencium/cfg/">cfg</a> - Configuration files</li>
<li><a href="https://src.inferencium.net/Inferencium/doc/">doc</a> - Documentation</li> <li><a href="https://src.inferencium.net/Inferencium/doc/">doc</a> - Documentation</li>
<li><a href="https://src.inferencium.net/Inferencium/graphenechan/">graphenechan</a> - Graphene-chan (GrapheneOS unofficial mascot)</li> <li><a href="https://src.inferencium.net/Inferencium/graphenechan/">graphenechan</a> - Graphene-chan (GrapheneOS unofficial mascot)</li>
<li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/">firmware-aa000-0</a> - System aa000-0 firmware</li> <li><a href="https://src.inferencium.net/Inferencium/firmware-aa000-0/">firmware-aa000-0</a> - System aa000-0 firmware</li>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/">firmware-xa000-0</a> - System xa000-0 firmware</li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xa000-0/">firmware-xa000-0</a> - System xa000-0 firmware</li>
<li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/">firmware-xb000-0</a> - System xb000-0 firmware</li> <li><a href="https://src.inferencium.net/Inferencium/firmware-xb000-0/">firmware-xb000-0</a> - System xb000-0 firmware</li>
<li><a href="https://src.inferencium.net/Inferencium/mmd/">mmd</a> - Gentoo Multimedia ebuild repository</li> <li><a href="https://src.inferencium.net/Inferencium/mmd/">mmd</a> - Gentoo Multimedia ebuild repository</li>
<li><a href="https://src.inferencium.net/Inferencium/scr/">scr</a> - Script files</li> <li><a href="https://src.inferencium.net/Inferencium/scr/">scr</a> - Script files</li>
<li><a href="https://src.inferencium.net/Inferencium/sys/">sys</a> - Gentoo System ebuild repository</li> <li><a href="https://src.inferencium.net/Inferencium/sys/">sys</a> - Gentoo System ebuild repository</li>
<li><a href="https://src.inferencium.net/Inferencium/website/">website</a> - Website</li> <li><a href="https://src.inferencium.net/Inferencium/website/">website</a> - Website</li>
</ul> </ul>
</nav> </nav>
<div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div> <div class="sitemap-small"><a href="sitemap.xhtml">Sitemap</a></div>
</body> </body>
</html> </html>