From da2a8c8b98b87284f9bcf55928fed1ac45284aaf Mon Sep 17 00:00:00 2001 From: inference Date: Sat, 2 Sep 2023 13:44:01 +0100 Subject: [PATCH] Remove redundant CSS classes --- about.html | 274 +++++++++++++++++++++++----------------------- blog.html | 12 +- changelog.html | 12 +- contact.html | 26 ++--- inf.css | 125 +++++++++++++-------- key.html | 42 +++---- music.html | 26 ++--- redirect-git.html | 4 +- source.html | 34 +++--- 9 files changed, 292 insertions(+), 263 deletions(-) diff --git a/about.html b/about.html index 0b1ff83..f481f61 100644 --- a/about.html +++ b/about.html @@ -5,7 +5,7 @@ - + @@ -31,54 +31,54 @@

About

-

Table of Contents

+

Table of Contents

-

About Me

+

About Me

I am Jake Winters, also known by my pseudonym "Inference", a cybersecurity researcher based in United Kingdom.
I am the founder, lead developer, and administrator, of Inferencium.
@@ -96,14 +96,14 @@ 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.

If you want to contact me for any reason, you can use my - contact methods.

+ contact methods.

I run the public Systems Hardening XMPP channel dedicated to systems security and privacy hardening at sys-hardening@muc.xmpp.inferencium.net, and its respective off-topic channel at sys-hardening-ot@muc.xmpp.inferencium.net.

-

Licensing

+

Licensing

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 @@ -114,18 +114,18 @@ 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.

-

ISO 5962:2021 +

ISO 5962:2021 is used for licensing, in the format SPDX-License-Identifier: <license>; see the - SPDX license list + SPDX license list for the full list of available licenses under this standard.

-

Preferred

-

Code

-
BSD 3-Clause Clear License
+

Preferred

+

Code

+
BSD 3-Clause Clear License
SPDX-License-Identifier: BSD-3-Clause-Clear

Type: Permissive


-

BSD 3-Clause Clear License +

BSD 3-Clause Clear License is a highly permissive license which allows content licensed under it to be used in any way, whether in source or binary form, and @@ -136,7 +136,7 @@ and/or its contributors may not be used to endorse or promote products derived from the original project.
BSD 3-Clause Clear License is a derivative of - BSD 3-Clause "New" or "Revised" License, + BSD 3-Clause "New" or "Revised" License, which adds an explicit statement clarifying that patent rights are not granted by the license alone, and must be granted @@ -147,11 +147,11 @@ in regards to patents applied to code using the BSD 3-Clause "New" or "Revised" License.


-
MIT License
+
MIT License
SPDX-License-Identifier: MIT

Type: Permissive


-

MIT License +

MIT License 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 @@ -165,16 +165,16 @@ explicit statement is made alongside this license, increasing complexity and deviating from the standard license text, we prefer - BSD 3-Clause Clear License; + BSD 3-Clause Clear License; however, MIT License is a great choice when derivatives using the name of the original project and/or its contributors is a non-issue.


-
GNU General Public License v2.0
+
GNU General Public License v2.0
SPDX-License-Identifier: GPL-2.0-only

Type: Copyleft


-

GNU General Public License v2.0 +

GNU General Public License v2.0 is a strong copyleft license which restricts use of content licensed under it by requiring all source code of the content to @@ -191,17 +191,17 @@ beneficial to Inferencium code; whenever this is the case, the GNU General Public License v2.0 will be used, rather than the more restrictive - GNU General Public License v3.0, + GNU General Public License v3.0, and relicensing derivatives under the GNU General Public License v3.0 will be disallowed.


-

Non-code

-
Creative Commons Attribution 4.0 International
+

Non-code

+
Creative Commons Attribution 4.0 International
SPDX-License-Identifier: CC-BY-4.0

Type: Permissive


-

Creative Commons Attribution 4.0 International +

Creative Commons Attribution 4.0 International is a highly permissive license which allows content licensed under it to be used in any way, in any medium, with the @@ -209,13 +209,13 @@ must be kept in order to attribute the original creator of the licensed content.


-

Other

-

Code

-
GNU General Public License v3.0
+

Other

+

Code

+
GNU General Public License v3.0
SPDX-License-Identifier: GPL-3.0-only

Type: Copyleft


-

GNU General Public License v3.0 +

GNU General Public License v3.0 is a strong copyleft license which restricts usage of content licensed under it by requiring all source code of the @@ -236,12 +236,12 @@ only on specific systems, further restricting usage of Inferencium code, it is avoided completely.


-

Non-code

-
Creative Commons Attribution Non Commerical 4.0 International
+

Non-code

+
Creative Commons Attribution Non Commerical 4.0 International
SPDX-License-Identifier: CC-BY-NC-4.0

Type: Permissive non-commercial


-

Creative Commons Attribution Non Commercial 4.0 International +

Creative Commons Attribution Non Commercial 4.0 International 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 @@ -254,47 +254,47 @@ not want to prevent, it is avoided completely.

-

Recommendations

+

Recommendations

-

Hardware

-

Smartphone

+

Hardware

+

Smartphone

- - - - + + + - - - + + + support lifecycles of 3 years.
TypeHardwareDescriptionSource model
+
TypeHardwareDescriptionSource model

(License - SPDX)
Smartphone
+
Smartphone

Google Pixel
Google Pixel devices are the best Android devices available on the market for - security and privacy.
+ security and privacy.

They allow locking the bootloader with a - custom Android Verified Boot (AVB) key + custom Android Verified Boot (AVB) key in order to preserve security and privacy features when installing a custom operating system, such as - verified boot + verified boot which verifies that the OS has not been corrupted or tampered with, and - rollback protection + rollback protection which prevents an adversary from rolling back the OS or firmware version to a previous version with known security vulnerabilities.

They also include a - hardware security module + hardware security module (Titan M2, improving on the previous generation - Titan M) + Titan M) which is extremely resistant to both remote and physical attacks due to being completely isolated from the rest of the system, including the @@ -302,29 +302,29 @@ 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 - Android StrongBox Keymaster, + Android StrongBox Keymaster, a - hardware-backed Keystore + hardware-backed Keystore containing sensitive user keys which are unavailable to the OS or apps running on it without authorisation from Titan M2 itself. - Insider attack resistance + Insider attack resistance 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.

Google Pixel device kernels are compiled with - forward-edge control-flow integrity + forward-edge control-flow integrity and - backward-edge control-flow integrity + backward-edge control-flow integrity to prevent code reuse attacks against the kernel. MAC address randomisation is - implemented well, along with minimal probe requests and randomised initial sequence numbers.
+ implemented well, along with minimal probe requests and randomised initial sequence numbers.

Google releases - guaranteed monthly security updates, + guaranteed monthly security updates, ensuring Google Pixel devices are up-to-date and quickly protected against security vulnerabilities.
@@ -335,39 +335,39 @@ 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 - AVA_VAN.5 certified, + AVA_VAN.5 certified, the highest level of vulnerability assessment. Google's in-house Tensor SoC includes Tensor Security Core, further improving device security.

Pixel 6-series and 7-series devices are supported for a - minimum of 5 years from launch, + minimum of 5 years from launch, an increase from previous generations' - support lifecycles of 3 years.
-

Software

-

Desktop

+

Software

+

Desktop

- - - - + + + - - + - - + - - + - - +
TypeSoftwareDescriptionSource model
+
TypeSoftwareDescriptionSource model

(License - SPDX)
Operating system
+
Operating system

Gentoo Linux
Gentoo Linux + Gentoo Linux is a highly modular, source-based, Linux-based operating system which allows vast customisation to tailor the operating system to suit @@ -382,59 +382,59 @@ hardening, placing performance below those aspects, although my system is still very performant. Some of the hardening I apply includes - stack protection, - signed integer overflow wrapping, + stack protection, + signed integer overflow wrapping, and GrapheneOS' - hardened_malloc + hardened_malloc memory allocator.

You can find Inferencium's Gentoo Linux configurations in Inferencium's - configuration respository.
Open source
+ configuration respository.
Open source

(GPL-2.0-only)
Web browser
+
Web browser

Chromium
Chromium + Chromium 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 - security brag sheet. + security brag sheet. Chromium's security features include a strong - multi-layer sandbox, + multi-layer sandbox, strong - site isolation, - Binding Integrity + site isolation, + Binding Integrity memory hardening, and - control-flow integrity (CFI).Open source
+ control-flow integrity (CFI).
Open source

(BSD-3-Clause)
-

Smartphone

+

Smartphone

- - - - + + + - - + - - - - + - + - - + - - - - + - - @@ -548,9 +548,9 @@
-

Music

+

Music

For a curated list of music I enjoy, visit my - music page.

+ music page.

diff --git a/blog.html b/blog.html index c6932d7..5729641 100644 --- a/blog.html +++ b/blog.html @@ -5,7 +5,7 @@ - + @@ -31,24 +31,24 @@

Blog

-

Table of Contents

+

Table of Contents

diff --git a/changelog.html b/changelog.html index 80f8290..a0c3750 100644 --- a/changelog.html +++ b/changelog.html @@ -5,7 +5,7 @@ - + @@ -31,13 +31,13 @@

Changelog

-

Table of Contents

+

Table of Contents

diff --git a/contact.html b/contact.html index ab2fe37..da768c6 100644 --- a/contact.html +++ b/contact.html @@ -5,7 +5,7 @@ - + @@ -31,19 +31,19 @@

Contact

-

Table of Contents

+

Table of Contents

-

Notes

+

Notes

  • I have phased out usage of obsolete, insecure PGP for all contact methods
  • @@ -51,16 +51,16 @@
-

End-to-end Encrypted Contact Methods

+

End-to-end Encrypted Contact Methods

-

Preferred

+

Preferred

Whenever possible, use the following contact methods; they allow verification to mitigate man-in-the-middle attacks, have high security, and reasonable privacy.

Use the - keys for each contact method to verify my devices.
+ keys for each contact method to verify my devices.
Note: Verification does not verify a person, only their devices, and can be defeated via coercion or other force.

Signal
@@ -69,13 +69,13 @@

XMPP

inference@inferencium.net (Main) - - (Key)
+ (Key)

inference@notyour.chat (Backup) - - (Key)

+ (Key)

-

Metadata-free

+

Metadata-free

If metadata leakage is an issue for you, you can use the following contact methods.

Note: These services do not have verification functionality and will be treated diff --git a/inf.css b/inf.css index d6990ef..9d6d7bf 100644 --- a/inf.css +++ b/inf.css @@ -3,7 +3,7 @@ /* Copyright 2022 Jake Winters */ /* SPDX-License-Identifier: BSD-3-Clause */ -/* Version: 10.2.1.41 */ +/* Version: 10.3.0.42 */ /* Body */ @@ -17,24 +17,6 @@ body { background-color: #262626; } -.body-link { - font-family: Roboto, sans-serif; - font-size: 17px; - text-decoration: none; -} - -.body-link:link { - color: #5dade2; -} - -.body-link:visited { - color: #bb8fce; -} - -.body-link:hover { - text-decoration: underline; -} - /* Section */ section { @@ -42,8 +24,8 @@ section { } -/* Heading 1 */ -h1, .h1 { +/* Headings */ +h1 { font-family: Roboto, sans-serif; font-size: 24px; text-align: center; @@ -52,45 +34,35 @@ h1, .h1 { padding-bottom: 40px; } - -/* Heading 2 */ -h2, .h2 { +h2 { font-family: Roboto, sans-serif; font-size: 22px; line-height: 130%; color: #ffffff; } - -/* Heading 3 */ -h3, .h3 { +h3 { font-family: Roboto, sans-serif; font-size: 20px; line-height: 130%; color: #ffffff; } - -/* Heading 4 */ -h4, .h4 { +h4 { font-family: Roboto, sans-serif; font-size: 18px; line-height: 130%; color: #ffffff; } - -/* Heading 5 */ -h5, .h5 { +h5 { font-family: Roboto, sans-serif; font-size: 16px; line-height: 130%; color: #ffffff; } - -/* Heading 6 */ -h6, .h6 { +h6 { font-family: Roboto, sans-serif; font-size: 16px; line-height: 130%; @@ -105,12 +77,14 @@ p { color: #ffffff; } + /* Blockquote */ blockquote { font-size: 16px; color: #ffffff; } + /* Code */ code { font-size: 15px; @@ -123,13 +97,66 @@ code { } -/* Link */ +/* Links */ a { font-family: Roboto, sans-serif; - color: #000000; + font-size: 17px; + color: #5dade2; text-decoration: none; } +a:visited { + color: #bb8fce; +} + +a:hover { + text-decoration: underline; +} + +h1 a, h1 a:visited { + font-family: Roboto, sans-serif; + font-size: 24px; + text-align: center; + line-height: 130%; + color: #ffffff; + padding-bottom: 40px; +} + +h2 a, h2 a:visited { + font-family: Roboto, sans-serif; + font-size: 22px; + line-height: 130%; + color: #ffffff; +} + +h3 a, h3 a:visited { + font-family: Roboto, sans-serif; + font-size: 20px; + line-height: 130%; + color: #ffffff; +} + +h4 a, h4 a:visited { + font-family: Roboto, sans-serif; + font-size: 18px; + line-height: 130%; + color: #ffffff; +} + +h5 a, h5 a:visited { + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 130%; + color: #ffffff; +} + +h6 a, h6 a:visited { + font-family: Roboto, sans-serif; + font-size: 16px; + line-height: 130%; + color: #ffffff; +} + /* Lists */ ul { @@ -164,7 +191,7 @@ table, th, td { overflow-x: auto; } -.table-title { +th { font-family: Roboto, sans-serif; font-size: 17px; color: #ffffff; @@ -172,7 +199,7 @@ table, th, td { text-align: center; } -.table-main { +td { font-family: Roboto, sans-serif; font-size: 17px; color: #ffffff; @@ -194,22 +221,24 @@ table, th, td { overflow: auto; } -.sidebar div { - padding: 8px; - font-family: Roboto, sans-serif; - font-size: 22px; - display: block; - z-index: 100; +.logo-small { + transform: translate(0px, 13px); } .title { padding: 8px; font-family: Roboto, sans-serif; font-size: 28px; + color: #000000; } -.logo-small { - transform: translate(0px, 13px); +.sidebar div, .sidebar div a, .sidebar div a:visited { + padding: 6px; + font-family: Roboto, sans-serif; + font-size: 22px; + color: #000000; + display: block; + z-index: 100; } diff --git a/key.html b/key.html index 99d4365..3c7e790 100644 --- a/key.html +++ b/key.html @@ -5,7 +5,7 @@ - + @@ -31,71 +31,71 @@

Key

-

Table of Contents

+

Table of Contents

-

Notes

+

Notes

  • You can also find my keys on - GitHub + GitHub and - Codeberg + Codeberg in order to check for discrepancies between the keys.
  • Verification does not verify a person, only their devices, and can be defeated via coercion or other force.
-

End-to-end Encrypted Contact Methods

-

XMPP

+

End-to-end Encrypted Contact Methods

+

XMPP

Updated: 2023-01-13 (UTC+00:00)


Whenever possible, open the links to pin the fingerprints directly from this webpage. If that is not possible, manually verify the fingerprints.


-

inference@inferencium.net (Main)

+

inference@inferencium.net (Main)

Key #0
1bd03c6a 5e011655 2fafd697 da4fce70 63de5a83 a264a34a fcce78fe 6b06820c

- xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c + xmpp:inference@inferencium.net?omemo-sid-1586888206=1bd03c6a5e0116552fafd697da4fce7063de5a83a264a34afcce78fe6b06820c
Key #1
bf2aa069 2bb90210 aee7e17c e3d90127 cfe3502a 6450f8ab e76dbbb0 e5864b7a

- xmpp:inference@inferencium.net?omemo-sid-336821633=bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a -

inference@notyour.chat (Backup)

+ xmpp:inference@inferencium.net?omemo-sid-336821633=bf2aa0692bb90210aee7e17ce3d90127cfe3502a6450f8abe76dbbb0e5864b7a +

inference@notyour.chat (Backup)

Key #0
d4c59ac0 7f65434d bc331f4c 54169ff1 872bef91 8326f819 970c87b1 c5f06c24

- xmpp:inference@notyour.chat?omemo-sid-1931255406=d4c59ac07f65434dbc331f4c54169ff1872bef918326f819970c87b1c5f06c24 + xmpp:inference@notyour.chat?omemo-sid-1931255406=d4c59ac07f65434dbc331f4c54169ff1872bef918326f819970c87b1c5f06c24
-

File/Git Signing

-

SSH

+

File/Git Signing

+

SSH

Updated: 2023-07-27 (UTC+00:00)

Each SSH key is signed by the previous key, allowing verification of the chain of keys, and root of trust.

diff --git a/music.html b/music.html index d1f6d4a..1feeb4e 100644 --- a/music.html +++ b/music.html @@ -5,7 +5,7 @@ - + @@ -39,18 +39,18 @@ 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.

diff --git a/redirect-git.html b/redirect-git.html index 2317570..fc9fa70 100644 --- a/redirect-git.html +++ b/redirect-git.html @@ -5,7 +5,7 @@ - + @@ -34,6 +34,6 @@ This redirect is valid until 2024-01-01; please update your bookmarks and/or Inferencium Git repository URIs before this date.

- Continue to src.inferencium.net

+ Continue to src.inferencium.net

diff --git a/source.html b/source.html index 23ad8b9..dd8168f 100644 --- a/source.html +++ b/source.html @@ -5,7 +5,7 @@ - + @@ -31,33 +31,33 @@

Source

-

Table of Contents

+

Table of Contents

-

Inferencium Source Code Repositories

+

Inferencium Source Code Repositories

-

My Personal Source Code Repositories

+

My Personal Source Code Repositories

    -
  • graphenechan - Graphene-chan (GrapheneOS unofficial mascot)
  • +
  • graphenechan - Graphene-chan (GrapheneOS unofficial mascot)
TypeSoftwareDescriptionSource model
+
TypeSoftwareDescriptionSource model

(License - SPDX)
Operating system
+
Operating system

GrapheneOS
GrapheneOS + GrapheneOS is a security-hardened, privacy-hardened, secure-by-default, Android-based operating system which implements extensive, systemic @@ -444,21 +444,21 @@ 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, - hardened kernel, + hardened kernel, hardened memory allocator - (hardened_malloc) + (hardened_malloc) to protect against common memory corruption vulnerabilties, - hardened Bionic standard C library, - stricter SELinux policies, + hardened Bionic standard C library, + stricter SELinux policies, and local and remote hardware-backed attestation - (Auditor) + (Auditor) to ensure the OS has not been corrupted or tampered with.

GrapheneOS only supports - high security and well-supported devices + high security and well-supported devices which receive full support from their manufacturers, including firmware updates, long support lifecycles, secure @@ -466,16 +466,16 @@
For an extensive list of features GrapheneOS provides, visit its - official features list + official features list which provides extensive documentation.
Open source
+
Open source

(MIT)
Web browser
+
Web browser

Vanadium
Vanadium is a security-hardened, privacy-hardened @@ -484,38 +484,38 @@ defenses to the already very secure Chromium web browser. Its hardening alongside Chromium's base security features includes - disabling JavaScript just-in-time (JIT) compilation by default, - stubbing out the battery status API to prevent abuse of it, + disabling JavaScript just-in-time (JIT) compilation by default, + stubbing out the battery status API to prevent abuse of it, and - always-on Incognito mode as an option.
+ always-on Incognito mode as an option.

Vanadium's source code, including its Chromium patchset, can be found in its - official repository.
Open source
+ official repository.
Open source

(GPL-2.0-only)
Messenger
+
Messenger

Molly
Molly + Molly is a security-hardened, privacy-hardened - Signal + Signal client which hardens Signal by using a variety of - unique features, + unique features, allowing - locking the database when not in use, + locking the database when not in use, and - utilising Android StrongBox + utilising Android StrongBox to protect user keys using the device's hardware security module.

Molly is available in - 2 flavours:
+ 2 flavours:
  • Molly, which includes the same proprietary Google code as Signal to @@ -526,21 +526,21 @@ entirely open-source client.
Open source
+
Open source

(GPL-3.0-only)
Messenger
+
Messenger

Conversations
Conversations + Conversations is a well-designed Android - XMPP + XMPP client which serves as the de facto XMPP reference client and has great usability.Open source
+
Open source

(GPL-3.0-only)