Skip to content

Commit 17e5d57

Browse files
ARHAEEMclaude
andcommitted
feat: publish extensions site with Discord Quiet pages
Chrome Web Store requires the homepage, support, and privacy policy URLs of a listing to be publicly reachable, and our extension sources are private repos. Plain Jekyll on a built-in GitHub Pages theme so there is no build step. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
0 parents  commit 17e5d57

5 files changed

Lines changed: 184 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Automations-Project.github.io
2+
3+
Public site for our browser extensions, served by GitHub Pages at
4+
<https://automations-project.github.io/>.
5+
6+
It exists because Chrome Web Store requires the homepage, support, and privacy policy URLs of a
7+
listing to be publicly reachable, and our extension source repositories are private.
8+
9+
## Layout
10+
11+
```
12+
_config.yml theme + site title
13+
index.md landing page, one section per extension
14+
<extension>/index.md that extension's overview + support page -> Homepage URL
15+
<extension>/privacy.md that extension's privacy policy -> Privacy policy URL
16+
```
17+
18+
Plain Jekyll with a built-in GitHub Pages theme — no build step, no dependencies. Push to `main`
19+
and Pages redeploys.
20+
21+
## Adding an extension
22+
23+
Create `<extension>/index.md` and `<extension>/privacy.md`, then add a section to `index.md`.
24+
25+
## Store URL fields
26+
27+
| Store field | URL |
28+
|---|---|
29+
| Homepage | `https://automations-project.github.io/<extension>/` |
30+
| Privacy policy | `https://automations-project.github.io/<extension>/privacy.html` |
31+
| Support | `https://github.com/Automations-Project/Automations-Project.github.io/issues` |
32+
33+
Note that Chrome takes the homepage from the extension's `homepage_url` manifest key when one is
34+
present — the dashboard field cannot override it, so the manifest has to carry the URL above.

‎_config.yml‎

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
title: Automations Project
2+
description: Browser extensions and add-ons.
3+
theme: jekyll-theme-cayman

