Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/web/assets/screenshots
2 changes: 2 additions & 0 deletions docs/web/how-to/device-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Every row in the device list has three actions: **Allow**, **Block**, and **Reject**. Each asks how
long the decision should last.

![A device row with its Allow, Block, and Reject buttons](../assets/screenshots/02-device-action.png)

| Choice | What USBGuard does | After USBGuard restarts |
| :----- | :----------------- | :---------------------- |
| **This session only** | Changes the device's state in memory. | The policy applies again. |
Expand Down
2 changes: 2 additions & 0 deletions docs/web/how-to/diagnose.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ these states. A request to USBGuard crosses three independent checkpoints, each
different component: the **D-Bus bus policy**, then **Polkit**, then **USBGuard's own IPC access
control**. The states say which one refused.

![The diagnostics dialog: each check and its result](../assets/screenshots/05-diagnostics.png)

| Result | Exit code | Meaning | Remedy |
| :----- | :-------- | :------ | :----- |
| `connected` | 0 | Everything works. Writes are not tested in advance — the only test of a write is a write. | — |
Expand Down
4 changes: 4 additions & 0 deletions docs/web/how-to/rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,14 @@
The **Policy** page lists the rules in the order USBGuard evaluates them. The first rule that
matches a device decides, which is why the list is numbered and cannot be re-sorted.

![The Policy page: runtime parameters above, the numbered rules below](../assets/screenshots/03-policy.png)

## Add a rule

Click **Add Rule…**.

![The New Rule dialog in guided mode](../assets/screenshots/04-new-rule.png)

- **Guided** mode: choose the target (allow, block, reject), then add attributes one at a time —
`id` (`vendor:product`, e.g. `1234:5678`), `name`, `serial`, `via-port`, `with-interface`
(`class:subclass:protocol`, e.g. `08:06:50` for mass storage), and the rest. Each value is checked
Expand Down
4 changes: 3 additions & 1 deletion docs/web/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# USBGuard GUI
# USBGuardGUI

A desktop interface for [USBGuard](https://usbguard.github.io/): see which USB devices are
connected, **allow or block them**, and edit the policy — without root.
Expand All @@ -7,6 +7,8 @@ connected, **allow or block them**, and edit the policy — without root.
[How-To Guides](how-to/index.md){ .md-button }
[GitHub Repository](https://github.com/onyks-os/USBGuardGUI){ .md-button }

![The device list: each connected device with its state, and Allow, Block, and Reject buttons](assets/screenshots/01-devices.png)

---

!!! note "USBGuardGUI is a front end"
Expand Down
23 changes: 12 additions & 11 deletions docs/web/release-notes/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

Nothing is released yet. See
[ROADMAP.md](https://github.com/onyks-os/USBGuardGUI/blob/main/ROADMAP.md) for the phase order.
## [0.1.0] - 2026-09-27

The first release.

### Added

Expand All @@ -28,8 +29,15 @@ Nothing is released yet. See
- Notifications for newly inserted, unauthorized devices, with an "Allow for this session" quick
action that re-checks the device's identity before acting; background mode; a status icon
(`ksni`) where the desktop supports one; "Start at login".
- Italian translation, and the gettext pipeline for more (`po/`, `make i18n`, `docs/translating.md`).
The command-line output stays in English for bug reports.
- `cargo run --example demo-bridge`: a stand-in for USBGuard with invented devices, for screenshots
and development; development builds reach it with `USBGUARD_GUI_BUS=session`.
- Packages: `.deb` and `.rpm` (`make package-deb`, `make package-rpm`), an Arch `PKGBUILD`, and a
Flatpak manifest. No post-install scripts.
- Release pipeline: a `v*` tag builds the `.deb`, `.rpm`, Arch package, and Flatpak bundle, signs
every asset with Sigstore, publishes the GitHub Release, and publishes the crate to crates.io
(`docs/releasing.md`). Tags with a suffix are rehearsals: pre-releases, not published to crates.io.
- Read-only GTK 4 / libadwaita window: device list with filter, policy list in evaluation order,
connection indicator, diagnostic dialog with per-distribution remedies.
- Phase 0 introspection results (`docs/dbus-introspection/`, `docs/architecture.md` §13.4) and an
Expand All @@ -52,12 +60,5 @@ Nothing is released yet. See
- `docs/architecture.md`: `listRules` takes a label filter, not a query — `""` lists every rule,
`"match"` would have listed none. Found by introspection before any code depended on it.

### Deprecated

### Removed

### Fixed

### Security

[Unreleased]: https://github.com/onyks-os/USBGuardGUI/commits/main
[Unreleased]: https://github.com/onyks-os/USBGuardGUI/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/onyks-os/USBGuardGUI/releases/tag/v0.1.0
Loading