Skip to content

Commit fe5aca7

Browse files
authored
feat: a11y improvements and docs update (#12)
1 parent 8017c04 commit fe5aca7

File tree

8 files changed

+67
-68
lines changed

8 files changed

+67
-68
lines changed

_config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,4 @@ defaults:
99
values:
1010
layout: "page"
1111

12-
excludes: "README.md"
12+
exclude: ["README.md"]

assets/main.css

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,13 @@ body {
1919

2020
a {
2121
color: #1a5fb4;
22-
text-decoration: none;
22+
text-decoration: underline;
2323
}
2424

2525
a:visited {
2626
color: #613583;
2727
}
2828

29-
a:hover {
30-
text-decoration: underline;
31-
}
32-
3329
h1 a, h1 a:visited, h2 a, h2 a:visited, h3 a, h3 a:visited, h4 a, h4 a:visited, h5 a, h5 a:visited, h6 a, h6 a:visited {
3430
color: #241f31;
3531
}
@@ -143,6 +139,10 @@ var {
143139
color: #76c9f6;
144140
}
145141

142+
#site-menu ul li[aria-current]:hover a {
143+
color: #aedff9;
144+
}
145+
146146
#site-menu img {
147147
height: 1.8rem;
148148
width: 1.8rem;

content/CONTRIBUTING.md

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ permalink: /contributing
88

99
All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it a lot easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions.
1010

11-
> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
12-
> - Star the project [in GitHub](https://github.com/secureblue/secureblue)
13-
> - Tweet about it
14-
> - Refer this project in your project's readme
15-
> - Mention the project at local meetups and tell your friends/colleagues
11+
And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
12+
13+
- Star the project [in GitHub](https://github.com/secureblue/secureblue)
14+
- Tweet about it
15+
- Refer this project in your project's readme
16+
- Mention the project at local meetups and tell your friends/colleagues
1617

1718
## Table of Contents
1819

@@ -34,15 +35,17 @@ to [email protected]
3435

3536
## I Have a Question
3637

37-
> If you want to ask a question, opening a [GitHub issue](https://github.com/secureblue/secureblue) for it is preferred, but [Discord](https://discord.gg/qMTv5cKfbF) is available as well.
38+
If you want to ask a question, opening a [GitHub issue](https://github.com/secureblue/secureblue) for it is preferred, but [Discord](https://discord.gg/qMTv5cKfbF) is available as well.
3839

3940
## I Want To Contribute
4041

41-
> ### Legal Notice
42-
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
42+
### Legal Notice
43+
44+
When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.
4345

44-
> ### AI Content Policy
45-
> In the interest of accuracy, quality, and license of the project, contributing using AI generated code and content of any kind is forbidden.
46+
### AI Content Policy
47+
48+
In the interest of accuracy, quality, and license of the project, contributing using AI generated code and content of any kind is forbidden.
4649

4750
### Reporting Bugs
4851

@@ -143,7 +146,7 @@ Copy `/etc/containers/policy.json` to `~/.config/containers/policy.json` and the
143146

144147
### Making changes
145148

146-
Configuration is stored in `recipes` folder in form of YAML files. Other files to be added to the image are stored in `files`. `common` holds pluggable modules to add to your custom image. `general` and `securecore` hold configs for the desktop and server images, respectively. Documentation for modules can be found [here](https://blue-build.org/learn/getting-started/).
149+
Configuration is stored in `recipes` folder in form of YAML files. Other files to be added to the image are stored in `files`. `common` holds pluggable modules to add to your custom image. `general` and `securecore` hold configs for the desktop and server images, respectively. Modules are detailed in [BlueBuild's documentation](https://blue-build.org/learn/getting-started/).
147150

148151
### Building
149152

@@ -168,4 +171,4 @@ fix: remove broken confirmation message
168171
refactor: share logic between 4d3d3d3 and flarhgunnstow
169172
style: convert tabs to spaces
170173
test: ensure Tayne retains clothing
171-
```
174+
```

content/DONATE.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ description: "Donation options for secureblue"
44
permalink: /donate
55
---
66

7+
# Donate
8+
79
All donations are appreciated. Sponsors get a role on the [Discord](https://discord.gg/qMTv5cKfbF) if desired. If you've donated but haven't yet been tagged with the role, please reach out to RoyalOughtness.
810

911
There are multiple options available for donation:
@@ -14,24 +16,24 @@ There are multiple options available for donation:
1416

1517
## Bitcoin
1618

17-
<img src="/assets/bitcoin.png" width=200 />
19+
<img alt="Bitcoin donation QR code" src="/assets/bitcoin.png" width=200 />
1820

1921
`bc1qj4nxpfhsgj3f7w8c2689kq865apfla2jyxgaem`
2022

2123
## Monero
2224

23-
<img src="/assets/monero.png" width=200 />
25+
<img alt="Monero donation QR code" src="/assets/monero.png" width=200 />
2426

2527
`43fry9taGiwhAtNYEZNfssdzJ8Ra12ewAbQoVsvFzoLS6qMSgsE2FvE7xY52rAnKjPL5r2N88KYvqXpthUfSwa23K1BBMD9`
2628

2729
## Litecoin
2830

29-
<img src="/assets/litecoin.png" width=200 />
31+
<img alt="Litecoin donation QR code" src="/assets/litecoin.png" width=200 />
3032

3133
`ltc1q65hpetza8stgje640pcn25mef6xpdzxqazcawq`
3234

3335
## Ethereum
3436

35-
<img src="/assets/ethereum.png" width=200 />
37+
<img alt="Ethereum donation QR code" src="/assets/ethereum.png" width=200 />
3638

3739
`0x10289B51aEF109BBc07F68341F2Df8Ef60a5b618`

content/FAQ.md

Lines changed: 29 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ permalink: /faq
66

77
# FAQ
88

9-
Table of contents:
9+
## Table of contents:
1010
- [Why is Flatpak included? Should I use Flatpak?](#flatpak)
1111
- [Should I use Electron apps? Why don't they work well with hardened_malloc?](#electron)
1212
- [My fans are really loud, is this normal?](#fans)
@@ -22,7 +22,6 @@ Table of contents:
2222
- [Why doesn't my Xwayland app work?](#xwayland)
2323
- [Why I can't install nor use any GNOME user extensions?](#gnome-extensions)
2424
- [My clock is wrong and it's not getting automatically set. How do I fix this?](#clock)
25-
- [Why is DNS broken on my secureblue VM?](#vm-dns)
2625
- [How do I get notified of new releases?](#releases)
2726
- [Why don't my AppImages work?](#appimage)
2827
- [Why don't KDE Vaults work?](#kde-vaults)
@@ -34,38 +33,38 @@ Table of contents:
3433
- [Why don't extensions work in `hardened-chromium`?](#hardened-chromium-extensions)
3534
- [How do I customize secureblue?](#customization)
3635

37-
#### Why is Flatpak included? Should I use Flatpak?
36+
### Why is Flatpak included? Should I use Flatpak?
3837
{: #flatpak}
3938

4039
Consult our <a href="/articles/flatpak">Flatpak article</a>.
4140

42-
#### Should I use Electron apps? Why don't they work well with hardened_malloc?
41+
### Should I use Electron apps? Why don't they work well with hardened_malloc?
4342
{: #electron}
4443

4544
[https://github.com/secureblue/secureblue/issues/193#issuecomment-1953323680](https://github.com/secureblue/secureblue/issues/193#issuecomment-1953323680)
4645

47-
#### My fans are really loud, is this normal?
46+
### My fans are really loud, is this normal?
4847
{: #fans}
4948

5049
During rpm-ostree operations, it's normal. Outside of that, make sure you followed the NVIDIA steps in the [post-install instructions](/post-install#nvidia) if you're using an NVIDIA GPU.
5150

52-
#### Should I use firejail?
51+
### Should I use firejail?
5352
{: #firejail}
5453

5554
[No](https://madaidans-insecurities.github.io/linux.html#firejail), use ``bubblejail`` if there's no flatpak available for an app.
5655

57-
#### An app I use won't start due to a malloc issue. How do I fix it?
56+
### An app I use won't start due to a malloc issue. How do I fix it?
5857
{: #standard-malloc}
5958

6059
- For flatpaks, remove the `LD_PRELOAD` environment variable via Flatseal. To re-enable hardened_malloc for the respective flatpak, replace the removed variable.
6160
- For layered packages and packages installed via brew, run the application with `ujust with-standard-malloc APP`. This starts the app without hardened_malloc only once, it does not disable hardened_malloc for the app persistently.
6261

63-
#### On secureblue half of my CPU cores are gone. Why is this?
62+
### On secureblue half of my CPU cores are gone. Why is this?
6463
{: #smt}
6564

6665
`mitigations=auto,nosmt` is set on secureblue. This means that if your CPU is vulnerable to attacks that utilize [Simultaneous Multithreading](https://en.wikipedia.org/wiki/Simultaneous_multithreading), SMT will be disabled.
6766

68-
#### How do I install software?
67+
### How do I install software?
6968
{: #software}
7069

7170
1. Check if it's already installed using `rpm -qa | grep x`
@@ -75,19 +74,19 @@ During rpm-ostree operations, it's normal. Outside of that, make sure you follow
7574

7675
Steam is an exception to the above.
7776

78-
#### How do I install Steam?
77+
### How do I install Steam?
7978
{: #steam}
8079

8180
```
8281
ujust install-steam
8382
```
8483

85-
#### Another security project has a feature that's missing in secureblue, can you add it?
84+
### Another security project has a feature that's missing in secureblue, can you add it?
8685
{: #feature-request}
8786

88-
First check [this](/#hardening) on whether it already lists an equivalent or better feature. If it doesn't, open a new [GitHub issue](https://github.com/secureblue/secureblue/issues).
87+
First check our [features list](/features) on whether it already lists an equivalent or better feature. If it doesn't, open a new [GitHub issue](https://github.com/secureblue/secureblue/issues).
8988

90-
#### Why are bluetooth kernel modules disabled? How do I enable them?
89+
### Why are bluetooth kernel modules disabled? How do I enable them?
9190
{: #bluetooth}
9291

9392
Bluetooth has a long and consistent history of security issues. However, if you still need it, run:
@@ -96,12 +95,12 @@ Bluetooth has a long and consistent history of security issues. However, if you
9695
ujust toggle-bluetooth-modules
9796
```
9897

99-
#### Why are upgrades so large?
98+
### Why are upgrades so large?
10099
{: #upgrade-size}
101100

102101
This is an issue with rpm-ostree image-based systems generally, and not specific to secureblue. Ideally upgrades would come in the form of a zstd-compressed container diff, but it's not there yet. Check out [this upstream issue](https://github.com/coreos/rpm-ostree/issues/4012) for more information.
103102

104-
#### Why can't I install new KDE themes?
103+
### Why can't I install new KDE themes?
105104
{: #ghns}
106105

107106
The functionality that provides this, called GHNS, is disabled by default due to the risk posed by the installation of potentially damaging or malicious scripts. This has caused [real damage](https://blog.davidedmundson.co.uk/blog/kde-store-content/).
@@ -112,7 +111,7 @@ If you still want to enable this functionality, run:
112111
ujust toggle-ghns
113112
```
114113

115-
#### Why doesn't my Xwayland app work?
114+
### Why doesn't my Xwayland app work?
116115
{: #xwayland}
117116

118117
Xwayland is disabled by default on GNOME, KDE Plasma, and Sway. If you need it, run:
@@ -121,7 +120,7 @@ Xwayland is disabled by default on GNOME, KDE Plasma, and Sway. If you need it,
121120
ujust toggle-xwayland
122121
```
123122

124-
#### Why I can't install nor use any GNOME user extensions?
123+
### Why I can't install nor use any GNOME user extensions?
125124
{: #gnome-extensions}
126125

127126
This is because support for installing & using them has been intentionally disabled by default in secureblue.
@@ -133,26 +132,21 @@ To enable support for installing GNOME user extensions, you can run ujust comman
133132
ujust toggle-gnome-extensions
134133
```
135134

136-
#### My clock is wrong and it's not getting automatically set. How do I fix this?
135+
### My clock is wrong and it's not getting automatically set. How do I fix this?
137136
{: #clock}
138137

139138
If your system time is off by an excessive amount due to rare conditions like a CMOS reset, your network will not connect. A one-time manual reset will fix this. This should never be required except under very rare circumstances.
140139

141140
For more technical detail, see [#268](https://github.com/secureblue/secureblue/issues/268)
142141

143-
#### Why is DNS broken on my secureblue VM?
144-
{: #vm-dns}
145-
146-
The DNSSEC setting we set in `/etc/systemd/resolved.conf.d/securedns.conf` causes known issues with network connectivity when secureblue is used in a VM. To fix it, comment out `DNSSEC=allow-downgrade` in that file and manually set a dns provider in network settings.
147-
148-
#### How do I get notified of new releases?
142+
### How do I get notified of new releases?
149143
{: #releases}
150144

151145
To subscribe to release notifications, on the secureblue GitHub page, click "Watch", and then "Custom", and select Releases like so:
152146

153-
![image](/assets/release-notifications.png)
147+
<img alt="GitHub screenshot" src="/assets/release-notifications.png" />
154148

155-
#### Why don't my AppImages work?
149+
### Why don't my AppImages work?
156150
{: #appimage}
157151

158152
AppImages depend on fuse2, which is unmaintained and depends on a suid root binary. For this reason, fuse2 support is removed by default. It's strongly recommended that you find alternative mechanisms to install your applications (flatpak, distrobox, etc). If you can't find an alternative and still need fuse2, you can add it back by layering something that depends on it.
@@ -163,19 +157,19 @@ For example:
163157
rpm-ostree install zfs-fuse
164158
```
165159

166-
#### Why don't KDE Vaults work?
160+
### Why don't KDE Vaults work?
167161
{: #kde-vaults}
168162

169163
Similar to the AppImage FAQ, the KDE Vault default backend `cryfs` depends on fuse2. For this reason it's recommended that you migrate to an alternative that doesn't depend on fuse2, for example `fscrypt`. If you don't want to do so, you can add fuse2 back by layering something that depends on it, as described in the AppImage FAQ.
170164

171-
#### How do I provision signed distroboxes?
165+
### How do I provision signed distroboxes?
172166
{: #distrobox-assemble}
173167

174168
```
175169
ujust distrobox-assemble
176170
```
177171

178-
#### Why aren't my apps loading on Nvidia Optimus?
172+
### Why aren't my apps loading on Nvidia Optimus?
179173
{: #nvidia-optimus}
180174

181175
There is an [upstream bug](https://discussion.fedoraproject.org/t/gdk-message-error-71-protocol-error-dispatching-to-wayland-display/127927/21). You may need to run:
@@ -186,32 +180,32 @@ mkdir -p ~/.config/environment.d && echo "GSK_RENDERER=gl" >> ~/.config/environm
186180

187181
This should no longer be required as of F41: https://discussion.fedoraproject.org/t/gdk-message-error-71-protocol-error-dispatching-to-wayland-display/127927/42
188182

189-
#### Why won't `hardened-chromium` start?
183+
### Why won't `hardened-chromium` start?
190184
{: #hardened-chromium-start}
191185

192186
Try starting `hardened-chromium` from the commandline by running `chromium-browser`. If you get an error about the current profile already running on another device, this is an issue with upstream chromium which can happen when you `rpm-ostree update` or `rpm-ostree rebase`. To fix this, simply run `rm ~/.config/chromium/SingletonLock`.
193187

194188
`bubblejail` **SHOULD NOT** be used on `hardened-chromium`, there are issues reported with the pairing and removing the `bubblejail` config after it is applied can be difficult. It should also be noted that applying additional sandboxing may interfere with chromium's own internal sandbox, so it can end up reducing security.
195189

196-
#### Why won't `hardened-chromium` start on Nvidia?
190+
### Why won't `hardened-chromium` start on Nvidia?
197191
{: #hardened-chromium-start-nvidia}
198192

199193
On some Nvidia machines, `hardened-chromium` defaults to the X11 backend. Since secureblue disables Xwayland by default, this means that you will need to run `ujust toggle-xwayland` and reboot, for `hardened-chromium` to work.
200194

201-
#### Why don't some websites that require JIT/WebAssembly work in `hardened-chromium` even with the V8 Optimizer toggle enabled?
195+
### Why don't some websites that require JIT/WebAssembly work in `hardened-chromium` even with the V8 Optimizer toggle enabled?
202196
{: #hardened-chromium-exceptions}
203197

204198
This is an [upstream bug](https://issues.chromium.org/issues/373893056) that prevents V8 optimization settings from being applied to iframes embedded within a parent website. As a result, WebAssembly may not function on services that use a separate URL for their content delivery network or other included domains, such as VSCode Web ([https://github.dev](https://github.dev)). To make VSCode Web work properly, you need to manually allow V8 optimizations for the CDN by adding `https://[*.]vscode-cdn.net` to your list of trusted websites.
205199

206-
#### Why don't extensions work in `hardened-chromium`?
200+
### Why don't extensions work in `hardened-chromium`?
207201
{: #hardened-chromium-extensions}
208202

209203
Extensions in `hardened-chromium` are disabled by default, for security reasons it is not advised to use them. If you want content/ad blocking, that is already built into `hardened-chromium` and enabled by default. If you require extensions, you can re-enable them by disabling the `Disable Extensions` toggle under `chrome://settings/security`, then restart your browser (this toggle is per-profile).
210204
\
211205
\
212206
If the extension you installed doesn't work, it is likely because it requires WebAssembly (WASM) for some cryptographic library or some other optimizations (this is the case with the Bitwarden extension). To re-enable JavaScript JIT and WASM for extensions, enable the feature `chrome://flags/#internal-page-jit`.
213207

214-
#### How do I customize secureblue?
208+
### How do I customize secureblue?
215209
{: #customization}
216210

217-
If you want to add your own customizations on top of secureblue, you are advised strongly against forking. Instead, create a repo for your own image by using the [BlueBuild template](https://github.com/blue-build/template), then change your `base-image` to a secureblue image. This will allow you to apply your customizations to secureblue in a concise and maintainable way, without the need to constantly sync with upstream. For local development, [building locally](/contributing#building-locally) is the recommended approach.
211+
If you want to add your own customizations on top of secureblue, you are advised strongly against forking. Instead, create a repo for your own image by using the [BlueBuild template](https://github.com/blue-build/template), then change your `base-image` to a secureblue image. This will allow you to apply your customizations to secureblue in a concise and maintainable way, without the need to constantly sync with upstream. For local development, [building locally](/contributing#building-locally) is the recommended approach.

0 commit comments

Comments
 (0)