release: v1.2.6-pre1

- Various website improvements (CSS)
 - Adjust keyring path use the new relative path: pgp/anonymousplanet.asc
 - 02-sign.yml: use a fpr match to lock a specific key
 - 02-sign.yml: quick mkdir -p repo/export before copying files to the dir ^_^
 - Moved the Acknowledgements section to the bottom
 - COM Class Identifiers (CLSID/GUID) (NEW)
 - Windows Global Device Identifier (GDID) (NEW)
 - USB bus telemetry (device enumeration history) (NEW)
 - Glossary (`docs/includes/glossary.md`) and removed inline expansions where applicable

Signed-off-by: nopeitsnothing <no@anonymousplanet.net>
This commit is contained in:
nopeitsnothing
2026-07-12 01:16:16 -04:00
parent 444b5e416e
commit 40e88da30a
27 changed files with 14269 additions and 12951 deletions
+12 -6
View File
@@ -1,22 +1,28 @@
<!-- markdownlint-disable MD041 -->
<div align="center"> <div align="center">
<a href="https://anonymousplanet.net"> <a href="https://anonymousplanet.net">
<img src="https://anonymousplanet.net/media/profile.png"></a> <img src="https://anonymousplanet.net/media/anon_planet.svg"></a>
<p><em>The comprehensive guide for online anonymity and OpSec.</em></p> <p><em>The comprehensive guide for online anonymity and OpSec.</em></p>
<a href="https://github.com/Anon-Planet/thgtoa/stargazers"> <a href="https://github.com/Anon-Planet/thgtoa/stargazers">
<img src="https://img.shields.io/github/stars/Anon-Planet?style=social"></a> <img src="https://img.shields.io/github/stars/Anon-Planet?style=social"></a>
<a href="https://github.com/Anon-Planet/thgtoa/actions/workflows/03-release.yml">
<img src="https://img.shields.io/github/actions/workflow/status/Anon-Planet/thgtoa/03-release.yml?label=build"></a>
<a href="https://github.com/Anon-Planet/thgtoa/releases/latest"> <a href="https://github.com/Anon-Planet/thgtoa/releases/latest">
<img src="https://img.shields.io/badge/MkDocs_Material-526CFE?logo=MaterialForMkDocs&logoColor=green"></a> <img src="https://img.shields.io/github/v/release/Anon-Planet/thgtoa?include_prereleases&sort=semver&display_name=tag&style=flat&logo=github&logoColor=green&labelColor=black&color=black"></a>
<a href="https://github.com/Anon-Planet/thgtoa/actions/workflows/release.yml"> <a href="https://opencollective.com/thgtoa">
<img src="https://img.shields.io/github/actions/workflow/status/Anon-Planet/thgtoa/release.yml?label=release"></a></p> <img src="https://img.shields.io/opencollective/backers/thgtoa?style=flat&logo=open-collective&logoColor=white&label=Open%20Collective%20backers"></a>
<a href="https://github.com/Anon-Planet/thgtoa/issues">
<img src="https://img.shields.io/github/issues-closed/Anon-Planet/thgtoa?style=flat&logo=github&labelColor=rgba(0%2C%20255%2C%200%2C%200.05)&color=green"></a>
</p>
</div> </div>
Welcome. Welcome.
This is a guide with the aim of providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. <span style="color: red">**It is written with hope for activists, journalists, scientists, lawyers, whistle-blowers, and good people being oppressed, censored, harassed anywhere!**</span> This guide has no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) <sup>[[Wikiless]](https://wikiless.com/wiki/Anonymous_(hacker_group))</sup> <sup>[[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Anonymous_(hacker_group))</sup> collective/movement. The purpose: providing an introduction to various online tracking techniques, online ID verification techniques, and detailed guidance to creating and maintaining (truly) anonymous online identities. <span style="color: red">**It is written with hope for activists, journalists, scientists, lawyers, whistle-blowers, and good people being oppressed, censored, and harassed anywhere!**</span> This guide has no affiliation with the [Anonymous](https://en.wikipedia.org/wiki/Anonymous_(hacker_group)) <sup>[[Wikiless]](https://wikiless.com/wiki/Anonymous_(hacker_group))</sup> <sup>[[Archive.org]](https://web.archive.org/web/https://en.wikipedia.org/wiki/Anonymous_(hacker_group))</sup> collective/movement.
This guide is an open-source non-profit initiative, [licensed](LICENSE.html) under **Creative Commons Attribution-ShareAlike 4.0 International** ([cc-by-sa-4.0](https://creativecommons.org/licenses/by-sa/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-sa/4.0/)</sup>) and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **excluding commercially** as long as you do attribute it. There are no ads or any affiliate links. The website and projects are free (as in freedom) and not affiliated with any donor or projects discussed, [licensed](LICENSE.html) under **Creative Commons Attribution-ShareAlike 4.0 International** ([cc-by-sa-4.0](https://creativecommons.org/licenses/by-sa/4.0/) <sup>[[Archive.org]](https://web.archive.org/web/https://creativecommons.org/licenses/by-sa/4.0/)</sup>), and is **not sponsored/endorsed by any commercial/governmental entity**. This means that you are free to use our guide for pretty much any purpose **including commercially** as long as you attribute it. There are no ads or any affiliate links.
**If you would like to make a donation to help this project, you can do so from [here](donations.html) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.** **If you would like to make a donation to help this project, you can do so from [here](donations.html) where you will also find the project goals. All the donations will be strictly used within the context of this project. All donations and spendings are logged on the donations page.**
+23 -2
View File
@@ -13,7 +13,6 @@ schema:
sameAs: sameAs:
- https://github.com/Anon-Planet - https://github.com/Anon-Planet
- https://opencollective.com/anonymousplanetorg - https://opencollective.com/anonymousplanetorg
- https://mastodon.social/@anonymousplanet
--- ---
<div class="hero-block"> <div class="hero-block">
@@ -47,6 +46,28 @@ We are high-risk individuals. We do this because it matters.
--- ---
## Maintainers { #maintainers }
<div class="maintainer-bio">
<img src="../media/nope-keyoxide-profile.png" alt="nope" class="maintainer-avatar">
<div class="maintainer-text" markdown="1">
Nope -- background in signals intelligence (SIGINT), software engineering, "hacking", privacy software engineering, operational security, drone piloting and repair. Years ago, I realized there really wasn't a definitive guide for whistleblowers, without having to dig on various sites including darknet locations that could provide potentially incorrect or misleading information. I haven't stopped working on that since. We're the people this guide is written for - the threat model isn't hypothetical for us. I stay anonymous by necessity, not preference. Previously this project was ran by Lena, the founder and a few other people with various backgrounds. Obviously, not much else can be said, but we are active members of the intelligence community (IC) and privacy/security circles. We strive to be the definitive source, not just a glorified recommendation website.
</div>
</div>
<!-- <div class="maintainer-bio">
<img src="../media/daskolburn-keyoxide-profile.png" alt="daskolburn" class="maintainer-avatar">
<div class="maintainer-text" markdown="1">
<>
</div>
</div> -->
---
## Community { #community } ## Community { #community }
<div class="index-grid"> <div class="index-grid">
@@ -62,7 +83,7 @@ We are high-risk individuals. We do this because it matters.
<div class="index-card"> <div class="index-card">
<h3 class="index-card__title">Mastodon</h3> <h3 class="index-card__title">Mastodon</h3>
<p class="index-card__body">Follow us for announcements on the Fediverse.</p> <p class="index-card__body">Follow us for announcements on the Fediverse.</p>
<a href="https://ioc.exchange/@anonymousplanet" class="index-card__link" rel="me">@anonymousplanet@ioc.exchange</a> <a href="https://ioc.exchange/@unknown" class="index-card__link" rel="me">@unknown@ioc.exchange</a>
</div> </div>
<div class="index-card"> <div class="index-card">
+24 -1
View File
@@ -11,7 +11,6 @@ schema:
sameAs: sameAs:
- https://github.com/Anon-Planet - https://github.com/Anon-Planet
- https://opencollective.com/anonymousplanetorg - https://opencollective.com/anonymousplanetorg
- https://mastodon.social/@anonymousplanet
--- ---
<div class="hero-block"> <div class="hero-block">
@@ -31,6 +30,29 @@ schema:
<!-- Change nothing below this line, please. --> <!-- Change nothing below this line, please. -->
--- ---
## [v1.2.6-pre1]
!!! Note "Meta"
- Various website improvements (CSS)
!!! Note "Changed"
- Adjust keyring path use the new relative path: pgp/anonymousplanet.asc
- 02-sign.yml: use a fpr match to lock a specific key
- 02-sign.yml: quick mkdir -p repo/export before copying files to the dir
- Moved the Acknowledgements section to the bottom
!!! Note "Added"
- COM Class Identifiers (CLSID/GUID) (NEW)
- Windows Global Device Identifier (GDID) (NEW)
- USB bus telemetry (device enumeration history) (NEW)
!!! Note "Improved"
- Glossary (`docs/includes/glossary.md`) and removed inline expansions where applicable
## [v1.2.5] ## [v1.2.5]
!!! Note "Meta" !!! Note "Meta"
@@ -148,6 +170,7 @@ First automated PDF build and the start of the CI pipeline.
--- ---
[v1.2.6-pre1]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.6-pre1
[v1.2.5]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.5 [v1.2.5]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.5
[v1.2.4]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.4 [v1.2.4]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.4
[v1.2.3]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.3 [v1.2.3]: https://github.com/Anon-Planet/thgtoa/releases/tag/v1.2.3
+1 -1
View File
@@ -19,7 +19,7 @@ hide:
</div> </div>
<div class="donate-goals-block"> <div class="donate-goals-block">
<h2 class="donate-goals-title">Current Goals</h2> <h3 class="donate-goals-title">Current Goals</h3>
<ul class="donate-goals-list"> <ul class="donate-goals-list">
<li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> VPS for .onion hosting <strong>funded</strong></li> <li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> VPS for .onion hosting <strong>funded</strong></li>
<li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> Domain <code>anonymousplanet.net</code> — <strong>secured until 2029</strong></li> <li class="donate-goal donate-goal--done"><span class="donate-goal-icon">✓</span> Domain <code>anonymousplanet.net</code> — <strong>secured until 2029</strong></li>
+12970 -12932
View File
File diff suppressed because it is too large Load Diff
+101
View File
@@ -0,0 +1,101 @@
<!-- Abbreviation definitions. No prose. -->
<!-- markdownlint-disable MD041 -->
*[AEM]: Anti Evil Maid
*[AES]: Advanced Encryption Standard
*[AML]: Anti-Money Laundering
*[APT]: Advanced Persistent Threat
*[ARP]: Address Resolution Protocol
*[ASLR]: Address Space Layout Randomization
*[BGP]: Border Gateway Protocol
*[BIOS]: Basic Input/Output System
*[CA]: Certificate Authority
*[CDN]: Content Delivery Network
*[CLI]: Command Line Interface
*[CLSID]: COM Class Identifiers
*[CNAME]: Canonical Name (DNS record type)
*[CRL]: Certificate Revocation List
*[CSP]: Content Security Policy
*[CT]: Certificate Transparency
*[CVE]: Common Vulnerabilities and Exposures
*[DDoS]: Distributed Denial of Service
*[DEA]: Disposable Email Address
*[DEP]: Data Execution Prevention
*[DHCP]: Dynamic Host Configuration Protocol
*[DNS]: Domain Name System
*[DNSSEC]: Domain Name System Security Extensions
*[DoH]: DNS over HTTPS
*[DoS]: Denial of Service
*[DoT]: DNS over TLS
*[DRM]: Digital Rights Management
*[DSP]: Digital Signal Processor
*[ECH]: Encrypted Client Hello
*[ECPA]: Electronic Communications Privacy Act
*[EFF]: Electronic Frontier Foundation
*[EIDV]: Electronic Identity Verification
*[EXIF]: Exchangeable Image File Format
*[FIDO]: Fast Identity Online
*[FISA]: Foreign Intelligence Surveillance Act
*[FOSS]: Free and Open-Source Software
*[FSB]: Federal Security Service (Russian Federation)
*[GDID]: Global Device Identifier (Windows OS)
*[GDPR]: General Data Protection Regulation
*[GEOINT]: Geospatial Intelligence
*[GFW]: Great Firewall of China
*[GSM]: Global System for Mobile Communications
*[HUMINT]: Human Intelligence
*[IANAL]: I Am Not A Lawyer
*[ICMP]: Internet Control Message Protocol
*[IMEI]: International Mobile Equipment Identity
*[IMSI]: International Mobile Subscriber Identity
*[IoT]: Internet of Things
*[ISP]: Internet Service Provider
*[IV]: Initialization Vector
*[KDF]: Key Derivation Function
*[KYC]: Know Your Customer
*[LUKS]: Linux Unified Key Setup
*[MAC]: Media Access Control (hardware address) or Message Authentication Code
*[MITM]: Man-in-the-Middle
*[MNO]: Mobile Network Operator
*[MTU]: Maximum Transmission Unit
*[NAT]: Network Address Translation
*[NIST]: National Institute of Standards and Technology
*[NLP]: Natural Language Processing
*[NTFS]: New Technology File System
*[OEM]: Original Equipment Manufacturer
*[OPSec]: Operational Security
*[OPSEC]: Operational Security
*[OSINT]: Open-Source Intelligence
*[OTP]: One-Time Password or One-Time Pad
*[PGP]: Pretty Good Privacy
*[PKI]: Public Key Infrastructure
*[POP]: Point of Presence
*[PQ]: Post-Quantum
*[PQXDH]: Post-Quantum Extended Diffie-Hellman
*[PSP]: A hardware-based security subsystem built into AMD processors
*[PTR]: Pointer (DNS record type)
*[QUIC]: Quick UDP Internet Connections
*[RF]: Radio Frequency
*[RSA]: Rivest-Shamir-Adleman (asymmetric cryptographic algorithm)
*[SDR]: Software-Defined Radio
*[SIGINT]: Signals Intelligence
*[SNI]: Server Name Indication
*[SOC]: System on a Chip or Security Operations Center
*[SSH]: Secure Shell
*[SSL]: Secure Sockets Layer
*[SSID]: Service Set Identifier (Wi-Fi network name)
*[TCP]: Transmission Control Protocol
*[TLS]: Transport Layer Security
*[TOR]: The Onion Router
*[Tor]: The Onion Router
*[TPM]: Trusted Platform Module
*[UA]: User Agent
*[UEFI]: Unified Extensible Firmware Interface
*[UUID]: Universally Unique Identifier
*[VoIP]: Voice over Internet Protocol
*[VPN]: Virtual Private Network
*[WebRTC]: Web Real-Time Communication
*[XMPP]: Extensible Messaging and Presence Protocol
*[XMP]: Extensible Metadata Platform
*[XSS]: Cross-Site Scripting
*[XTLS]: XTLS Protocol (Xray TLS)
+1 -4
View File
@@ -7,15 +7,12 @@ schema:
"@id": https://anonymousplanet.net/ "@id": https://anonymousplanet.net/
name: Anonymous Planet name: Anonymous Planet
url: https://anonymousplanet.net/ url: https://anonymousplanet.net/
logo: media/profile.png logo: media/profile.svg
sameAs: sameAs:
- https://github.com/Anon-Planet - https://github.com/Anon-Planet
- https://opencollective.com/anonymousplanetorg - https://opencollective.com/anonymousplanetorg
- https://mastodon.social/@anonymousplanet
--- ---
<div class="hero-block"> <div class="hero-block">
<div class="hero-eyebrow">Anonymous Planet presents</div>
<h1 class="hero-title">The Hitchhiker's Guide<br><span class="hero-subtitle">to Online Anonymity (and Privacy)</span></h1> <h1 class="hero-title">The Hitchhiker's Guide<br><span class="hero-subtitle">to Online Anonymity (and Privacy)</span></h1>
<p class="hero-tagline"> <p class="hero-tagline">
You are being tracked. Your metadata is being sold. Your identity is a product. This guide is your manual out. You are being tracked. Your metadata is being sold. Your identity is a product. This guide is your manual out.
Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

+79
View File
@@ -0,0 +1,79 @@
<svg width="100%" viewBox="0 0 680 260" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet</title>
<desc>A hacker terminal style logo: an eye shape with a curved orbital arc passing through it and a small satellite riding the arc, set inside a bracket frame</desc>
<style>
.ap-frame { stroke: #0a8a3d80; }
.ap-fill { fill: #eef6ee; }
.ap-line { stroke: #0a8a3d; }
.ap-line-faint { stroke: #0a8a3d80; }
.ap-core { fill: #007a3d; }
.ap-accent { stroke: #007a3d; }
.ap-accent-fill { fill: #007a3d; }
[data-md-color-scheme="slate"] .ap-frame { stroke: #0b850080; }
[data-md-color-scheme="slate"] .ap-fill { fill: #0f1f0f; }
[data-md-color-scheme="slate"] .ap-line { stroke: #039634; }
[data-md-color-scheme="slate"] .ap-line-faint { stroke: #0b850080; }
[data-md-color-scheme="slate"] .ap-core { fill: #00f080; }
[data-md-color-scheme="slate"] .ap-accent { stroke: #00f080; }
[data-md-color-scheme="slate"] .ap-accent-fill { fill: #00f080; }
@media (prefers-color-scheme: dark) {
.ap-frame { stroke: #0b850080; }
.ap-fill { fill: #0f1f0f; }
.ap-line { stroke: #039634; }
.ap-line-faint { stroke: #0b850080; }
.ap-core { fill: #00f080; }
.ap-accent { stroke: #00f080; }
.ap-accent-fill { fill: #00f080; }
}
</style>
<defs>
<marker id="ap-arrow" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="6" markerHeight="6" orient="auto-start-reverse"><path d="M2 1L8 5L2 9" fill="none" stroke="context-stroke" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/></marker>
</defs>
<path class="ap-frame" d="M250 40 L230 40 L230 110" fill="none" stroke-width="1.5"/>
<path class="ap-frame" d="M430 40 L450 40 L450 110" fill="none" stroke-width="1.5"/>
<path class="ap-frame" d="M250 220 L230 220 L230 150" fill="none" stroke-width="1.5"/>
<path class="ap-frame" d="M430 220 L450 220 L450 150" fill="none" stroke-width="1.5"/>
<path class="ap-fill ap-line" d="M255 130 C 285 85, 395 85, 425 130 C 395 175, 285 175, 255 130 Z" stroke-width="0.75"/>
<circle class="ap-line" cx="340" cy="130" r="32" fill="none" stroke-width="0.5"/>
<circle class="ap-core" cx="340" cy="130" r="13" opacity="0.10"/>
<circle class="ap-line" cx="340" cy="130" r="13" fill="none" stroke-width="0.5"/>
<g class="ap-line-faint" stroke-width="0.5">
<line x1="340" y1="98" x2="340" y2="106"/>
<line x1="340" y1="154" x2="340" y2="162"/>
<line x1="308" y1="130" x2="316" y2="130"/>
<line x1="364" y1="130" x2="372" y2="130"/>
</g>
<circle class="ap-core" cx="340" cy="130" r="2.5"/>
<g>
<circle class="ap-fill ap-line" cx="255" cy="130" r="3" stroke-width="1"/>
<circle class="ap-fill ap-line" cx="425" cy="130" r="3" stroke-width="1"/>
<circle class="ap-fill ap-line" cx="295" cy="98" r="2.5" stroke-width="1"/>
<circle class="ap-fill ap-line" cx="385" cy="98" r="2.5" stroke-width="1"/>
<circle class="ap-fill ap-line" cx="295" cy="162" r="2.5" stroke-width="1"/>
<circle class="ap-fill ap-line" cx="385" cy="162" r="2.5" stroke-width="1"/>
</g>
<path class="ap-accent" d="M225 185 C 300 130, 380 130, 455 75" fill="none" stroke-width="2" stroke-linecap="round"/>
<circle class="ap-accent-fill" cx="225" cy="185" r="3"/>
<circle class="ap-accent-fill" cx="455" cy="75" r="3"/>
<g transform="translate(403, 95) rotate(-32)">
<rect class="ap-fill ap-accent" x="-7" y="-5" width="14" height="10" rx="1.5" stroke-width="1"/>
<rect class="ap-accent" x="-22" y="-2" width="12" height="4" fill="none" stroke-width="0.75"/>
<line class="ap-accent" x1="-22" y1="0" x2="-10" y2="0" stroke-width="0.5"/>
<rect class="ap-accent" x="10" y="-2" width="12" height="4" fill="none" stroke-width="0.75"/>
<line class="ap-accent" x1="10" y1="0" x2="22" y2="0" stroke-width="0.5"/>
<line class="ap-accent" x1="0" y1="-5" x2="0" y2="-11" stroke-width="0.75"/>
<circle class="ap-accent-fill" cx="0" cy="-11" r="1.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg width="220" height="220" viewBox="0 0 220 220" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet favicon mark: a simplified eye outline with a solid pupil</title>
<desc>A minimal eye outline with a filled pupil, simplified for legibility at very small sizes such as a browser favicon.</desc>
<path d="M 25,110 Q 110,64 195,110 Q 110,156 25,110 Z" fill="none" stroke="#00f080" stroke-width="6" stroke-linejoin="round"/>
<circle cx="110" cy="110" r="17" fill="#060d06" stroke="#00f080" stroke-width="3"/>
<circle cx="110" cy="110" r="5" fill="#00f080"/>
</svg>

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

+7
View File
@@ -0,0 +1,7 @@
<svg width="220" height="220" viewBox="0 0 220 220" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet favicon mark: a simplified eye outline with a solid pupil</title>
<desc>A minimal eye outline with a filled pupil, simplified for legibility at very small sizes such as a browser favicon.</desc>
<path d="M 25,110 Q 110,64 195,110 Q 110,156 25,110 Z" fill="none" stroke="#4a3800" stroke-width="6" stroke-linejoin="round"/>
<circle cx="110" cy="110" r="17" fill="#1a1a1a" stroke="#4a3800" stroke-width="3"/>
<circle cx="110" cy="110" r="5" fill="#4a3800"/>
</svg>

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg width="220" height="150" viewBox="0 0 220 150" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet mark: a simplified eye with a striated iris and crosshair reticle</title>
<desc>A standalone eye mark with a radially striated iris and a crosshair target reticle over the pupil, used as a compact icon without the full seal border.</desc>
<path d="M 29,72 Q 110,29 191,72" fill="none" stroke="#00f080" stroke-width="1" opacity="0.45"/>
<path d="M 25,80 Q 110,34 195,80 Q 110,126 25,80 Z" fill="none" stroke="#00f080" stroke-width="2.6" stroke-linejoin="round"/>
<g stroke="#00f080" stroke-width="1" opacity="0.6" stroke-linecap="round">
<line x1="30.4" y1="83.9" x2="18.7" y2="89.1"/>
<line x1="34.3" y1="89.1" x2="25.2" y2="97.0"/>
<line x1="39.6" y1="93.0" x2="33.0" y2="103.5"/>
</g>
<circle cx="110" cy="80" r="32" fill="none" stroke="#00f080" stroke-width="0.8" opacity="0.5"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(0.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(22.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(45.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(67.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(90.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(112.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(135.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(157.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(180.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(202.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(225.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(247.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(270.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(292.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(315.0 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(337.5 110 80)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<circle cx="110" cy="80" r="17" fill="#060d06"/>
<g stroke="#00f080" stroke-width="1.6" stroke-linecap="round">
<line x1="110" y1="56" x2="110" y2="70"/>
<line x1="110" y1="90" x2="110" y2="104"/>
<line x1="86" y1="80" x2="100" y2="80"/>
<line x1="134" y1="80" x2="120" y2="80"/>
</g>
<circle cx="110" cy="80" r="2.1" fill="#00f080"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

+36
View File
@@ -0,0 +1,36 @@
<svg width="220" height="150" viewBox="0 0 220 150" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet mark: a simplified eye with a striated iris and crosshair reticle</title>
<desc>A standalone eye mark with a radially striated iris and a crosshair target reticle over the pupil, used as a compact icon without the full seal border.</desc>
<path d="M 29,72 Q 110,29 191,72" fill="none" stroke="#4a3800" stroke-width="1" opacity="0.45"/>
<path d="M 25,80 Q 110,34 195,80 Q 110,126 25,80 Z" fill="none" stroke="#4a3800" stroke-width="2.6" stroke-linejoin="round"/>
<g stroke="#4a3800" stroke-width="1" opacity="0.6" stroke-linecap="round">
<line x1="30.4" y1="83.9" x2="18.7" y2="89.1"/>
<line x1="34.3" y1="89.1" x2="25.2" y2="97.0"/>
<line x1="39.6" y1="93.0" x2="33.0" y2="103.5"/>
</g>
<circle cx="110" cy="80" r="32" fill="none" stroke="#4a3800" stroke-width="0.8" opacity="0.5"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(0.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(22.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(45.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(67.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(90.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(112.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(135.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(157.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(180.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(202.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(225.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(247.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(270.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(292.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(315.0 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="110" y1="63" x2="110" y2="48" transform="rotate(337.5 110 80)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<circle cx="110" cy="80" r="17" fill="#1a1a1a"/>
<g stroke="#4a3800" stroke-width="1.6" stroke-linecap="round">
<line x1="110" y1="56" x2="110" y2="70"/>
<line x1="110" y1="90" x2="110" y2="104"/>
<line x1="86" y1="80" x2="100" y2="80"/>
<line x1="134" y1="80" x2="120" y2="80"/>
</g>
<circle cx="110" cy="80" r="2.1" fill="#4a3800"/>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

+102
View File
@@ -0,0 +1,102 @@
<svg width="340" height="340" viewBox="0 0 340 340" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet seal: an eye with a striated iris and crosshair reticle, under watch by two satellites, circuit traces and a subtle grid inside a ringed badge</title>
<desc>A circular seal mark. A horizontal eye sits at the center with a radially striated iris and a crosshair target reticle over the pupil. Two satellites float at different angles nearby, unconnected to the eye, representing observation from multiple vantage points. Short circuit-trace lines with node pads radiate toward the ring, and a faint coordinate grid sits behind everything, all inside a double-ring circular border with tick marks at the four cardinal points.</desc>
<defs>
<clipPath id="circleClip"><circle cx="170" cy="170" r="141"/></clipPath>
<clipPath id="eyeClip"><path d="M 85,170 Q 170,124 255,170 Q 170,216 85,170 Z"/></clipPath>
</defs>
<g clip-path="url(#circleClip)" stroke="#00f080" stroke-width="0.5" opacity="0.08">
<line x1="66" y1="20" x2="66" y2="320"/>
<line x1="20" y1="66" x2="320" y2="66"/>
<line x1="118" y1="20" x2="118" y2="320"/>
<line x1="20" y1="118" x2="320" y2="118"/>
<line x1="170" y1="20" x2="170" y2="320"/>
<line x1="20" y1="170" x2="320" y2="170"/>
<line x1="222" y1="20" x2="222" y2="320"/>
<line x1="20" y1="222" x2="320" y2="222"/>
<line x1="274" y1="20" x2="274" y2="320"/>
<line x1="20" y1="274" x2="320" y2="274"/>
</g>
<g>
<line x1="224" y1="264" x2="237" y2="286" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="237" cy="286" r="2.2" fill="#00f080"/>
<circle cx="224" cy="264" r="1.1" fill="#00f080"/>
<line x1="116" y1="264" x2="103" y2="286" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="103" cy="286" r="2.2" fill="#00f080"/>
<circle cx="116" cy="264" r="1.1" fill="#00f080"/>
<line x1="77" y1="224" x2="54" y2="237" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="54" cy="237" r="2.2" fill="#00f080"/>
<circle cx="77" cy="224" r="1.1" fill="#00f080"/>
<line x1="77" y1="116" x2="54" y2="103" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="54" cy="103" r="2.2" fill="#00f080"/>
<circle cx="77" cy="116" r="1.1" fill="#00f080"/>
<line x1="142" y1="66" x2="135" y2="41" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="135" cy="41" r="2.2" fill="#00f080"/>
<circle cx="142" cy="66" r="1.1" fill="#00f080"/>
<line x1="224" y1="77" x2="237" y2="54" stroke="#00f080" stroke-width="1" opacity="0.5"/>
<circle cx="237" cy="54" r="2.2" fill="#00f080"/>
<circle cx="224" cy="77" r="1.1" fill="#00f080"/>
</g>
<circle cx="170" cy="170" r="150" fill="none" stroke="#00f080" stroke-width="1.6"/>
<circle cx="170" cy="170" r="141" fill="none" stroke="#00f080" stroke-width="0.6" opacity="0.5"/>
<g stroke="#00f080" stroke-width="1.4" opacity="0.8" stroke-linecap="round">
<line x1="170" y1="20" x2="170" y2="32"/>
<line x1="170" y1="308" x2="170" y2="320"/>
<line x1="20" y1="170" x2="32" y2="170"/>
<line x1="308" y1="170" x2="320" y2="170"/>
</g>
<g clip-path="url(#eyeClip)">
<line x1="85" y1="130" x2="255" y2="130" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="145" x2="255" y2="145" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="160" x2="255" y2="160" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="180" x2="255" y2="180" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="195" x2="255" y2="195" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="210" x2="255" y2="210" stroke="#00f080" stroke-width="0.5" opacity="0.15"/>
</g>
<path d="M 89,162 Q 170,119 251,162" fill="none" stroke="#00f080" stroke-width="1" opacity="0.45"/>
<path d="M 85,170 Q 170,124 255,170 Q 170,216 85,170 Z" fill="none" stroke="#00f080" stroke-width="2.6" stroke-linejoin="round"/>
<g stroke="#00f080" stroke-width="1" opacity="0.6" stroke-linecap="round">
<line x1="90.4" y1="173.9" x2="78.7" y2="179.1"/>
<line x1="94.3" y1="179.1" x2="85.2" y2="187.0"/>
<line x1="99.6" y1="183.0" x2="93.0" y2="193.5"/>
</g>
<circle cx="170" cy="170" r="32" fill="none" stroke="#00f080" stroke-width="0.8" opacity="0.5"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(0.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(22.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(45.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(67.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(90.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(112.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(135.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(157.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(180.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(202.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(225.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(247.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(270.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(292.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(315.0 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(337.5 170 170)" stroke="#00f080" stroke-width="0.7" opacity="0.55"/>
<circle cx="170" cy="170" r="17" fill="#060d06"/>
<g stroke="#00f080" stroke-width="1.6" stroke-linecap="round">
<line x1="170" y1="146" x2="170" y2="160"/>
<line x1="170" y1="180" x2="170" y2="194"/>
<line x1="146" y1="170" x2="160" y2="170"/>
<line x1="194" y1="170" x2="180" y2="170"/>
</g>
<circle cx="170" cy="170" r="2.1" fill="#00f080"/>
<g transform="translate(104,98) rotate(35)" stroke="#00f080" fill="#00f080" stroke-linecap="round">
<rect x="-3.0" y="-3.0" width="6.0" height="6.0" rx="1.2" stroke="none"/>
<rect x="-1.3" y="-9.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<rect x="-1.3" y="3.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<line x1="-3.0" y1="0" x2="-10.4" y2="0" stroke-width="1.1"/>
<line x1="3.0" y1="0" x2="10.4" y2="0" stroke-width="1.1"/>
</g>
<g transform="translate(242,237) rotate(-60)" stroke="#00f080" fill="#00f080" stroke-linecap="round">
<rect x="-3.0" y="-3.0" width="6.0" height="6.0" rx="1.2" stroke="none"/>
<rect x="-1.3" y="-9.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<rect x="-1.3" y="3.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<line x1="-3.0" y1="0" x2="-10.4" y2="0" stroke-width="1.1"/>
<line x1="3.0" y1="0" x2="10.4" y2="0" stroke-width="1.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

+102
View File
@@ -0,0 +1,102 @@
<svg width="340" height="340" viewBox="0 0 340 340" role="img" xmlns="http://www.w3.org/2000/svg">
<title>Anonymous Planet seal: an eye with a striated iris and crosshair reticle, under watch by two satellites, circuit traces and a subtle grid inside a ringed badge</title>
<desc>A circular seal mark. A horizontal eye sits at the center with a radially striated iris and a crosshair target reticle over the pupil. Two satellites float at different angles nearby, unconnected to the eye, representing observation from multiple vantage points. Short circuit-trace lines with node pads radiate toward the ring, and a faint coordinate grid sits behind everything, all inside a double-ring circular border with tick marks at the four cardinal points.</desc>
<defs>
<clipPath id="circleClip"><circle cx="170" cy="170" r="141"/></clipPath>
<clipPath id="eyeClip"><path d="M 85,170 Q 170,124 255,170 Q 170,216 85,170 Z"/></clipPath>
</defs>
<g clip-path="url(#circleClip)" stroke="#4a3800" stroke-width="0.5" opacity="0.08">
<line x1="66" y1="20" x2="66" y2="320"/>
<line x1="20" y1="66" x2="320" y2="66"/>
<line x1="118" y1="20" x2="118" y2="320"/>
<line x1="20" y1="118" x2="320" y2="118"/>
<line x1="170" y1="20" x2="170" y2="320"/>
<line x1="20" y1="170" x2="320" y2="170"/>
<line x1="222" y1="20" x2="222" y2="320"/>
<line x1="20" y1="222" x2="320" y2="222"/>
<line x1="274" y1="20" x2="274" y2="320"/>
<line x1="20" y1="274" x2="320" y2="274"/>
</g>
<g>
<line x1="224" y1="264" x2="237" y2="286" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="237" cy="286" r="2.2" fill="#4a3800"/>
<circle cx="224" cy="264" r="1.1" fill="#4a3800"/>
<line x1="116" y1="264" x2="103" y2="286" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="103" cy="286" r="2.2" fill="#4a3800"/>
<circle cx="116" cy="264" r="1.1" fill="#4a3800"/>
<line x1="77" y1="224" x2="54" y2="237" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="54" cy="237" r="2.2" fill="#4a3800"/>
<circle cx="77" cy="224" r="1.1" fill="#4a3800"/>
<line x1="77" y1="116" x2="54" y2="103" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="54" cy="103" r="2.2" fill="#4a3800"/>
<circle cx="77" cy="116" r="1.1" fill="#4a3800"/>
<line x1="142" y1="66" x2="135" y2="41" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="135" cy="41" r="2.2" fill="#4a3800"/>
<circle cx="142" cy="66" r="1.1" fill="#4a3800"/>
<line x1="224" y1="77" x2="237" y2="54" stroke="#4a3800" stroke-width="1" opacity="0.5"/>
<circle cx="237" cy="54" r="2.2" fill="#4a3800"/>
<circle cx="224" cy="77" r="1.1" fill="#4a3800"/>
</g>
<circle cx="170" cy="170" r="150" fill="none" stroke="#4a3800" stroke-width="1.6"/>
<circle cx="170" cy="170" r="141" fill="none" stroke="#4a3800" stroke-width="0.6" opacity="0.5"/>
<g stroke="#4a3800" stroke-width="1.4" opacity="0.8" stroke-linecap="round">
<line x1="170" y1="20" x2="170" y2="32"/>
<line x1="170" y1="308" x2="170" y2="320"/>
<line x1="20" y1="170" x2="32" y2="170"/>
<line x1="308" y1="170" x2="320" y2="170"/>
</g>
<g clip-path="url(#eyeClip)">
<line x1="85" y1="130" x2="255" y2="130" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="145" x2="255" y2="145" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="160" x2="255" y2="160" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="180" x2="255" y2="180" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="195" x2="255" y2="195" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
<line x1="85" y1="210" x2="255" y2="210" stroke="#4a3800" stroke-width="0.5" opacity="0.15"/>
</g>
<path d="M 89,162 Q 170,119 251,162" fill="none" stroke="#4a3800" stroke-width="1" opacity="0.45"/>
<path d="M 85,170 Q 170,124 255,170 Q 170,216 85,170 Z" fill="none" stroke="#4a3800" stroke-width="2.6" stroke-linejoin="round"/>
<g stroke="#4a3800" stroke-width="1" opacity="0.6" stroke-linecap="round">
<line x1="90.4" y1="173.9" x2="78.7" y2="179.1"/>
<line x1="94.3" y1="179.1" x2="85.2" y2="187.0"/>
<line x1="99.6" y1="183.0" x2="93.0" y2="193.5"/>
</g>
<circle cx="170" cy="170" r="32" fill="none" stroke="#4a3800" stroke-width="0.8" opacity="0.5"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(0.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(22.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(45.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(67.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(90.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(112.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(135.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(157.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(180.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(202.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(225.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(247.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(270.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(292.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(315.0 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<line x1="170" y1="153" x2="170" y2="138" transform="rotate(337.5 170 170)" stroke="#4a3800" stroke-width="0.7" opacity="0.55"/>
<circle cx="170" cy="170" r="17" fill="#1a1a1a"/>
<g stroke="#4a3800" stroke-width="1.6" stroke-linecap="round">
<line x1="170" y1="146" x2="170" y2="160"/>
<line x1="170" y1="180" x2="170" y2="194"/>
<line x1="146" y1="170" x2="160" y2="170"/>
<line x1="194" y1="170" x2="180" y2="170"/>
</g>
<circle cx="170" cy="170" r="2.1" fill="#4a3800"/>
<g transform="translate(104,98) rotate(35)" stroke="#4a3800" fill="#4a3800" stroke-linecap="round">
<rect x="-3.0" y="-3.0" width="6.0" height="6.0" rx="1.2" stroke="none"/>
<rect x="-1.3" y="-9.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<rect x="-1.3" y="3.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<line x1="-3.0" y1="0" x2="-10.4" y2="0" stroke-width="1.1"/>
<line x1="3.0" y1="0" x2="10.4" y2="0" stroke-width="1.1"/>
</g>
<g transform="translate(242,237) rotate(-60)" stroke="#4a3800" fill="#4a3800" stroke-linecap="round">
<rect x="-3.0" y="-3.0" width="6.0" height="6.0" rx="1.2" stroke="none"/>
<rect x="-1.3" y="-9.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<rect x="-1.3" y="3.0" width="2.6" height="6.0" rx="0.6" stroke="none" opacity="0.9"/>
<line x1="-3.0" y1="0" x2="-10.4" y2="0" stroke-width="1.1"/>
<line x1="3.0" y1="0" x2="10.4" y2="0" stroke-width="1.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

-1
View File
@@ -13,7 +13,6 @@ schema:
sameAs: sameAs:
- https://github.com/Anon-Planet - https://github.com/Anon-Planet
- https://opencollective.com/anonymousplanetorg - https://opencollective.com/anonymousplanetorg
- https://mastodon.social/@anonymousplanet
--- ---
<div class="hero-block"> <div class="hero-block">
+8
View File
@@ -0,0 +1,8 @@
{% extends "base.html" %}
<!-- for verifying Mastodon -->
{% block extrahead %}
<link href="https://ioc.exchange/@unknown" rel="me">
<link rel="icon" id="ap-favicon" href="{{ 'media/profile.png' | url }}" sizes="any">
<link rel="icon" type="image/
</script>
{% endblock %}
+66
View File
@@ -0,0 +1,66 @@
{% set class = "md-header" %}
{% if "navigation.tabs.sticky" in features %}
{% set class = class ~ " md-header--shadow md-header--lifted" %}
{% elif "navigation.tabs" not in features %}
{% set class = class ~ " md-header--shadow" %}
{% endif %}
<header class="{{ class }}" data-md-component="header">
<nav class="md-header__inner md-grid" aria-label="{{ lang.t('header') }}">
<a href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}" title="{{ config.site_name | e }}" class="md-header__button md-logo" aria-label="{{ config.site_name }}" data-md-component="logo">
{% include "partials/logo.html" %}
</a>
<label class="md-header__button md-icon" for="__drawer">
{% set icon = config.theme.icon.menu or "material/menu" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</label>
<div class="md-header__title" data-md-component="header-title">
<div class="md-header__ellipsis">
<div class="md-header__topic">
<span class="md-ellipsis">
{{ config.site_name }}
</span>
</div>
<div class="md-header__topic" data-md-component="header-topic">
<span class="md-ellipsis">
{% if page.meta and page.meta.title %}
{{ page.meta.title }}
{% else %}
{{ page.title }}
{% endif %}
</span>
</div>
</div>
</div>
{% if config.theme.palette %}
{% if not config.theme.palette is mapping %}
{% include "partials/palette-toggle.html" %}
{% endif %}
{% endif %}
{% if not config.theme.palette is mapping %}
{% include "partials/javascripts/palette.html" %}
{% endif %}
{% if config.extra.alternate %}
{% include "partials/alternate.html" %}
{% endif %}
{% if "material/search" in config.plugins %}
{% set search = config.plugins["material/search"] | attr("config") %}
{% if search.enabled %}
<label class="md-header__button md-icon" for="__search">
{% set icon = config.theme.icon.search or "material/magnify" %}
{% include ".icons/" ~ icon ~ ".svg" %}
</label>
{% include "partials/search.html" %}
{% endif %}
{% endif %}
{% if config.repo_url %}
<div class="md-header__source">
{% include "partials/source.html" %}
</div>
{% endif %}
</nav>
{% if "navigation.tabs.sticky" in features %}
{% if "navigation.tabs" in features %}
{% include "partials/tabs.html" %}
{% endif %}
{% endif %}
</header>
@@ -0,0 +1,70 @@
<div class="toggle-container toggle-container--header" id="ap-palette-toggle">
<div class="toggle-wrap">
<input type="checkbox" class="toggle-input" id="ap-toggle-input" aria-label="Turn the monitor on or off">
<label for="ap-toggle-input" class="toggle-track">
<div class="holo-glow"></div>
<div class="track-lines"><div class="track-line"></div></div>
<div class="toggle-thumb">
<div class="thumb-core"></div>
<div class="thumb-inner"></div>
<div class="thumb-scan"></div>
<div class="thumb-particles">
<div class="thumb-particle"></div>
<div class="thumb-particle"></div>
<div class="thumb-particle"></div>
<div class="thumb-particle"></div>
<div class="thumb-particle"></div>
</div>
</div>
<div class="energy-rings">
<div class="energy-ring"></div>
<div class="energy-ring"></div>
<div class="energy-ring"></div>
</div>
<div class="toggle-data">
<div class="data-text off">On</div>
<div class="data-text on">Off</div>
</div>
<div class="status-indicator off"></div>
<div class="status-indicator on"></div>
<div class="interface-lines">
<div class="interface-line"></div>
<div class="interface-line"></div>
<div class="interface-line"></div>
<div class="interface-line"></div>
<div class="interface-line"></div>
<div class="interface-line"></div>
</div>
<div class="toggle-reflection"></div>
</label>
</div>
</div>
<script>
(function () {
var KEY = "__palette";
var input = document.getElementById("ap-toggle-input");
if (!input) return;
function currentScheme() {
return document.body.getAttribute("data-md-color-scheme") || "slate";
}
function applyScheme(scheme) {
document.body.setAttribute("data-md-color-scheme", scheme);
var stored = { index: scheme === "default" ? 1 : 0 };
try {
localStorage.setItem(KEY, JSON.stringify(stored));
} catch (e) {
/* storage unavailable, fail silently */
}
}
input.checked = currentScheme() === "default";
input.addEventListener("change", function () {
applyScheme(input.checked ? "default" : "slate");
});
})();
</script>
-1
View File
@@ -13,7 +13,6 @@ schema:
sameAs: sameAs:
- https://github.com/Anon-Planet - https://github.com/Anon-Planet
- https://opencollective.com/anonymousplanetorg - https://opencollective.com/anonymousplanetorg
- https://mastodon.social/@anonymousplanet
--- ---
<div class="hero-block"> <div class="hero-block">
+30
View File
@@ -281,3 +281,33 @@ pre.highlight .hll {
cursor: text; cursor: text;
letter-spacing: 0.04em; letter-spacing: 0.04em;
} }
.maintainer-bio {
display: flex;
align-items: flex-start;
gap: 1.25em;
margin-bottom: 1.5em;
}
.maintainer-avatar {
width: 72px;
height: 72px;
border: 2px solid var(--border-color);
flex-shrink: 0;
margin: 0;
}
.maintainer-text {
flex: 1;
min-width: 0;
}
.maintainer-text p {
margin-top: 0;
}
@media (max-width: 480px) {
.maintainer-bio {
flex-direction: column;
}
}
+581
View File
@@ -0,0 +1,581 @@
/* Adapted from a holographic toggle concept (Uiverse.io by reglobby), recolored to match site palette */
.toggle-container {
position: relative;
width: 150px;
display: flex;
flex-direction: column;
align-items: center;
perspective: 800px;
z-index: 5;
}
.toggle-wrap {
position: relative;
width: 100%;
flex: 0 0 auto;
align-self: stretch;
height: 60px;
transform-style: preserve-3d;
}
.toggle-input {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
.toggle-track {
position: absolute;
width: 100%;
height: 100%;
background: rgba(0, 30, 10, 0.4);
border-radius: 30px;
cursor: pointer;
box-shadow:
0 0 15px rgba(0, 240, 128, 0.15),
inset 0 0 10px rgba(0, 0, 0, 0.8);
overflow: hidden;
backdrop-filter: blur(5px);
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
border: 1px solid rgba(0, 240, 128, 0.3);
}
.toggle-track::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: radial-gradient(
ellipse at center,
rgba(0, 240, 128, 0.1) 0%,
rgba(0, 0, 0, 0) 70%
),
linear-gradient(90deg, rgba(0, 90, 40, 0.1) 0%, rgba(0, 30, 10, 0.2) 100%);
opacity: 0.6;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.toggle-track::after {
content: "";
position: absolute;
top: 2px;
left: 2px;
right: 2px;
height: 10px;
background: linear-gradient(
90deg,
rgba(0, 240, 128, 0.3) 0%,
rgba(3, 150, 52, 0.1) 100%
);
border-radius: 30px 30px 0 0;
opacity: 0.7;
filter: blur(1px);
}
.track-lines {
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1px;
transform: translateY(-50%);
overflow: hidden;
}
.track-line {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: repeating-linear-gradient(
90deg,
rgba(0, 240, 128, 0.3) 0px,
rgba(0, 240, 128, 0.3) 5px,
transparent 5px,
transparent 15px
);
animation: track-line-move 3s linear infinite;
}
@keyframes track-line-move {
0% { transform: translateX(0); }
100% { transform: translateX(20px); }
}
.toggle-thumb {
position: absolute;
width: 54px;
height: 54px;
left: 3px;
top: 3px;
background: radial-gradient(
circle,
rgba(10, 60, 30, 0.9) 0%,
rgba(0, 30, 15, 0.8) 100%
);
border-radius: 50%;
box-shadow:
0 2px 15px rgba(0, 0, 0, 0.5),
inset 0 0 15px rgba(0, 240, 128, 0.5);
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
z-index: 2;
border: 1px solid rgba(0, 240, 128, 0.6);
overflow: hidden;
transform-style: preserve-3d;
}
.thumb-core {
position: absolute;
width: 40px;
height: 40px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(
circle,
rgba(0, 240, 128, 0.6) 0%,
rgba(3, 150, 52, 0.2) 100%
);
border-radius: 50%;
box-shadow: 0 0 20px rgba(0, 240, 128, 0.5);
opacity: 0.9;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.thumb-inner {
position: absolute;
width: 25px;
height: 25px;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background: radial-gradient(
circle,
rgba(255, 255, 255, 0.8) 0%,
rgba(150, 255, 200, 0.5) 100%
);
border-radius: 50%;
box-shadow: 0 0 10px rgba(150, 255, 200, 0.7);
opacity: 0.7;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
animation: pulse 2s infinite alternate;
}
@keyframes pulse {
0% { opacity: 0.5; transform: translate(-50%, -50%) scale(0.9); }
100% { opacity: 0.8; transform: translate(-50%, -50%) scale(1.1); }
}
.thumb-scan {
position: absolute;
width: 100%;
height: 5px;
background: linear-gradient(
90deg,
rgba(0, 0, 0, 0) 0%,
rgba(0, 240, 128, 0.5) 20%,
rgba(255, 255, 255, 0.8) 50%,
rgba(0, 240, 128, 0.5) 80%,
rgba(0, 0, 0, 0) 100%
);
top: 0;
left: 0;
filter: blur(1px);
animation: thumb-scan 2s linear infinite;
opacity: 0.7;
}
@keyframes thumb-scan {
0% { top: -5px; opacity: 0; }
20% { opacity: 0.7; }
80% { opacity: 0.7; }
100% { top: 54px; opacity: 0; }
}
.thumb-particles {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
overflow: hidden;
}
.thumb-particle {
position: absolute;
width: 3px;
height: 3px;
background: rgba(150, 255, 200, 0.8);
border-radius: 50%;
box-shadow: 0 0 5px rgba(150, 255, 200, 0.8);
animation: thumb-particle-float 3s infinite ease-out;
opacity: 0;
}
.thumb-particle:nth-child(1) { top: 70%; left: 30%; animation-delay: 0.2s; }
.thumb-particle:nth-child(2) { top: 60%; left: 60%; animation-delay: 0.6s; }
.thumb-particle:nth-child(3) { top: 50%; left: 40%; animation-delay: 1s; }
.thumb-particle:nth-child(4) { top: 40%; left: 70%; animation-delay: 1.4s; }
.thumb-particle:nth-child(5) { top: 80%; left: 50%; animation-delay: 1.8s; }
@keyframes thumb-particle-float {
0% { transform: translateY(0) scale(1); opacity: 0; }
20% { opacity: 0.8; }
100% { transform: translateY(-30px) scale(0); opacity: 0; }
}
.toggle-data {
position: absolute;
width: 100%;
height: 100%;
z-index: 1;
}
.data-text {
position: absolute;
font-family: var(--code-font, monospace);
font-size: 12px;
font-weight: 500;
letter-spacing: 1px;
text-transform: uppercase;
transition: all 0.5s ease;
}
.data-text.off {
right: 12px;
top: 50%;
transform: translateY(-50%);
opacity: 1;
color: rgba(0, 240, 128, 0.6);
text-shadow: 0 0 5px rgba(0, 240, 128, 0.4);
}
.data-text.on {
left: 15px;
top: 50%;
transform: translateY(-50%);
opacity: 0;
color: rgba(231, 217, 163, 0.7);
text-shadow: 0 0 5px rgba(231, 217, 163, 0.4);
}
.status-indicator {
position: absolute;
width: 10px;
height: 10px;
border-radius: 50%;
background: radial-gradient(
circle,
rgba(0, 240, 128, 0.8) 0%,
rgba(3, 150, 52, 0.4) 100%
);
box-shadow: 0 0 10px rgba(0, 240, 128, 0.5);
animation: blink 2s infinite alternate;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.status-indicator.off { top: 25px; right: 15px; }
.status-indicator.on {
top: 25px;
left: 15px;
opacity: 0;
background: radial-gradient(
circle,
rgba(231, 217, 163, 0.8) 0%,
rgba(180, 160, 100, 0.4) 100%
);
box-shadow: 0 0 10px rgba(231, 217, 163, 0.5);
}
@keyframes blink {
0%, 100% { opacity: 0.5; transform: scale(0.9); }
50% { opacity: 1; transform: scale(1.1); }
}
.energy-rings {
position: absolute;
width: 54px;
height: 54px;
left: 3px;
top: 3px;
pointer-events: none;
z-index: 1;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.energy-ring {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
border-radius: 50%;
border: 2px solid transparent;
opacity: 0;
}
.energy-ring:nth-child(1) {
width: 50px;
height: 50px;
border-top-color: rgba(0, 240, 128, 0.5);
border-right-color: rgba(0, 240, 128, 0.3);
animation: spin 3s linear infinite;
}
.energy-ring:nth-child(2) {
width: 40px;
height: 40px;
border-bottom-color: rgba(0, 240, 128, 0.5);
border-left-color: rgba(0, 240, 128, 0.3);
animation: spin 2s linear infinite reverse;
}
.energy-ring:nth-child(3) {
width: 30px;
height: 30px;
border-left-color: rgba(0, 240, 128, 0.5);
border-top-color: rgba(0, 240, 128, 0.3);
animation: spin 1.5s linear infinite;
}
@keyframes spin {
0% { transform: translate(-50%, -50%) rotate(0deg); }
100% { transform: translate(-50%, -50%) rotate(360deg); }
}
.interface-lines {
position: absolute;
width: 100%;
height: 100%;
pointer-events: none;
}
.interface-line {
position: absolute;
background: rgba(0, 240, 128, 0.3);
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.interface-line:nth-child(1) { width: 15px; height: 1px; bottom: -5px; left: 20px; }
.interface-line:nth-child(2) { width: 1px; height: 8px; bottom: -12px; left: 35px; }
.interface-line:nth-child(3) { width: 25px; height: 1px; bottom: -12px; left: 35px; }
.interface-line:nth-child(4) { width: 15px; height: 1px; bottom: -5px; right: 20px; }
.interface-line:nth-child(5) { width: 1px; height: 8px; bottom: -12px; right: 35px; }
.interface-line:nth-child(6) { width: 25px; height: 1px; bottom: -12px; right: 10px; }
.toggle-reflection {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background: linear-gradient(
135deg,
rgba(255, 255, 255, 0.1) 0%,
rgba(255, 255, 255, 0) 40%
);
border-radius: 30px;
pointer-events: none;
}
.toggle-label {
position: relative;
margin-top: 20px;
font-family: var(--code-font, monospace);
font-size: 14px;
text-transform: uppercase;
letter-spacing: 2px;
text-align: center;
color: rgba(0, 240, 128, 0.7);
text-shadow: 0 0 10px rgba(0, 240, 128, 0.5);
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
}
.holo-glow {
position: absolute;
width: 100%;
height: 100%;
border-radius: 30px;
background: radial-gradient(
ellipse at center,
rgba(0, 240, 128, 0.2) 0%,
rgba(0, 0, 0, 0) 70%
);
filter: blur(10px);
opacity: 0.5;
transition: all 0.6s cubic-bezier(0.23, 1, 0.32, 1);
z-index: 0;
}
/* checked state = "default" (light/printing press) scheme, amber accent.
Bound to both :checked AND the page's actual data-md-color-scheme so the
toggle can never visually drift from the real active palette (e.g. on
load, before the init script has a chance to sync the checkbox). */
body[data-md-color-scheme="default"] .toggle-input + .toggle-track,
.toggle-input:checked + .toggle-track {
background: rgba(40, 32, 10, 0.4);
border-color: rgba(231, 217, 163, 0.4);
box-shadow:
0 0 15px rgba(231, 217, 163, 0.2),
inset 0 0 10px rgba(0, 0, 0, 0.8);
}
.toggle-input:checked + .toggle-track::before, body[data-md-color-scheme="default"] .toggle-input + .toggle-track::before {
background: radial-gradient(
ellipse at center,
rgba(231, 217, 163, 0.1) 0%,
rgba(0, 0, 0, 0) 70%
),
linear-gradient(90deg, rgba(120, 100, 50, 0.1) 0%, rgba(40, 32, 10, 0.2) 100%);
}
.toggle-input:checked + .toggle-track::after, body[data-md-color-scheme="default"] .toggle-input + .toggle-track::after {
background: linear-gradient(
90deg,
rgba(231, 217, 163, 0.3) 0%,
rgba(180, 160, 100, 0.1) 100%
);
}
.toggle-input:checked + .toggle-track .track-line, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .track-line {
background: repeating-linear-gradient(
90deg,
rgba(231, 217, 163, 0.3) 0px,
rgba(231, 217, 163, 0.3) 5px,
transparent 5px,
transparent 15px
);
animation-direction: reverse;
}
.toggle-input:checked + .toggle-track .toggle-thumb, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .toggle-thumb {
left: calc(100% - 57px);
background: radial-gradient(
circle,
rgba(90, 75, 30, 0.9) 0%,
rgba(50, 40, 15, 0.8) 100%
);
border-color: rgba(231, 217, 163, 0.6);
box-shadow:
0 2px 15px rgba(0, 0, 0, 0.5),
inset 0 0 15px rgba(231, 217, 163, 0.5);
}
.toggle-input:checked + .toggle-track .thumb-core, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .thumb-core {
background: radial-gradient(
circle,
rgba(231, 217, 163, 0.6) 0%,
rgba(120, 100, 50, 0.2) 100%
);
box-shadow: 0 0 20px rgba(231, 217, 163, 0.5);
}
.toggle-input:checked + .toggle-track .thumb-inner, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .thumb-inner {
background: radial-gradient(
circle,
rgba(255, 255, 255, 0.8) 0%,
rgba(255, 240, 200, 0.5) 100%
);
box-shadow: 0 0 10px rgba(255, 240, 200, 0.7);
}
.toggle-input:checked + .toggle-track .thumb-scan, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .thumb-scan {
background: linear-gradient(
90deg,
rgba(0, 0, 0, 0) 0%,
rgba(231, 217, 163, 0.5) 20%,
rgba(255, 255, 255, 0.8) 50%,
rgba(231, 217, 163, 0.5) 80%,
rgba(0, 0, 0, 0) 100%
);
}
.toggle-input:checked + .toggle-track .thumb-particle, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .thumb-particle {
background: rgba(255, 240, 200, 0.8);
box-shadow: 0 0 5px rgba(255, 240, 200, 0.8);
}
.toggle-input:checked + .toggle-track .data-text.off, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .data-text.off { opacity: 0; }
.toggle-input:checked + .toggle-track .data-text.on, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .data-text.on { opacity: 1; }
.toggle-input:checked + .toggle-track .status-indicator.off, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .status-indicator.off { opacity: 0; }
.toggle-input:checked + .toggle-track .status-indicator.on, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .status-indicator.on { opacity: 1; }
.toggle-input:checked + .toggle-track .energy-rings, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .energy-rings { left: calc(100% - 57px); }
.toggle-input:checked + .toggle-track .energy-ring, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .energy-ring { opacity: 1; }
.toggle-input:checked + .toggle-track .energy-ring:nth-child(1), body[data-md-color-scheme="default"] .toggle-input + .toggle-track .energy-ring:nth-child(1) {
border-top-color: rgba(231, 217, 163, 0.5);
border-right-color: rgba(231, 217, 163, 0.3);
}
.toggle-input:checked + .toggle-track .energy-ring:nth-child(2), body[data-md-color-scheme="default"] .toggle-input + .toggle-track .energy-ring:nth-child(2) {
border-bottom-color: rgba(231, 217, 163, 0.5);
border-left-color: rgba(231, 217, 163, 0.3);
}
.toggle-input:checked + .toggle-track .energy-ring:nth-child(3), body[data-md-color-scheme="default"] .toggle-input + .toggle-track .energy-ring:nth-child(3) {
border-left-color: rgba(231, 217, 163, 0.5);
border-top-color: rgba(231, 217, 163, 0.3);
}
.toggle-input:checked + .toggle-track .interface-line, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .interface-line {
background: rgba(231, 217, 163, 0.3);
}
.toggle-input:checked ~ .toggle-label, body[data-md-color-scheme="default"] .toggle-input ~ .toggle-label {
color: rgba(231, 217, 163, 0.7);
text-shadow: 0 0 10px rgba(231, 217, 163, 0.5);
}
.toggle-input:checked + .toggle-track .holo-glow, body[data-md-color-scheme="default"] .toggle-input + .toggle-track .holo-glow {
background: radial-gradient(
ellipse at center,
rgba(231, 217, 163, 0.2) 0%,
rgba(0, 0, 0, 0) 70%
);
}
.toggle-input:hover + .toggle-track {
box-shadow:
0 0 20px rgba(0, 240, 128, 0.3),
inset 0 0 10px rgba(0, 0, 0, 0.8);
}
.toggle-input:checked:hover + .toggle-track, body[data-md-color-scheme="default"] .toggle-input:hover + .toggle-track {
box-shadow:
0 0 20px rgba(231, 217, 163, 0.3),
inset 0 0 10px rgba(0, 0, 0, 0.8);
}
.toggle-container--header {
width: 80px;
margin: 0 8px;
}
.toggle-container--header .toggle-wrap {
height: 32px;
}
.toggle-container--header .toggle-thumb,
.toggle-container--header .energy-rings { width: 28px; height: 28px; }
.toggle-container--header .thumb-core { width: 20px; height: 20px; }
.toggle-container--header .thumb-inner { width: 12px; height: 12px; }
.toggle-container--header .data-text { font-size: 8px; }
.toggle-container--header .toggle-label { display: none; }
.toggle-container--header .energy-ring:nth-child(1) { width: 26px; height: 26px; }
.toggle-container--header .energy-ring:nth-child(2) { width: 20px; height: 20px; }
.toggle-container--header .energy-ring:nth-child(3) { width: 15px; height: 15px; }
.toggle-input:checked + .toggle-track .toggle-thumb,
.toggle-container--header .toggle-input:checked + .toggle-track .toggle-thumb,
body[data-md-color-scheme="default"] .toggle-container--header .toggle-input + .toggle-track .toggle-thumb {
left: calc(100% - 31px);
}
.toggle-container--header .toggle-input:checked + .toggle-track .energy-rings,
body[data-md-color-scheme="default"] .toggle-container--header .toggle-input + .toggle-track .energy-rings {
left: calc(100% - 31px);
}
+13 -3
View File
@@ -3,12 +3,15 @@ site_author: Anonymous Planet
site_description: "The comprehensive guide for online #anonymity and #opsec." site_description: "The comprehensive guide for online #anonymity and #opsec."
site_dir: "site" site_dir: "site"
docs_dir: "docs" docs_dir: "docs"
exclude_docs: |
includes/
site_url: "https://anonymousplanet.net/" site_url: "https://anonymousplanet.net/"
repo_url: "https://github.com/Anon-Planet/thgtoa" repo_url: "https://github.com/Anon-Planet/thgtoa"
repo_name: "" repo_name: ""
#edit_uri: ""blob/main/docs/{path}?plain=1"" #edit_uri: ""blob/main/docs/{path}?plain=1""
theme: theme:
name: material name: material
custom_dir: docs/overrides
locale: en locale: en
favicon: media/profile.png favicon: media/profile.png
icon: icon:
@@ -54,6 +57,7 @@ extra_css:
- stylesheets/hacker.css - stylesheets/hacker.css
- stylesheets/hacker-extra.css - stylesheets/hacker-extra.css
- stylesheets/going-dark.css - stylesheets/going-dark.css
- stylesheets/toggle.css
- stylesheets/navigation.css - stylesheets/navigation.css
- stylesheets/footer.css - stylesheets/footer.css
- stylesheets/accessibility.css - stylesheets/accessibility.css
@@ -72,7 +76,7 @@ copyright: >-
extra: extra:
social: social:
- icon: simple/mastodon - icon: simple/mastodon
link: https://ioc.exchange/@anonymousplanet link: https://ioc.exchange/@unknown
name: Mastodon name: Mastodon
- icon: simple/x - icon: simple/x
link: https://x.com/anonplanetorg link: https://x.com/anonplanetorg
@@ -92,6 +96,9 @@ extra:
- icon: simple/codeberg - icon: simple/codeberg
link: https://codeberg.org/anonymousplanet link: https://codeberg.org/anonymousplanet
name: Codeberg name: Codeberg
- icon: simple/torbrowser
link: https://gitlab.torproject.org/anonymousplanet/the-hitchhikers-guide
name: Gitlab at Tor Project
# - icon: simple/torbrowser # - icon: simple/torbrowser
# link: http://thgtoa3jzy3doku7hkna32htpghjijefscwvh4dyjgfydbbjkeiohgid.onion/ (defunct) # link: http://thgtoa3jzy3doku7hkna32htpghjijefscwvh4dyjgfydbbjkeiohgid.onion/ (defunct)
# name: Hidden service # name: Hidden service
@@ -124,14 +131,17 @@ markdown_extensions:
- pymdownx.keys: {} - pymdownx.keys: {}
- pymdownx.mark: {} - pymdownx.mark: {}
- pymdownx.tilde: {} - pymdownx.tilde: {}
- pymdownx.snippets: {} - abbr
- pymdownx.snippets:
base_path: ["docs"]
auto_append:
- includes/glossary.md
- pymdownx.tasklist: - pymdownx.tasklist:
custom_checkbox: true custom_checkbox: true
- attr_list: {} - attr_list: {}
- def_list: {} - def_list: {}
- md_in_html: {} - md_in_html: {}
- meta: {} - meta: {}
- abbr: {}
- tables: {} - tables: {}
- footnotes: {} - footnotes: {}
- toc: - toc: