Remove non-changelog branch files.
63
README.md
@ -1,63 +0,0 @@
|
||||
<h1>Website</h1>
|
||||
<p>Inferencium website.</p>
|
||||
<br>
|
||||
<br>
|
||||
<h2>Licensing</h2>
|
||||
<p>All content is licensed under <a href="https://git.inferencium.net/Inferencium/website/src/branch/stable/license/BSD-3-Clause-Clear.txt"
|
||||
>BSD-3-Clause-Clear</a> license*.<br>
|
||||
<br>
|
||||
*Exceptions:<br>
|
||||
<ol>
|
||||
<li>All content outside of code, including personal content such as blog posts, is copyrighted and
|
||||
cannot be distributed or modified without explicit consent from Inferencium.</li></p>
|
||||
</ol>
|
||||
<br>
|
||||
<br>
|
||||
<h2>Security</h2>
|
||||
<p>All files are checked for security issues; however, it is always the user's responsibility to
|
||||
audit the code before installing and/or executing it.<br>
|
||||
<br>
|
||||
Inferencium takes no responsibility for any security issues which may arise due to usage of this
|
||||
repository.</p>
|
||||
<br>
|
||||
<br>
|
||||
<h2>Branches</h2>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/main/"
|
||||
>main</a></h3>
|
||||
<p>Website root directory files pre-alpha development and alpha testing occurs in this branch.<br>
|
||||
Feature-complete modifications of this branch are merged to beta branch for beta testing.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/asset/"
|
||||
>asset</a></h3>
|
||||
<p>Website asset, including multimedia, files pre-alpha development and alpha testing occurs in this
|
||||
branch.<br>
|
||||
Feature-complete modifications of this branch are merged to beta branch for beta testing.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/blog/"
|
||||
>blog</a></h3>
|
||||
<p>Website blog files pre-alpha development and alpha testing occurs in this branch.<br>
|
||||
Feature-complete modifications of this branch are merged to beta branch for beta testing.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/contact/"
|
||||
>contact</a></h3>
|
||||
<p>Website contact files pre-alpha development and alpha testing occurs in this branch.<br>
|
||||
Feature-complete modifications of this branch are merged to beta branch for beta testing.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/license/"
|
||||
>license</a></h3>
|
||||
<p>Website license files pre-alpha and alpha testing occurs in this branch.<br>
|
||||
Feature-complete modifications of this branch are merged to beta branch for beta testing.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/beta/"
|
||||
>beta</a></h3>
|
||||
<p>Feature-complete beta testing of merged code from development branches occurs in this branch.<br>
|
||||
Merges from development branches to this branch are squashed, and the updated versions of the
|
||||
individual files are mentioned in the commit messages.</p>
|
||||
<br>
|
||||
<h3><a href="https://git.inferencium.net/Inferencium/website/src/branch/stable/"
|
||||
>stable</a></h3>
|
||||
<p>Feature-complete and tested versions from beta branch are stored in this branch.<br>
|
||||
Merges from beta branch to this branch are squashed, and the updated versions of the individual
|
||||
files are mentioned in the commit messages.<br>
|
||||
This branch contains code used in production.</p>
|
||||
<br>
|
645
about.html
@ -1,645 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - About -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 4.3.0.79 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - About</title>
|
||||
<link rel="stylesheet" href=inf.css>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>About</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Table of contents. -->
|
||||
<h2 id="toc"><a href="#toc" class="h2"
|
||||
>Table of Contents<a/></h2>
|
||||
<ul>
|
||||
<li><a href="#about_me" class="body-link"
|
||||
>About Me</a></li>
|
||||
<li><a href="#licensing" class="body-link"
|
||||
>Licensing</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-preferred" class="body-link"
|
||||
>Preferred</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-preferred-code"
|
||||
class="body-link"
|
||||
>Code<a/></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-bsd-3-
|
||||
clause-clear"
|
||||
class="body-link"
|
||||
>BSD 3-Clause Clear License</a></li>
|
||||
<li><a href="#licensing-mit"
|
||||
class="body-link"
|
||||
>MIT License</a></li>
|
||||
<li><a href="#licensing-gpl-2.0"
|
||||
class="body-link"
|
||||
>GNU General Public License
|
||||
v2.0</a></li>
|
||||
</ul>
|
||||
<li><a href="#licensing-preferred-non-code"
|
||||
class="body-link"
|
||||
>Non-code</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-cc-by-
|
||||
4.0" class="body-link"
|
||||
>Creative Commons Attribution
|
||||
4.0 International</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="#licensing-other" class="body-link"
|
||||
>Other</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-other-code"
|
||||
class="body-link"
|
||||
>Code</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-gpl-3.0"
|
||||
class="body-link"
|
||||
>GNU General Public License v3.0</a></li>
|
||||
</ul>
|
||||
<li><a href="#licensing-other-non-code"
|
||||
class="body-link"
|
||||
>Non-code</a></li>
|
||||
<ul>
|
||||
<li><a href="#licensing-cc-by-
|
||||
nc-4.0" class="body-link"
|
||||
>Creative Commons Attribution
|
||||
Non Commercial 4.0
|
||||
International</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="#recommendations" class="body-link"
|
||||
>Recommendations</a></li>
|
||||
<ul>
|
||||
<li><a href="#hardware" class="body-link"
|
||||
>Hardware</a></li>
|
||||
<ul>
|
||||
<li><a href="#hdw-smartphone" class="body-link"
|
||||
>Smartphone</a></li>
|
||||
</ul>
|
||||
<li><a href="#software" class="body-link"
|
||||
>Software</a></li>
|
||||
<ul>
|
||||
<li><a href="#sfw-desktop" class="body-link"
|
||||
>Desktop</a></li>
|
||||
<li><a href="#sfw-smartphone" class="body-link"
|
||||
>Smartphone</a></li>
|
||||
</ul>
|
||||
<li><a href="#music" class="body-link"
|
||||
>Music</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- About me. -->
|
||||
<h2 id="about_me"><a href="#about_me" class="h2"
|
||||
>About Me</a></h2>
|
||||
<p>I am Jake Winters, also known by my pseudonym "Inference", a cybersecurity researcher
|
||||
based in United Kingdom.<br>
|
||||
I am the founder, lead developer, and administrator, of Inferencium.<br>
|
||||
All opinions are my own, and are not necessarily shared with projects or people I am
|
||||
affiliated with.<br>
|
||||
<br>
|
||||
I write about my research and experience in cybersecurity and also physical security.
|
||||
Most of my postings are security-related, but I occasionally post about other aspects of
|
||||
my life.<br>
|
||||
<br>
|
||||
I am an open source advocate for the preservation and modifiability of source code. I
|
||||
believe source code should be considered human knowledge as much as past knowledge and
|
||||
teachings were; it is how modern humanity survives and runs.<br>
|
||||
Source code being modifiable allows it to be adapted for use by anyone, whether to add
|
||||
features, harden it for increased security and/or privacy, or provide accessibility for
|
||||
disabled users.<br>
|
||||
I am also a modular design advocate for the ability to securely and robustly make
|
||||
changes to hardware and software without the entire system being affected.<br>
|
||||
<br>
|
||||
If you want to contact me for any reason, you can use my
|
||||
<a href="https://inferencium.net/contact.html" class="body-link"
|
||||
>contact methods</a>.<br>
|
||||
<br>
|
||||
I run the public Systems Hardening XMPP channel dedicated to systems security and
|
||||
privacy hardening at <code>sys-hardening@muc.xmpp.inferencium.net</code>, and its
|
||||
respective off-topic channel at
|
||||
<code>sys-hardening-ot@muc.xmpp.inferencium.net</code>.</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2 id="licensing"><a href="#licensing" class="h2"
|
||||
>Licensing</a></h2>
|
||||
<p>Inferencium cares about upstreaming and sharing code, strongly preferring licenses which
|
||||
have high license compatibility in order to permit sharing code with as many other projects
|
||||
as possible; for this reason, permissive licenses are our preferred choice, while avoiding
|
||||
copyleft licenses and other licenses which place restrictions on how our code may be used,
|
||||
and prevent us from including important proprietary code, such as firmware, which can patch
|
||||
security vulnerabilities, privacy issues, and stability issues. All Inferencium code is and
|
||||
will be permissively licensed unless specific circumstances make it impractical or
|
||||
infeasible to do so. Our goal is to share code which has the least amount of restrictions as
|
||||
possible, to allow wider propagation of our code and allow more use cases and possibilities,
|
||||
as well as ensuring proprietary code, whenever required, is permitted to be included.<br>
|
||||
<br>
|
||||
<a href="https://iso.org/standard/81870.html" class="body-link"
|
||||
>ISO 5962:2021</a> is used for licensing, in the format
|
||||
<code>SPDX-License-Identifier: <license></code>; see the
|
||||
<a href="https://spdx.org/licenses/" class="body-link"
|
||||
>SPDX license list</a> for the full list of available licenses under this standard.</p>
|
||||
<br>
|
||||
<h3 id="licensing-preferred"><a href="#licensing-preferred" class="h3"
|
||||
>Preferred</a></h3>
|
||||
<h4 id="licensing-preferred-code"><a href="#licensing-preferred-code"
|
||||
class="h4"
|
||||
>Code</a></h4>
|
||||
<h5 id="licensing-bsd-3-clause-clear">
|
||||
<a href="#licensing-bsd-3-clause-clear" class="h5"
|
||||
>BSD 3-Clause Clear License</a></h5>
|
||||
<code>SPDX-License-Identifier: BSD-3-Clause-Clear</code>
|
||||
<p>Type: Permissive</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/BSD-3-Clause-
|
||||
Clear.html" class="body-link"
|
||||
>BSD 3-Clause Clear License</a> is a highly permissive
|
||||
license which allows content licensed under it to be
|
||||
used in any way, whether in source or binary form, and
|
||||
allows sublicensing under a different license, with the
|
||||
only restrictions being the original copyright notice
|
||||
must be kept in order to attribute the original creator
|
||||
of the licensed content, and the name of the project
|
||||
and/or its contributors may not be used to endorse or
|
||||
promote products derived from the original project.<br>
|
||||
BSD 3-Clause Clear License is a derivative of
|
||||
<a href="https://spdx.org/licenses/
|
||||
BSD-3-Clause.html" class="body-link"
|
||||
>BSD 3-Clause "New" or "Revised" License</a>, which adds
|
||||
an explicit statement clarifying that patent rights are
|
||||
not granted by the license alone, and must be granted
|
||||
separately by the copyright and/or patent holder(s). We
|
||||
prefer this license over the BSD 3-Clause "New" or
|
||||
"Revised" License due to this explicit statement which
|
||||
removes any possibility of debate and misunderstanding
|
||||
in regards to patents applied to code using the BSD
|
||||
3-Clause "New" or "Revised" License.</p>
|
||||
<br>
|
||||
<h5 id="licensing-mit"><a href="#licensing-mit" class="h5"
|
||||
>MIT License</a></h5>
|
||||
<code>SPDX-License-Identifier: MIT</code>
|
||||
<p>Type: Permissive</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/MIT.html"
|
||||
class="body-link"
|
||||
>MIT License</a> is a highly permissive license which
|
||||
allows content licensed under it to be used in any way,
|
||||
whether in source or binary form, and allows
|
||||
sublicensing under a different license, with the only
|
||||
restriction being the original copyright notice must be
|
||||
kept in order to attribute the original creator of the
|
||||
licensed content.<br>
|
||||
Due to this license allowing the original project's name
|
||||
and/or contributors to be used to endorse or promote
|
||||
products derived from the original project, unless an
|
||||
explicit statement is made alongside this license,
|
||||
increasing complexity and deviating from the standard
|
||||
license text, we prefer <a href="#licensing-bsd-3-
|
||||
clause-clear" class="body-link"
|
||||
>BSD 3-Clause Clear License</a>; however, MIT License is
|
||||
a great choice when derivatives using the name of the
|
||||
original project and/or its contributors is a non-issue.</p>
|
||||
<br>
|
||||
<h5 id="licensing-gpl-2.0"><a href="#licensing-gpl-2.0" class="h5"
|
||||
>GNU General Public License v2.0</a></h5>
|
||||
<code>SPDX-License-Identifier: GPL-2.0-only</code>
|
||||
<p>Type: Copyleft</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/GPL-2.0-
|
||||
only.html" class="body-link"
|
||||
>GNU General Public License v2.0</a> is a strong
|
||||
copyleft license which restricts use of content licensed
|
||||
under it by requiring all source code of the content to
|
||||
be publicly available, making binary-only form and
|
||||
inclusion of proprietary code impossible, requiring all
|
||||
derivatives to be licensed under the same license
|
||||
(allowing sublicensing under only newer GPL licenses if
|
||||
<code>GPL-2.0-or-later</code> is specified in the SPDX-
|
||||
License-Identifier), and requiring the original
|
||||
copyright notice to be kept in order to attribute the
|
||||
original creator of the licensed content.<br>
|
||||
Due to the restrictive and invasive nature of this
|
||||
license, it is avoided unless such restrictions would be
|
||||
beneficial to Inferencium code; whenever this is the
|
||||
case, the GNU General Public License v2.0 will be used,
|
||||
rather than the more restrictive <a href="#licensing-gpl
|
||||
-3.0" class="body-link"
|
||||
>GNU General Public License v3.0</a>, and relicensing
|
||||
derivatives under the GNU General Public License v3.0
|
||||
will be disallowed.</p>
|
||||
<br>
|
||||
<h4 id="licensing-preferred-non-code"><a href="#licensing-preferred-non-code" class="h4"
|
||||
>Non-code</a></h4>
|
||||
<h5 id="licensing-cc-by-4.0"><a href="#licensing-cc-by-4.0" class="h5"
|
||||
>Creative Commons Attribution 4.0 International</a></h5>
|
||||
<code>SPDX-License-Identifier: CC-BY-4.0</code>
|
||||
<p>Type: Permissive</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/CC-BY-4.0.html" class="body-link"
|
||||
>Creative Commons Attribution 4.0 International</a> is a highly permissive license which
|
||||
allows content licensed under it to be used in any way, in any medium, with the only
|
||||
restriction being the original copyright notice must be kept in order to attribute the
|
||||
original creator of the licensed content.</p>
|
||||
<br>
|
||||
<h3 id="licensing-other"><a href="#licensing-other" class="h2"
|
||||
>Other</a></h3>
|
||||
<h4 id="licensing-other-code"><a href="#licensing-other-code" class="h4"
|
||||
>Code</a></h4>
|
||||
<h5 id="licensing-gpl-3.0"><a href="#licensing-gpl-3.0" class="h5"
|
||||
>GNU General Public License v3.0</a></h5>
|
||||
<code>SPDX-License-Identifier: GPL-3.0-only</code>
|
||||
<p>Type: Copyleft</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/GPL-3.0-only.html" class="body-link"
|
||||
>GNU General Public License v3.0</a> is a strong copyleft license which restricts usage of
|
||||
content licensed under it by requiring all source code of the content to be publicly
|
||||
available, making binary-only form and inclusion of proprietary code impossible, requiring
|
||||
all derivatives to be licensed under the same license (allowing sublicensing under only
|
||||
newer GPL licenses if <code>GPL-3.0-or-later</code> is specified in the
|
||||
SPDX-License-Identifier), requiring the content to be made available only on systems which
|
||||
allow modifying the content, such as systems with unlocked/unlockable bootloaders and/or
|
||||
which are unsigned by the OEM, and requiring the original copyright notice to be kept in
|
||||
order to attribute the original creator of the licensed content.<br>
|
||||
Due to the restrictive and invasive nature of this license, and the fact it requires code to
|
||||
be included only on specific systems, further restricting usage of Inferencium code, it is
|
||||
avoided completely.</p>
|
||||
<br>
|
||||
<h4 id="licensing-other-non-code"><a href="#licensing-other-non-code" class="h4"
|
||||
>Non-code</a></h4>
|
||||
<h5 id="licensing-cc-by-nc-4.0"><a href="#licensing-cc-by-nc-4.0" class="h5"
|
||||
>Creative Commons Attribution Non Commerical 4.0 International</a></h5>
|
||||
<code>SPDX-License-Identifier: CC-BY-NC-4.0</code>
|
||||
<p>Type: Permissive non-commercial</p>
|
||||
<br>
|
||||
<p><a href="https://spdx.org/licenses/CC-BY-NC-4.0.html" class="body-link"
|
||||
>Creative Commons Attribution Non Commercial 4.0 International</a> is a permissive license
|
||||
which allows content licensed under it to be used in any way, in any medium, with the
|
||||
restrictions being commercial usage is prohibited, and the original copyright notice must be
|
||||
kept in order to attribute the original creator of the licensed content.</br>
|
||||
Due to the non-commercial restriction of this license preventing Inferencium code from being
|
||||
used for any purpose, specifically preventing commercial usage we do not want to prevent, it
|
||||
is avoided completely.</p>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2 id="recommendations"><a href="#recommendations" class="h2"
|
||||
>Recommendations</a></h2>
|
||||
<br>
|
||||
<!-- Hardware I recommend as production hardware. -->
|
||||
<h3 id="hardware"><a href="#hardware" class="h3"
|
||||
>Hardware</a></h3>
|
||||
<br>
|
||||
<h4 id="hdw-smartphone"><a href="#hdw-smartphone" class="h4"
|
||||
>Smartphone</a></h4>
|
||||
<div style="overflow-x:auto;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="table-title">Type</td>
|
||||
<td class="table-title">Hardware</td>
|
||||
<td class="table-title">Description</td>
|
||||
<td class="table-title">Source model<br>
|
||||
<br>
|
||||
(License - SPDX)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Smartphone</td>
|
||||
<td class="table-main"><img src="asset/img/google-pixel_6.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Google Pixel</td>
|
||||
<td>Google Pixel devices are the best Android devices available on the market for
|
||||
<a class="body-link" href="https://security.googleblog.com/2021/10/
|
||||
pixel-6-setting-new-standard-for-mobile.html"
|
||||
>security and privacy</a>.<br>
|
||||
<br>
|
||||
They allow locking the bootloader with a
|
||||
<a class="body-link" href="https://android.googlesource.com/platform/external/avb/+/
|
||||
master/README.md#pixel-2-and-later"
|
||||
>custom Android Verified Boot (AVB) key</a> in order to preserve security and privacy
|
||||
features when installing a custom operating system, such as
|
||||
<a class="body-link" href="https://source.android.com/docs/security/features/
|
||||
verifiedboot/"
|
||||
>verified boot</a> which verifies that the OS has not been corrupted or tampered with,
|
||||
and
|
||||
<a class="body-link" href="https://source.android.com/docs/security/features/
|
||||
verifiedboot/verified-boot#rollback-protection"
|
||||
>rollback protection</a> which prevents an adversary from rolling back the OS or
|
||||
firmware version to a previous version with known security vulnerabilities.<br>
|
||||
<br>
|
||||
They also include a
|
||||
<a class="body-link" href="https://developer.android.com/training/articles/
|
||||
keystore#HardwareSecurityModule"
|
||||
>hardware security module</a> (Titan M2, improving on the previous generation
|
||||
<a class="body-link" href="https://security.googleblog.com/2018/10/
|
||||
building-titan-better-security-through.html"
|
||||
>Titan M</a>) which is extremely resistant to both remote and physical attacks due to
|
||||
being completely isolated from the rest of the system, including the operating system.
|
||||
Titan M2 ensures that the device cannot be remotely compromised by requiring the side
|
||||
buttons of the device to be physically pressed for some sensitive operations. Titan M2
|
||||
also takes the role of
|
||||
<a class="body-link" href="https://source.android.com/docs/security/best-practices/
|
||||
hardware#strongbox-keymaster"
|
||||
>Android StrongBox Keymaster</a>,
|
||||
a <a class="body-link" href="https://source.android.com/docs/security/features/keystore"
|
||||
>hardware-backed Keystore</a> containing sensitive user keys which are unavailable to
|
||||
the OS or apps running on it without authorisation from Titan M2 itself.
|
||||
<a class="body-link" href="https://android-developers.googleblog.com/2018/05/
|
||||
insider-attack-resistance.html"
|
||||
>Insider attack resistance</a> ensures that Titan M2 firmware can be flashed only if the
|
||||
user PIN/password is already known, making it impossible to backdoor the device without
|
||||
already knowing these secrets.<br>
|
||||
<br>
|
||||
Google Pixel device kernels are compiled with
|
||||
<a class="body-link" href="https://android-developers.googleblog.com/2018/10/
|
||||
control-flow-integrity-in-android-kernel.html"
|
||||
>forward-edge control-flow integrity</a> and
|
||||
<a class="body-link" href="https://security.googleblog.com/2019/10/
|
||||
protecting-against-code-reuse-in-linux_30.html"
|
||||
>backward-edge control-flow integrity</a> to prevent code reuse attacks against the
|
||||
kernel. MAC address randomisation is
|
||||
<a class="body-link" href="https://android-developers.googleblog.com/2017/04/
|
||||
changes-to-device-identifiers-in.html"
|
||||
>implemented well, along with minimal probe requests and randomised initial sequence
|
||||
numbers</a>.<br>
|
||||
<br>
|
||||
Google releases
|
||||
<a class="body-link" href="https://source.android.com/docs/security/bulletin/pixel/"
|
||||
>guaranteed monthly security updates</a>, ensuring Google Pixel devices are up-to-date
|
||||
and quickly protected against security vulnerabilities.<br>
|
||||
<br>
|
||||
Pixel 6-series and 7-series devices are a large improvement over the already very
|
||||
secure and private previous generation Pixel devices. They replace ARM-based Titan M
|
||||
with RISC-V-based Titan M2, reducing trust by removing ARM from the equation. Titan M2
|
||||
is more resiliant to attacks than Titan M, and is
|
||||
<a class="body-link" href="https://www.tuv-nederland.nl/assets/files/cerfiticaten/2022/
|
||||
09/nscib-cc-22-0228971-cert-final.pdf"
|
||||
>AVA_VAN.5 certified</a>, the highest level of vulnerability assessment. Google's
|
||||
in-house Tensor SoC includes Tensor Security Core, further improving device security.<br>
|
||||
<br>
|
||||
Pixel 6-series and 7-series devices are supported for a
|
||||
<a class="body-link" href="https://support.google.com/nexus/answer/
|
||||
4457705#zippy=%2Cpixel-and-later"
|
||||
>minimum of 5 years from launch</a>, an increase from previous generations'
|
||||
<a class="body-link" href="https://support.google.com/nexus/answer/
|
||||
4457705#zippy=%2Cpixel-xl-a-a-g-and-a-g"
|
||||
>support lifecycles of 3 years</a>.</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
<!-- Software I recommend as production software. -->
|
||||
<h3 id="software"><a href="#software" class="h3"
|
||||
>Software</a></h3>
|
||||
<br>
|
||||
<h4 id="sfw-desktop"><a href="#sfw-desktop" class="h4"
|
||||
>Desktop</a></h4>
|
||||
<div style="overflow-x:auto;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="table-title">Type</td>
|
||||
<td class="table-title">Software</td>
|
||||
<td class="table-title">Description</td>
|
||||
<td class="table-title">Source model<br>
|
||||
<br>
|
||||
(License - SPDX)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Operating system</td>
|
||||
<td class="table-main"><img src="asset/img/logo-gentoo_linux.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Gentoo Linux</td>
|
||||
<td><a class="body-link" href="https://www.gentoo.org/"
|
||||
>Gentoo Linux</a> is a highly modular, source-based Linux-based operating system which
|
||||
allows vast customisation to tailor the operating system to suit your specific needs.
|
||||
There are many advantages to such an operating system, with the most notable being the
|
||||
ability to optimise the software for security, privacy, performance, or power usage;
|
||||
however, there are effectively unlimited other use cases, or a combination of multiple
|
||||
use cases.<br>
|
||||
<br>
|
||||
I have focused on security hardening and privacy hardening, placing performance below
|
||||
those aspects, although my system is still very performant. Some of the hardening I
|
||||
apply includes
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Buffer_overflow_protection"
|
||||
>stack protection</a>,
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Integer_overflow"
|
||||
>signed integer overflow wrapping</a>, and GrapheneOS'
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/hardened_malloc/"
|
||||
>hardened_malloc</a> memory allocator.<br>
|
||||
<br>
|
||||
You can find my personal Gentoo Linux configurations in my personal
|
||||
<a class="body-link" href="https://git.inferencium.net/inference/cfg/"
|
||||
>configuration respository</a>.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(GPL-2.0-only)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Web browser</td>
|
||||
<td class="table-main"><img src="asset/img/logo-chromium.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Chromium</td>
|
||||
<td><a class="body-link" href="https://chromium.org/"
|
||||
>Chromium</a> is a highly secure web browser which is often ahead of other web browsers
|
||||
in security aspects. It has a dedicated security team and a very impressive
|
||||
<a class="body-link" href="https://www.chromium.org/Home/chromium-security/brag-sheet/"
|
||||
>security brag sheet</a>.
|
||||
Chromium's security features include a strong
|
||||
<a class="body-link" href="https://code.google.com/p/chromium/wiki/LinuxSandboxing"
|
||||
>multi-layer sandbox</a>,
|
||||
strong <a class="body-link" href="https://www.chromium.org/Home/chromium-security/
|
||||
site-isolation"
|
||||
>site isolation</a>,
|
||||
<a class="body-link" href="https://www.chromium.org/Home/chromium-security/
|
||||
binding-integrity"
|
||||
>Binding Integrity</a> memory hardening, and
|
||||
<a class="body-link" href="https://www.chromium.org/developers/testing/
|
||||
control-flow-integrity/"
|
||||
>control-flow integrity (CFI)</a>.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(BSD-3-Clause)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
<h4 id="sfw-smartphone"><a href="#sfw-smartphone" class="h4"
|
||||
>Smartphone</a></h4>
|
||||
<div style="overflow-x:auto;">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="table-title">Type</td>
|
||||
<td class="table-title">Software</td>
|
||||
<td class="table-title">Description</td>
|
||||
<td class="table-title">Source model<br>
|
||||
<br>
|
||||
(License - SPDX)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Operating system</td>
|
||||
<td class="table-main"><img src="asset/img/logo-grapheneos.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
GrapheneOS</td>
|
||||
<td><a class="body-link" href="https://grapheneos.org/"
|
||||
>GrapheneOS</a> is a security-hardened, privacy-hardened, secure-by-default
|
||||
Android-based operating system which implements extensive, systemic security and privacy
|
||||
hardening to the Android Open Source Project used as its base codebase. Its hardening
|
||||
includes closing gaps for apps to access sensitive system information, a secure app
|
||||
spawning feature which avoids sharing address space layout and other secrets AOSP's
|
||||
default Zygote app spawning model would share,
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/kernel_gs-gs101/"
|
||||
>hardened kernel</a>, hardened memory allocator
|
||||
(<a class="body-link" href="https://github.com/GrapheneOS/hardened_malloc/"
|
||||
>hardened_malloc</a>) to protect against common memory corruption vulnerabilties,
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/platform_bionic/"
|
||||
>hardened Bionic standard C library</a>,
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/platform_system_sepolicy/"
|
||||
>stricter SELinux policies</a>, and local and remote hardware-backed attestation
|
||||
(<a class="body-link" href="https://attestation.app/about/"
|
||||
>Auditor</a>) to ensure the OS has not been corrupted or tampered with.<br>
|
||||
<br>
|
||||
GrapheneOS only supports
|
||||
<a class="body-link" href="https://grapheneos.org/faq#device-support"
|
||||
>high security and well-supported devices</a> which receive full support from their
|
||||
manufacturers, including firmware updates, long support lifecycles, secure hardware, and
|
||||
overall high security practices.<br>
|
||||
<br>
|
||||
For an extensive list of features GrapheneOS provides, visit its
|
||||
<a class="body-link" href="https://grapheneos.org/features/"
|
||||
>official features list</a> which provides extensive documentation.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(MIT)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Web browser</td>
|
||||
<td class="table-main"><img src="asset/img/logo-vanadium.png"
|
||||
width="100px" height="100px"/><br>
|
||||
<br>
|
||||
Vanadium</td>
|
||||
<td>Vanadium is a security-hardened, privacy-hardened Chromium-based web browser which
|
||||
utilises GrapheneOS' operating system hardening to implement stronger defenses to the
|
||||
already very secure Chromium web browser. Its hardening alongside Chromium's base
|
||||
security features includes
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/
|
||||
0081-Implement-UI-for-JIT-site-settings.patch"
|
||||
>disabling JavaScript just-in-time (JIT) compilation by default</a>,
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/
|
||||
0051-stub-out-the-battery-status-API.patch"
|
||||
>stubbing out the battery status API to prevent abuse of it</a>, and
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/blob/13/patches/
|
||||
0084-Toggle-for-navigating-external-URL-in-incognito.patch"
|
||||
>always-on Incognito mode as an option</a>.<br>
|
||||
<br>
|
||||
Vanadium's source code, including its Chromium patchset, can be found in its
|
||||
<a class="body-link" href="https://github.com/GrapheneOS/Vanadium/"
|
||||
>official repository</a>.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(GPL-2.0-only)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Messenger</td>
|
||||
<td class="table-main"><img src="asset/img/logo-molly.png"
|
||||
width="100px" height="100px"><br>
|
||||
<br>
|
||||
Molly</td>
|
||||
<td><a class="body-link" href="https://molly.im/"
|
||||
>Molly</a> is a security-hardened, privacy-hardened
|
||||
<a class="body-link" href="https://signal.org/"
|
||||
>Signal</a> client which hardens Signal by using a variety of
|
||||
<a class="body-link" href="https://github.com/mollyim/mollyim-android#features"
|
||||
>unique features</a>, allowing
|
||||
<a class="body-link" href="https://github.com/mollyim/mollyim-android/wiki/
|
||||
Data-Encryption-At-Rest"
|
||||
>locking the database when not in use</a>, and
|
||||
<a class="body-link" href="https://github.com/mollyim/mollyim-android/blob/
|
||||
a81ff7d120adc9d427be17239107343146bad704/app/src/main/java/org/thoughtcrime/securesms/
|
||||
crypto/MasterSecretUtil.java#L91"
|
||||
>utilising Android StrongBox</a> to protect user keys using the device's hardware
|
||||
security module.<br>
|
||||
<br>
|
||||
Molly is available in
|
||||
<a class="body-link" href="https://github.com/mollyim/
|
||||
mollyim-android#free-and-open-source"
|
||||
>2 flavours</a>:<br>
|
||||
<ul>
|
||||
<li>Molly, which includes the same proprietary Google code as Signal to support
|
||||
more features.</li>
|
||||
<br>
|
||||
<li>Molly-FOSS, which removes the proprietary Google code to provide an
|
||||
entirely open-source client.</li>
|
||||
</ul></td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(GPL-3.0-only)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="table-main">Messenger</td>
|
||||
<td class="table-main"><img src="asset/img/logo-conversations.png"
|
||||
width="100px" height="100px"><br>
|
||||
<br>
|
||||
Conversations</td>
|
||||
<td><a class="body-link" href="https://conversations.im/"
|
||||
>Conversations</a> is a well-designed Android
|
||||
<a class="body-link" href="https://xmpp.org/"
|
||||
>XMPP</a> client which serves as the de facto XMPP reference client and has great
|
||||
usability.</td>
|
||||
<td class="table-main">Open source<br>
|
||||
<br>
|
||||
(GPL-3.0-only)</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h3 id="music"><a href="#music" class="h3"
|
||||
>Music</a></h3>
|
||||
<p>For a curated list of music I enjoy, visit my
|
||||
<a href="music.html" class="body-link"
|
||||
>music page</a>.</p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1 +0,0 @@
|
||||
placeholder.example.com, placeholder, DIRECT, placeholder
|
Before Width: | Height: | Size: 396 KiB |
Before Width: | Height: | Size: 9.9 KiB |
Before Width: | Height: | Size: 123 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 313 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 81 KiB |
Before Width: | Height: | Size: 30 KiB |
72
blog.html
@ -1,72 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Blog -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.4.19 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Blog</title>
|
||||
<link rel="stylesheet" href="inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Blog</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Table of contents -->
|
||||
<h2 id="toc"><a href="#toc" class="h2"
|
||||
>Table of Contents<a/></h2>
|
||||
<!-- Blog posts in descending order from most recent to least recent -->
|
||||
<ul>
|
||||
<li><strong>2022-12-20</strong></li>
|
||||
<ul>
|
||||
<li><a href="blog/the_chromium_monopoly.html" class="body-link"
|
||||
>#3 - The Chromium Monopoly</a></li>
|
||||
</ul>
|
||||
<li><strong>2022-06-30</strong></li>
|
||||
<ul>
|
||||
<li><a href="blog/
|
||||
untrusted_the_issue_with_decentralisation.html"
|
||||
class="body-link"
|
||||
>#2 - Untrusted: The Issue with Decentralisation</a></li>
|
||||
</ul>
|
||||
<li><strong>2022-01-29</strong></li>
|
||||
<ul>
|
||||
<li><a href="blog/systemd_insecurity.html" class="body-link"
|
||||
>#1 - systemd Insecurity</a></li>
|
||||
</ul>
|
||||
<li><strong>2022-01-27</strong></li>
|
||||
<ul>
|
||||
<li><a href="blog/foss_is_working_against_itself.html" class="body-link"
|
||||
>#0 - FOSS is Working Against Itself</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,170 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Blog - #0 -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.11 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Blog - FOSS is Working Against Itself</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Blog - #0</h1>
|
||||
<br>
|
||||
<h2>FOSS is Working Against Itself</h2>
|
||||
<br>
|
||||
<p class="update_date">Posted: 2022-01-27 (UTC+00:00)</p>
|
||||
<p class="update_date">Updated: 2022-11-09 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<h4>Introduction</h4>
|
||||
<p>The world has become a dangerous, privacy invading, human rights stripping, totalitarian place;
|
||||
in order to combat this, people are joining a growing, and dangerous, trend, which I will refer to
|
||||
in this post as the "Free and Open Source (FOSS) movement". With that stated, I will now debunk the
|
||||
misinformation being spread inside of this extremely flawed movement.</p>
|
||||
<br>
|
||||
<p>The
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Free_software"
|
||||
>FOSS</a> movement is an attempt to regain
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Privacy"
|
||||
>privacy</a> and
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Control_(psychology)"
|
||||
>control</a> over our devices and data, but the entire concept of FOSS-only, at the current time, is
|
||||
severely, and dangerously, flawed. What the FOSS community does not seem to understand is the fact
|
||||
that most FOSS software cares not about
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Security"
|
||||
>security</a>.
|
||||
"Security"; keep that word in mind as you progress through this article. What is security? Security
|
||||
is being safe and secure from adversaries and unwanted consequences; security protects our rights
|
||||
and allows us to protect ourselves. Without security, we have no protection, and without protection,
|
||||
we have a lack of certainty of everything else, including privacy and control, which is what the
|
||||
FOSS movement is seeking.</p>
|
||||
<br>
|
||||
<p>FOSS projects rarely take security into account; they simply look at the surface level, rather
|
||||
than the actual
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Root_cause_analysis"
|
||||
>root cause</a> of the issues they are attempting to fight against. In this case, the focus is on
|
||||
privacy and control. Without security mechanisms to protect the privacy features and the ability to
|
||||
control your devices and data, it can be stripped away as if it never existed in the first place,
|
||||
which, inevitably, leads us back to the beginning, and the cycle repeats. With this
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Ideology"
|
||||
>ideology</a>, privacy and control will *never* be achieved. There is no foundation to build privacy
|
||||
or control upon. It is impossible to build a solid, freedom respecting platform on this model.</p>
|
||||
<br>
|
||||
<h4>Example: Smartphones</h4>
|
||||
<p>A FOSS phone, especially so-called
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Linux_for_mobile_devices#Smartphones"
|
||||
>"Linux phones"</a> are completely
|
||||
detrimental to privacy and control, because they do not have the security necessary to enforce that
|
||||
privacy.
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Bootloader_unlocking"
|
||||
>Unlocked bootloaders</a> prevent the device from
|
||||
<a class="body-link" href="https://source.android.com/docs/security/features/verifiedboot/"
|
||||
>verifying the integrity of the boot chain</a>, including the OS, meaning any adversary, whether a
|
||||
stranger who happens to pick up the device, or a big tech or government entity, can simply inject
|
||||
malicious code into your software and you wouldn't have any idea it was there. If that's not enough
|
||||
of a backdoor for you to reconsider your position, how about the trivial
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Evil_maid_attack"
|
||||
>evil maid</a> and data extraction attacks which could be executed on your device, without coercion?
|
||||
With Android phones, this is bad enough to completely break the privacy and control the FOSS
|
||||
movement seeks, but "Linux phones" take it a step further by implementing barely any security, if
|
||||
any at all.
|
||||
<a class="body-link" 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 class="body-link" href="https://en.wikipedia.org/wiki/Hardening_(computing)"
|
||||
>hardening</a> strategies often include restricting access to the root account; if you
|
||||
<a class="body-link" 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 class="body-link" 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>
|
||||
<br>
|
||||
<p>You may ask "What's so bad about using
|
||||
<a class="body-link" href="https://lineageos.org/"
|
||||
>LineageOS</a>?", to which I answer with "What's not bad about it?".<br>
|
||||
<br>
|
||||
- LineageOS uses
|
||||
<a class="body-link" href="https://github.com/LineageOS/hudson/blob/master/lineage-build-targets"
|
||||
>debug builds</a>, not safe and secure release builds.<br>
|
||||
- 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.<br>
|
||||
- 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.<br>
|
||||
- LineageOS does not implement
|
||||
<a class="body-link" 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 class="body-link" href="https://en.wikipedia.org/wiki/Vulnerability_(computing)"
|
||||
>security vulnerabilities</a>.<br>
|
||||
<br>
|
||||
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>
|
||||
<br>
|
||||
<h4>Solution</h4>
|
||||
<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 class="body-link" 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 *whatever* hardware and software you can, and
|
||||
use it tactically.</p>
|
||||
<br>
|
||||
<p>The only solution for phone security, privacy, and control, is to use a Google Pixel (currently,
|
||||
Pixel 4a-series or newer) running
|
||||
<a class="body-link" href="https://grapheneos.org/"
|
||||
>GrapheneOS</a>. Google Pixel phones allow you complete bootloader freedom, including the
|
||||
<a class="body-link" 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 class="body-link" href="https://en.wikipedia.org/wiki/Malware"
|
||||
>malware</a> persistence, evil maid attacks, and boot chain
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Data_corruption"
|
||||
>corruption</a>),
|
||||
<a class="body-link" href="https://support.google.com/nexus/answer/4457705"
|
||||
>long device support lifecycles</a> (minimum 3 years for Pixel 4a-series to Pixel 5a, minimum 5
|
||||
years for Pixel 6-series and newer), and
|
||||
<a class="body-link" href="https://source.android.com/docs/security/bulletin/pixel/"
|
||||
>guaranteed monthly security updates</a> for the entire support timeframe of the devices.</p>
|
||||
<br>
|
||||
<h4>Conclusion</h4>
|
||||
<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>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,116 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Blog - #1 -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.11 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Blog - systemd Insecurity</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Blog - #1</h1>
|
||||
<br>
|
||||
<h2>systemd Insecurity</h2>
|
||||
<br>
|
||||
<p class="update_date">Posted: 2022-01-29 (UTC+00:00)</p>
|
||||
<p class="update_date">Updated: 2022-11-14 (UTC+00:00)</p>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<p>Anyone who cares about security may want to switch from systemd as soon as possible; its lead
|
||||
developer doesn't care about your security at all.</p>
|
||||
<br>
|
||||
<br>
|
||||
<h3>Issue #0 - Against CVE Assignment</h3>
|
||||
<br>
|
||||
<p>Poettering:<br>
|
||||
"You don't assign CVEs to every single random bugfix we do, do you?"</p>
|
||||
<br>
|
||||
<p>My thoughts:<br>
|
||||
Yes, if they're security-related.</p>
|
||||
<br>
|
||||
<p>Source:<br>
|
||||
<a class="body-link" href="https://github.com/systemd/systemd/pull/5998#issuecomment-303782334"
|
||||
>systemd GitHub Issue 5998</a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3>Issue #1 - CVEs Are Not Useful</h3>
|
||||
<br>
|
||||
<p>Poettering:<br>
|
||||
"Humpf, I am not convinced this is the right way to announce this. We never did that, and half the
|
||||
CVEs aren't useful anyway, hence I am not sure we should start with that now, because it is either
|
||||
inherently incomplete or blesses the nonsensical part of the CVE circus which we really shouldn't
|
||||
bless..."</p>
|
||||
<br>
|
||||
<p>My thoughts:<br>
|
||||
CVEs are supposed to be for security, and a log of when they were found and their severity, so yes,
|
||||
it *is* the correct way to announce it. It seems as if over 95 security-concious people think the
|
||||
same.</p>
|
||||
<br>
|
||||
<p>Source:<br>
|
||||
<a class="body-link" href="https://github.com/systemd/systemd/pull/6225#issuecomment-311739869"
|
||||
>systemd GitHub Issue 6225</a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3>Issue #2 - Security is a Circus</h3>
|
||||
<br>
|
||||
<p>Poettering:<br>
|
||||
"I am not sure I buy enough into the security circus to do that though for any minor issue..."</p>
|
||||
<br>
|
||||
<p>Source:<br>
|
||||
<a class="body-link" href="https://github.com/systemd/systemd/issues/5144#issuecomment-276740654"
|
||||
>systemd GitHub Issue 5144</a></p>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h3>Issue #3 - Blaming the User</h3>
|
||||
<br>
|
||||
<p>Poettering:<br>
|
||||
"Yes, as you found out "0day" is not a valid username. I wonder 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.<br>
|
||||
<br>
|
||||
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.<br>
|
||||
<br>
|
||||
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>
|
||||
<br>
|
||||
<p>My thoughts:<br>
|
||||
systemd was the thing that allowed root access just because a username started with a number, then
|
||||
Poettering blamed the user.</p>
|
||||
<br>
|
||||
<p>Source:<br>
|
||||
<a class="body-link" href="https://github.com/systemd/systemd/issues/6237#issuecomment-311900864"
|
||||
>systemd GitHub Issue 6237</a></p>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,101 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Blog - #3 -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.7 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Blog - The Chromium Monopoly</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Blog - #3</h1>
|
||||
<br>
|
||||
<h2>The Chromium Monopoly</h2>
|
||||
<br>
|
||||
<p class="update_date">Posted: 2022-12-20 (UTC+00:00)</p>
|
||||
<p class="update_date">Updated: 2022-12-20 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<h4>Introduction</h4>
|
||||
<p>It's no secret that I'm an advocate of Chromium and will use it for the foreseeable future. It is
|
||||
a highly secure web browser which provides strong protection against malicious wesbites and the code
|
||||
they run, and, while I am not too interested in high performance, it is a very performant web
|
||||
browser, despite its security features.<br>
|
||||
<br>
|
||||
However, the intention of this blog post is not to promote Chromium for any reason, but rather show
|
||||
an issue with it; an issue which is larger than may be realised by web-surfing users. That issue is
|
||||
the large monopoly Chromium has in the web browser market;
|
||||
<a class="body-link" href="https://en.wikipedia.org/wiki/Usage_share_of_web_browsers#Summary_tables"
|
||||
>Chromium's market share is around 65%</a>,
|
||||
making it the largest slice of the cake. The issue becomes even deeper and more problematic when you
|
||||
realise that the second-place web browser, Safari, has only an 18% market share.<br>
|
||||
<br>
|
||||
The main issue with this type of monopoly is the large amounts of power and influence it gives
|
||||
Chromium, which can lead to, and is leading to, excessive authority of how the web should work, and
|
||||
the standards which are implemented, which all other web browsers must comply with in order to have
|
||||
a fully working web.<p>
|
||||
<br>
|
||||
<h4>Solution</h4>
|
||||
<p>In order to combat the Chromium monopoly, users typically go over to Chromium's classical rival,
|
||||
Firefox. However, Firefox is dying and has lost almost all of its userbase over the last 2-3 years;
|
||||
the reason for this is a tale of selfishness and greed, caused by Firefox's parent company to go off
|
||||
course and lose its original goal of providing a freedom-respecting, open web. Mozilla caused
|
||||
self-inflicted damage which it cannot recover from, and, to me, is already dead. The vultures are
|
||||
simply waiting for the final, small group of users to abandon the project before Firefox finally
|
||||
succumbs to its own demise; the demise it caused itself.<br>
|
||||
<br>
|
||||
If attempting to increase Firefox's market share to previous levels will be in vain, what is the
|
||||
solution? How can we prevent Chromium from completely taking over the web and dictating everything
|
||||
we do and how the web should be designed and used?<br>
|
||||
To find the answer to these important but difficult questions, we must go to the alternatives which
|
||||
still have a fighting chance. Safari, developed by Apple, is based on WebKit, an engine completely
|
||||
independent of Chromium and Firefox.<br>
|
||||
<br>
|
||||
Just using a non-Chromium-based web browser is not enough; the choice must already have enough
|
||||
market share to still be relevant, and be capable of gaining new users. Safari, being preinstalled
|
||||
on Apple devices including iPhone and Mac, 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>
|
||||
<br>
|
||||
<h4>Conclusion</h4>
|
||||
<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.
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,135 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website -- Blog - #2 -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.10 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Blog - Untrusted: The Issue with Decentralisation</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Blog - #2</h1>
|
||||
<br>
|
||||
<h2>Untrusted: The Issue with Decentralisation</h2>
|
||||
<br>
|
||||
<p class="update_date">Posted: 2022-06-30 (UTC+00:00)</p>
|
||||
<p class="update_date">Updated: 2022-10-29 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<h4>Introduction</h4>
|
||||
<p>A recent trend is seeing people move towards decentralised services and platforms. While this is
|
||||
reasonable and I can understand why they are doing such a thing, they are seemingly doing it without
|
||||
thinking about the possible consequences of doing so. The issue with decentralisation is trust;
|
||||
there is no way to pin a key to a specific person, to ensure that you are communicating with the
|
||||
same person you are supposed to be communicating with. In this article, I will discuss some of the
|
||||
security issues with the decentralised model.</p>
|
||||
<br>
|
||||
<h4>Example: Messaging</h4>
|
||||
<p>When it comes to messaging your contacts on a centralised platform, such as Twitter or Facebook,
|
||||
the keys are pinned to that user account, using the user's password as the method of identification.
|
||||
This approach makes it impossible to log in as a specific user without their password, should it be
|
||||
strong enough to not be guessed, whether via personal guessing or exhaustive search. The trust in
|
||||
this centralised model is the high security these platforms have. It is extremely unlikely that
|
||||
anyone other than a government would be able to access the accounts stored on such platforms'
|
||||
servers, which makes the physical security trusted. As for remote security, should a user's password
|
||||
be compromised, it can typically be reset if the user can prove they are the owner of the account
|
||||
via some form of identification; this is where the trust issue of decentralisation occurs.</p>
|
||||
<br>
|
||||
<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>
|
||||
<br>
|
||||
<h4>Solution</h4>
|
||||
<p>I'll cut to the chase; there isn't a definitive solution. The best way to handle this situation
|
||||
is to design your threat model and think about your reasoning for avoiding centralised platforms. Is
|
||||
it lack of trust of a specific company? Is it the possibility of centralised platforms going
|
||||
offline? Only by thinking logically and tactically can you solve both the issue of centralisation
|
||||
and decentralisation. Often, one size fits all is never the correct approach, nor does it typically
|
||||
work.</p>
|
||||
<br>
|
||||
<p>In order to avoid the issue of loss of trust due to lack of root of trust, all users' keys must
|
||||
be stored in a centralised location where all contacts are able to go to in case of compromise or to
|
||||
periodically check the state of keys and to see if they have changed. This centralised location
|
||||
requires some sort of identification to ensure that the user changing their keys is really the same
|
||||
person who initially signed up for the platform, using a trust-on-first-use (TOFU) model, which
|
||||
isn't much different than what today's centralised platforms are already doing; the only difference
|
||||
is who is controlling the location; trust is still present and required.</p>
|
||||
<br>
|
||||
<p>In order to have a root of trust, I have posted my keys to my website, which is protected by
|
||||
multiple layers of security:<br>
|
||||
<br>
|
||||
0. 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.<br>
|
||||
<br>
|
||||
1. 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.<br>
|
||||
<br>
|
||||
2. 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.<br>
|
||||
<br>
|
||||
3. 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.<br>
|
||||
<br>
|
||||
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>
|
||||
<br>
|
||||
<h4>Conclusion</h4>
|
||||
<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
|
||||
(Twitter'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>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
130
contact.html
@ -1,130 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Contact -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 4.0.2.28 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Contact</title>
|
||||
<link rel="stylesheet" href="inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Table of contents -->
|
||||
<h2 id="toc"><a href="#toc" class="h2"
|
||||
>Table of Contents<a/></h2>
|
||||
<ul>
|
||||
<li><a href="#notes" class="body-link"
|
||||
>Notes</a></li>
|
||||
<li><a href="#e2ee" class="body-link"
|
||||
>End-to-end encrypted contact methods</a></li>
|
||||
<ul>
|
||||
<li><a href="#e2ee-pref" class="body-link"
|
||||
>Preferred</a></li>
|
||||
<li><a href="#e2ee-metadata" class="body-link"
|
||||
>Metadata-free</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Place end-to-end encrypted contact methods here -->
|
||||
<!-- Contacts should be encouraged to use these contact methods -->
|
||||
<h2 id="notes"><a href="#notes" class="h2"
|
||||
>Notes</a></h2>
|
||||
<ul>
|
||||
<li>I have phased out usage of obsolete, insecure PGP for all contact
|
||||
methods</li>
|
||||
<li>I have phased out usage of email, including TLS-encrypted email</li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2 id="e2ee"><a href="#e2ee" class="h2"
|
||||
>End-to-end Encrypted Contact Methods</a></h2>
|
||||
<br>
|
||||
<h3 id="e2ee-pref"><a href="#e2ee-pref" class="h3"
|
||||
>Preferred</a></h3>
|
||||
<p>Whenever possible, use the following contact methods; they allow verification
|
||||
to mitigate man-in-the-middle attacks, have high security, and reasonable
|
||||
privacy.<br>
|
||||
<br>
|
||||
<p><strong>Use the
|
||||
<a href="key.html" class="body-link"
|
||||
>keys</a> for each contact method to verify my devices.</strong><br>
|
||||
Note: Verification does not verify a person, only their devices, and can be
|
||||
defeated via coercion or other force.</p>
|
||||
<br>
|
||||
<p><img src="asset/img/logo-signal.png" class="logo-small"
|
||||
width="40px" height="40px"/> Signal<br>
|
||||
<br>
|
||||
+447549902964<p><br>
|
||||
<p><img src="asset/img/logo-xmpp.png" class="logo-small"
|
||||
width="40px" height="40px"/> XMPP<br>
|
||||
<br>
|
||||
inference@inferencium.net
|
||||
(<a href="key/xmpp.html" class="body-link"
|
||||
>Key</a>)<p>
|
||||
<br>
|
||||
<br>
|
||||
<!-- Place metadata-free contact methods here -->
|
||||
<!-- Clarify that preferred methods should be used whenever possible -->
|
||||
<h3 id="e2ee-metadata"><a href="#e2ee-metadata" class="h3"
|
||||
>Metadata-free</a></h3>
|
||||
<p>If metadata leakage is an issue for you, you can use the following contact methods.<br>
|
||||
<br>
|
||||
Note: These services do not have verification functionality and will be treated
|
||||
as less secure; <strong>unless you really need to use these services, use a
|
||||
preferred method instead.</strong></p>
|
||||
<br>
|
||||
<p><img src="asset/img/logo-briar.png" class="logo-small"
|
||||
width="40px" height="40px"/> Briar<br>
|
||||
<br>
|
||||
Unavailable</p><br>
|
||||
<p><img src="asset/img/logo-session.png" class="logo-small"
|
||||
width="40px" height="40px"/> Session<br>
|
||||
<br>
|
||||
Unavailable</p>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Place non-private contact methods here -->
|
||||
<!-- Clarify that these contact methods are for public contact only -->
|
||||
<!--<h2>Non-private Contact Methods</h2>
|
||||
<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>
|
||||
<br>
|
||||
<br>-->
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,48 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Contact - Briar -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.9 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Contact - Briar</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
<br>
|
||||
<h2>Briar</h2>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2022-11-15 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<code>
|
||||
Unavailable
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,48 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Contact - Session -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.9 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Contact - Session</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
<br>
|
||||
<h2>Session</h2>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2022-11-15 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<code>
|
||||
Unavailable
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,49 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Contact - Signal -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.9 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Contact - Signal</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
<br>
|
||||
<h2>Signal</h2>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2022-11-14 (UTC+00:00)</p>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<code>
|
||||
+447549902964
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,72 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Contact - XMPP -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.0.0.12 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Contact - XMPP</title>
|
||||
<link rel="stylesheet" href="../inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar. -->
|
||||
<div class="sidebar">
|
||||
<img src="../asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="../about.html">About</a></div>
|
||||
<div><a href="../contact.html">Contact</a></div>
|
||||
<div><a href="../blog.html">Blog</a></div>
|
||||
<div><a href="../source.html">Source</a></div>
|
||||
<div><a href="../key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Contact</h1>
|
||||
<br>
|
||||
<h2>XMPP</h2>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2022-12-05 (UTC+00:00)</p>
|
||||
<br>
|
||||
|
||||
<p>Whenever possible, open the links to pin the fingerprint directly from this webpage. If
|
||||
that is not possible, manually verify the fingerprints.</p>
|
||||
<br>
|
||||
<br>
|
||||
<h3>inference@inferencium.net</h3>
|
||||
<h4>Key</h4>
|
||||
<h5>Smartphone</h5>
|
||||
<code>
|
||||
1bd03c6a 5e011655 2fafd697 da4fce70 63de5a83 a264a34a fcce78fe 6b06820c
|
||||
</code>
|
||||
<br>
|
||||
<a class="body-link" href="xmpp:inference@inferencium.net?omemo-sid-1586888206=
|
||||
1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c"
|
||||
>xmpp:inference@inferencium.net?omemo-sid-1586888206=
|
||||
1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c</a>
|
||||
<br>
|
||||
<br>
|
||||
<h5>Desktop</h5>
|
||||
<code>
|
||||
bf2aa069 2bb90210 aee7e17c e3d90127 cfe3502a 6450f8ab e76dbbb0 e5864b7a
|
||||
</code>
|
||||
<br>
|
||||
<a class="body-link" href="xmpp:inference@inferencium.net?omemo-sid-336821633=
|
||||
bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a"
|
||||
>xmpp:inference@inferencium.net?omemo-sid-336821633=
|
||||
bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a</a>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
37
humans.txt
@ -1,37 +0,0 @@
|
||||
Inferencium
|
||||
|
||||
|
||||
--------------------------------
|
||||
|
||||
|
||||
Inferencium website is licensed under the BSD 3-Clause Clear License*:
|
||||
|
||||
|
||||
The Clear BSD License
|
||||
|
||||
Copyright (c) 2022-2023 Jake Winters
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Inferencium nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
*All content outside of code, including personal content such as blog posts, is copyrighted and
|
||||
cannot be distributed or modified without explicit consent from Inferencium.
|
||||
|
||||
|
||||
--------------------------------
|
||||
|
||||
|
||||
Inferencium website is developed openly at https://git.inferencium.net/Inferencium/website/
|
||||
|
||||
|
||||
--------------------------------
|
||||
|
||||
|
||||
Inferencium Git repositories are located at https://git.inferencium.net/Inferencium/
|
36
index.html
@ -1,36 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Index -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 1.0.1.13 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium</title>
|
||||
<link rel="stylesheet" href=inf.css>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
</body>
|
||||
|
||||
</html>
|
259
inf.css
@ -1,259 +0,0 @@
|
||||
/* Inferencium - Website - CSS */
|
||||
|
||||
/* Copyright 2022-2023 Jake Winters */
|
||||
/* SPDX-License-Identifier: BSD-3-Clause-Clear */
|
||||
|
||||
/* Version: 9.2.3.32 */
|
||||
|
||||
|
||||
/* Body */
|
||||
body {
|
||||
padding-top: 40px;
|
||||
margin-left: min(400px, 45vw);
|
||||
margin-right: min(150px, 12vw);
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 20px;
|
||||
line-height: 120%;
|
||||
background-color: #262626;
|
||||
}
|
||||
|
||||
.body-link {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.body-link:link {
|
||||
color: #5dade2;
|
||||
}
|
||||
|
||||
.body-link:visited {
|
||||
color: #bb8fce;
|
||||
}
|
||||
|
||||
.body-link:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 1 */
|
||||
h1, .h1 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 26px;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 2 */
|
||||
h2, .h2 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 22px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 3 */
|
||||
h3, .h3 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 20px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 4 */
|
||||
h4, .h4 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 5 */
|
||||
h5, .h5 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Heading 6 */
|
||||
h6, .h6 {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Paragraph */
|
||||
p {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Code */
|
||||
code {
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
background-color: #000000;
|
||||
padding-top: 4px;
|
||||
padding-right: 4px;
|
||||
padding-bottom: 4px;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
|
||||
/* Link */
|
||||
a {
|
||||
font-family: Roboto, sans-serif;
|
||||
color: #000000;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
||||
/* Lists */
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
li {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
ul li::before {
|
||||
content: "\25AA";
|
||||
margin-left: -1em;
|
||||
display: inline-block;
|
||||
width: 1em;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Tables */
|
||||
table, th, td {
|
||||
border: 2px solid;
|
||||
border-collapse: collapse;
|
||||
border-color: #ffffff;
|
||||
padding: 15px;
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.table-title {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.table-main {
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 18px;
|
||||
color: #ffffff;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
/* Sidebar */
|
||||
.sidebar {
|
||||
height: 100%;
|
||||
width: 250px;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
padding-top: 55px;
|
||||
background-color: #909090;
|
||||
text-align: center;
|
||||
z-index: 99;
|
||||
}
|
||||
|
||||
.sidebar div {
|
||||
padding: 8px;
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 24px;
|
||||
display: block;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
.title {
|
||||
padding: 8px;
|
||||
font-family: Roboto, sans-serif;
|
||||
font-size: 32px;
|
||||
}
|
||||
|
||||
.logo-small {
|
||||
transform: translate(0px, 13px);
|
||||
}
|
||||
|
||||
|
||||
/* Emphasis */
|
||||
strong {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
/* Media */
|
||||
@media (max-width: 600px) {
|
||||
|
||||
html {
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
body {
|
||||
padding-top: 80px;
|
||||
margin: 15px;
|
||||
position: relative;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width: 100vw;
|
||||
height: 40px;
|
||||
font-size: 12px;
|
||||
line-height: 0%;
|
||||
padding-top: 20px;
|
||||
overflow: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.sidebar div {
|
||||
font-size: min(max(7vw, 20px), 30px);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.sidebar img, .sidebar .title {
|
||||
display: none;
|
||||
}
|
||||
|
||||
h2 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h3 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h4 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h5 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h6 {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.update_date {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
145
key.html
@ -1,145 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Key -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 3.2.0.13 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Key</title>
|
||||
<link rel="stylesheet" href="inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Key</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Table of contents -->
|
||||
<h2 id="toc"><a href="#toc" class="h2"
|
||||
>Table of Contents<a/></h2>
|
||||
<ul>
|
||||
<li><a href="#notes" class="body-link"
|
||||
>Notes</a></li>
|
||||
<li><a href="#e2ee" class="body-link"
|
||||
>End-to-end Encrypted Contact Methods</a></li>
|
||||
<ul>
|
||||
<li><a href="#xmpp" class="body-link"
|
||||
>XMPP</a></li>
|
||||
<ul>
|
||||
<li><a href="#xmpp-inferencium"
|
||||
class="body-link"
|
||||
>inference@inferencium.net</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<li><a href="#file_git_signing" class="body-link"
|
||||
>File/Git Signing</a></li>
|
||||
<ul>
|
||||
<li><a href="#ssh" class="body-link"
|
||||
>SSH</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2 id="notes"><a href="#notes" class="h2"
|
||||
>Notes</a></h2>
|
||||
<ul>
|
||||
<li>Verification does not verify a person, only their devices, and can be defeated via
|
||||
coercion or other force.</li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<h2 id="e2ee"><a href="#e2ee" class="h2"
|
||||
>End-to-end Encrypted Contact Methods</a></h2>
|
||||
<br>
|
||||
<h3 id="xmpp"><a href="#xmpp" class="h3"><img class="logo-small"
|
||||
src="asset/img/logo-xmpp.png" width="40px" height="40px"
|
||||
/> XMPP</a></h3>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2023-01-13 (UTC+00:00)</p>
|
||||
<br>
|
||||
<p>Whenever possible, open the links to pin the fingerprints directly from this
|
||||
webpage. If that is not possible, manually verify the fingerprints.</p>
|
||||
<br>
|
||||
<h4 id="xmpp-inferencium"><a href="#xmpp-inferencium" class="h4"
|
||||
>inference@inferencium.net</a></h3>
|
||||
<h5>Key #0</h5>
|
||||
<code>
|
||||
1bd03c6a 5e011655 2fafd697 da4fce70 63de5a83 a264a34a
|
||||
fcce78fe 6b06820c
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
<a href="xmpp:inference@inferencium.net?omemo-sid-1586888206=
|
||||
1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c
|
||||
" class="body-link"
|
||||
>xmpp:inference@inferencium.net?omemo-sid-1586888206=
|
||||
1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c
|
||||
</a>
|
||||
<br>
|
||||
<br>
|
||||
<h5>Key #1</h5>
|
||||
<code>
|
||||
bf2aa069 2bb90210 aee7e17c e3d90127 cfe3502a 6450f8ab
|
||||
e76dbbb0 e5864b7a
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
<a href="xmpp:inference@inferencium.net?omemo-sid-336821633=
|
||||
bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a
|
||||
" class="body-link"
|
||||
>xmpp:inference@inferencium.net?omemo-sid-336821633=
|
||||
bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a
|
||||
</a>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
<h2 id="file_git_signing"><a href="#file_git_signing" class="h2"
|
||||
>File/Git Signing</a></h2>
|
||||
<br>
|
||||
<h3 id="ssh"><a href="#ssh" class="h3"
|
||||
>SSH</a></h3>
|
||||
<br>
|
||||
<p class="update_date">Updated: 2023-01-13 (UTC+00:00)</p>
|
||||
<br>
|
||||
<h5>Fingerprint</h5>
|
||||
<code>
|
||||
SHA256:9Pl0nZ2UJacgm+IeEtLSZ4FOESgP1eKCtRflfPfdX9M
|
||||
</code>
|
||||
<br>
|
||||
<h5>Key</h5>
|
||||
<code>
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINs8UH2hVmNSg0qKig/9ZQt07IuOHsorRfw1doEgMuJ8
|
||||
</code>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
@ -1,12 +0,0 @@
|
||||
The Clear BSD License
|
||||
|
||||
Copyright (c) 2022-2023 Jake Winters
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted (subject to the limitations in the disclaimer below) provided that the following conditions are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Inferencium nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
77
music.html
@ -1,77 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Music -->
|
||||
|
||||
<!-- Copyright 2022-2023 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 0.0.0.18 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Music</title>
|
||||
<link rel="stylesheet" href="inf.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png" width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Music</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- List of music in alphabetical order, in format ARTIST - TRACK and official source links
|
||||
provided -->
|
||||
<p>This is a curated list of my personally-enjoyed music. The list is alphabetically-sorted A-Z,
|
||||
based on artist name, followed by track name, and is formatted as <code>ARTIST - TRACK</code>.
|
||||
Each item in the list has its own individual link which will take you to an official source of
|
||||
the item (or the best alternative when an official source is unavailable). It is your
|
||||
responsibility to comply with any local laws when following these links and/or consuming any
|
||||
media found in this list.</p><br>
|
||||
<br>
|
||||
<ul>
|
||||
<li><a href="https://youtube.com/watch?v=XtptYWXLdvo" class="body-link"
|
||||
>Essenger - After Dark</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=qRJVcQsqieU" class="body-link"
|
||||
>Essenger - Tenebrous</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=uNj3vZQLNWM" class="body-link"
|
||||
>Essenger - Tenebrous (Irons Remix)</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=8bCaXe5fIB4" class="body-link"
|
||||
>Geoxor - I Like You</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=v9_9tYQd7yg" class="body-link"
|
||||
>Geoxor & SVRGE - DEAD</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=ktf_HPqTOXM" class="body-link"
|
||||
>Haloweak - C.O.R.E</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=q2DBeby7ni8" class="body-link"
|
||||
>Haloweak - NARWHAL</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=RHu804DrBZc" class="body-link"
|
||||
>Haloweak - 傀儡 曲</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=Wm8vcFn0bgY" class="body-link"
|
||||
>Infected Mushroom - Kazabubu</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=q2zcxPhOPd0" class="body-link"
|
||||
>SVRGE - Animosity</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=ucoTKQpXrhI" class="body-link"
|
||||
>SVRGE - Eternal</a></li>
|
||||
<li><a href="https://youtube.com/watch?v=YwzIbcuaFUo" class="body-link"
|
||||
>SVRGE - Nocturnal</a></li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|
95
source.html
@ -1,95 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
|
||||
<!-- Inferencium - Website - Source -->
|
||||
|
||||
<!-- Copyright 2022 Jake Winters -->
|
||||
<!-- SPDX-License-Identifier: BSD-3-Clause-Clear -->
|
||||
|
||||
<!-- Version: 2.2.4.23 -->
|
||||
|
||||
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<title>Inferencium - Source</title>
|
||||
<link rel="stylesheet" href=inf.css>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
</head>
|
||||
|
||||
<!-- Navigation bar -->
|
||||
<div class="sidebar">
|
||||
<img src="asset/img/logo-inferencium-no_text.png"
|
||||
width="110px" height="110px">
|
||||
<a class="title">Inferencium</a><br>
|
||||
<br>
|
||||
<br>
|
||||
<div><a href="about.html">About</a></div>
|
||||
<div><a href="contact.html">Contact</a></div>
|
||||
<div><a href="blog.html">Blog</a></div>
|
||||
<div><a href="source.html">Source</a></div>
|
||||
<div><a href="key.html">Key</a></div>
|
||||
</div>
|
||||
|
||||
<body>
|
||||
<h1>Source</h1>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Table of contents -->
|
||||
<h2 id="toc"><a href="#toc" class="h2"
|
||||
>Table of Contents<a/></h2>
|
||||
<ul>
|
||||
<li><a href="#src-inferencium" class="body-link"
|
||||
>Inferencium Source Code Repositories</a></li>
|
||||
<li><a href="#src-personal" class="body-link"
|
||||
>My Personal Source Code Repositories</a></li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Place Inferencium source code repositories here -->
|
||||
<h2 id="src-inferencium"><a href="#src-inferencium" class="h2"
|
||||
>Inferencium Source Code Repositories</a></h2>
|
||||
<ul>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/cfg/" class="body-link"
|
||||
>cfg</a> - Configuration files</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/doc/" class="body-link"
|
||||
>doc</a> - Documentation</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/inf-kernel/"
|
||||
class="body-link"
|
||||
>inf-kernel</a> - Inferencium Kernel</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/linux-firmware-desktop/"
|
||||
class="body-link"
|
||||
>linux-firmware-desktop</a> - Desktop Linux firmware</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/linux-firmware-server/"
|
||||
class="body-link"
|
||||
>linux-firmware-server</a> - Server Linux firmware</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/mmd/" class="body-link"
|
||||
>mmd</a> - Gentoo Multimedia ebuild repository</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/scr/" class="body-link"
|
||||
>scr</a> - Script files</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/sys/" class="body-link"
|
||||
>sys</a> - Gentoo System ebuild repository</li>
|
||||
<li><a href="https://git.inferencium.net/Inferencium/website/" class="body-link"
|
||||
>website</a> - Website</li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<!-- Place personal source code repositories here -->
|
||||
<h2 id="src-personal"><a href="#src-personal" class="h2"
|
||||
>My Personal Source Code Repositories</a></h2>
|
||||
<ul>
|
||||
<li><a href="https://git.inferencium.net/inference/graphenechan/"
|
||||
class="body-link"
|
||||
>graphenechan</a> - Graphene-chan (GrapheneOS unofficial mascot)</li>
|
||||
</ul>
|
||||
<br>
|
||||
<br>
|
||||
<br>
|
||||
</body>
|
||||
|
||||
</html>
|