‎discord-quiet/index.md‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Discord Quiet — Mute/UnMute All Servers
2+
3+
Mute every Discord server in your account with one click, then restore exactly what was muted
4+
before.
5+
6+
[Install for Chrome](https://chromewebstore.google.com/detail/discord-quiet-muteunmute/egcliohpbgkbdgccpehemnccpcpijahd)
7+
· [Privacy policy](privacy.html)
8+
· [Support](#support)
9+
10+
## Why restore matters
11+
12+
Bulk-muting is easy. Undoing it is where other tools lose your settings: they unmute everything,
13+
including the servers you had deliberately muted for months, and the servers you had set to
14+
"@mentions only" or had suppressed `@everyone` on.
15+
16+
Discord Quiet snapshots the full notification state of every server before it changes anything, so
17+
"Restore previous state" is lossless — muted stays muted, mention-only stays mention-only,
18+
suppression flags survive.
19+
20+
## Features
21+
22+
- Mute every server at once, and unmute every server at once
23+
- Restore the exact state that existed before the mute, not a blanket unmute
24+
- Keeps up to 10 snapshots, stored on your own device
25+
- Live progress, one tile per server, in the popup or in Chrome's side panel
26+
- Survives interruption: close the popup, close the browser, or let Chrome stop the extension's
27+
background worker mid-run, and the job resumes from where it stopped without double-applying
28+
- Respects Discord's rate limits, pacing itself instead of hammering the API
29+
30+
## Privacy in one line
31+
32+
No accounts, no analytics, no telemetry, no ads, and no server operated by this project. The
33+
extension contacts exactly one host — `discord.com` — and everything it stores stays on your
34+
device. Full detail in the [privacy policy](privacy.html).
35+
36+
## Before you install
37+
38+
Discord's Terms of Service prohibit automating a user account. Discord Quiet acts using your own
39+
account credentials, the same way the Discord app does, and accounts that automate can be
40+
terminated. The extension shows this notice and asks you to acknowledge it before first use. Use it
41+
at your own risk.
42+
43+
Requires Chrome 116 or newer, or Firefox 128 or newer.
44+
45+
## Support
46+
47+
Report a bug, ask a question, or request a feature on our
48+
[issue tracker](https://github.com/Automations-Project/Automations-Project.github.io/issues).
49+
50+
When reporting a bug, it helps a lot to include your browser and version, the extension version
51+
(shown at the bottom of the popup), roughly how many servers your account is in, and what the run
52+
reported when it finished.

‎discord-quiet/privacy.md‎

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Privacy Policy — Discord Quiet
2+
3+
**Last updated: 2026-08-12**
4+
5+
Discord Quiet does not collect, transmit, sell, or share any personal data. There is no analytics,
6+
no telemetry, no crash reporting, no advertising, and no server operated by this project. The
7+
extension talks to exactly one host — `https://discord.com` — and only to the same notification
8+
settings endpoints the official Discord web client already calls on your behalf.
9+
10+
## What the extension handles
11+
12+
| Data | Where it lives | When it is erased |
13+
|---|---|---|
14+
| Your Discord auth token | `storage.session` (browser memory) | When the browser closes |
15+
| The job currently running | `storage.session` (browser memory) | When the browser closes |
16+
| Notification snapshots (up to 10) | `storage.local` (on your device) | When you uninstall or clear extension data |
17+
| Settings (pacing delay, disclosure accepted date) | `storage.local` (on your device) | When you uninstall or clear extension data |
18+
19+
**The token is never written to disk.** It lives only in session storage, is never logged, and is
20+
never included in an error message. It is read once from an `authorization` header on a request
21+
Discord's own page makes, and is used only to authenticate the settings calls you asked for.
22+
23+
A **snapshot** is a record of your own per-server notification settings — which servers were muted,
24+
their notification level, and their suppression flags — captured before a bulk mute so the extension
25+
can put everything back exactly as it was. Snapshots contain server IDs and settings values. They do
26+
not contain messages, member lists, server names, avatars, or any other content. They stay on your
27+
device.
28+
29+
## What is sent where
30+
31+
Requests go only to `https://discord.com/api/v9`:
32+
33+
- `GET /users/@me/guilds` — the list of servers you are in
34+
- `GET /users/@me/guilds/settings` — your current notification settings, to build a snapshot
35+
- `PATCH /users/@me/guilds/settings` — applies your mute or restore
36+
37+
Nothing is sent to any other destination. There is no remote code: everything the extension runs,
38+
including its fonts, is bundled in the package you installed.
39+
40+
## Permissions and why they exist
41+
42+
| Permission | Why |
43+
|---|---|
44+
| `storage` | Save snapshots and settings locally, and hold the token in session memory |
45+
| `alarms` | Resume a paused job after a rate-limit wait longer than the background worker survives |
46+
| `sidePanel` | Show the extension's own progress UI in Chrome's side panel, so a long run stays visible after you click elsewhere |
47+
| `scripting` | Re-inject the extension's own bundled content script into an already-open Discord tab after an update, so you do not have to refresh manually |
48+
| `https://discord.com/*` | The only host the extension contacts |
49+
50+
The extension does not request `tabs` or `activeTab`, and never reads or navigates your tabs.
51+
`scripting` is scoped to `https://discord.com/*` and only ever injects a file that ships inside the
52+
extension package. The Firefox add-on requests fewer permissions still: `storage`, `alarms`, and
53+
`discord.com`.
54+
55+
## Third parties
56+
57+
None. Your data is processed by Discord under
58+
[Discord's Privacy Policy](https://discord.com/privacy) because you are using your own Discord
59+
account; this project adds no other processor.
60+
61+
## Discord's Terms of Service
62+
63+
Discord's Terms of Service prohibit automating a user account. Discord Quiet acts with your account
64+
credentials, and accounts that automate can be terminated. The extension shows this notice before
65+
first use and requires you to acknowledge it. Use it at your own risk.
66+
67+
## Your control
68+
69+
- Uninstalling the extension removes all locally stored snapshots and settings.
70+
- Closing the browser discards the token and any in-flight job.
71+
- Your browser's extension settings can clear the extension's storage at any time.
72+
73+
## Contact
74+
75+
Report a privacy concern or a security issue on our
76+
[issue tracker](https://github.com/Automations-Project/Automations-Project.github.io/issues).

‎index.md‎

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Browser extensions
2+
3+
Extensions and add-ons published by [Automations Project](https://github.com/Automations-Project).
4+
5+
## Discord Quiet — Mute/UnMute All Servers
6+
7+
Mute every Discord server at once, then restore exactly what was muted before — a real restore of
8+
your previous notification settings, not a blanket unmute.
9+
10+
- [Overview and support](discord-quiet/)
11+
- [Privacy policy](discord-quiet/privacy.html)
12+
- [Install for Chrome](https://chromewebstore.google.com/detail/discord-quiet-muteunmute/egcliohpbgkbdgccpehemnccpcpijahd)
13+
14+
---
15+
16+
## Support
17+
18+
Questions, bugs, and feature requests for any extension listed here go to
19+
[our issue tracker](https://github.com/Automations-Project/Automations-Project.github.io/issues).

0 commit comments

Comments
 (0)