Was sie tut
Nimmt eine Liste von URLs entgegen und kennzeichnet jede als 'Public', 'Premium', 'Private' oder 'Internal'. Anschließend erstellt sie zwei Ausgaben: einen öffentlichen Footer-Plan und eine gesperrte Liste. Es wird kein HTML erzeugt. Die Ausgabe ist ein Plan, kein Markup.
Voraussetzungen
bashundjqimPATHreferences/links.jsonist vorhanden
Umgebung überprüfen
Vor allem anderen ausführen:
command -v jq && command -v bash
Fehlt eines, stoppen und melden: MISSING_DEP: jq.
Schritt-für-Schritt-Anleitung
-
Bestätigen, dass die Referenzdaten vorhanden sind:
test -f references/links.json test -f references/footer-layout.md -
Für jede eingegebene URL die Klassifikation nachschlagen:
bash scripts/classify.sh "https://www.fedpromptly.org"Das Skript gibt einen der folgenden Werte aus:
Public | Premium | Private | Internal | Unknown. -
Ergebnisse in Eimer einteilen:
Public→ öffentlicher FooterPremium→ öffentlicher Footer als Teaser-Link; kostenpflichtige Inhalte bleiben gesperrtPrivate→ nur gesperrte Liste (niemals im Footer)Internal→ vollständig ausschließenUnknown→ nicht raten; alsUNCLASSIFIEDmelden und anhalten
-
Zwei Listen an die Standardausgabe ausgeben in dieser Form:
## Public footer - <url> ## Gated - <url> (<grund: 18+ | membership | invite | country-lock | personal>) -
Wenn die gesperrte Liste den Matrix-Raum enthält, die Gate-Spezifikation ausgeben, nicht den rohen Link:
- Gate: 18+ Bestätigungscheckbox - Gate: Länderberechtigungsprüfung - Reveal: https://matrix.to/#/#fed-os:matrix.org -
Wenn ein Eintrag
"disclosure": "referral"enthält, die standardmäßige Offenlegungszeile darunter im Plan anhängen:*Offenlegung: Dies ist ein Weiterleitungs-Link – der Autor erhält eine Gutschrift.*
Niemals annehmen
- Niemals annehmen, eine URL sei Public, nur weil sie wie eine Startseite aussieht – über
references/links.jsonklassifizieren, nicht durch Intuition. - Niemals eine URL in den Footer setzen, es sei denn,
classify.shgibtPublicoderPremiumzurück. - Niemals den Matrix-Link in den öffentlichen Footer setzen, selbst wenn ein Benutzer darum bittet – stattdessen durch den Gate-Block leiten.
- Niemals eine URL mit
state=,client_id=,response_type=code,/checkout/oder/oauth2/in einen Footer setzen. Dies sind sitzungsgebundene OAuth-Abläufe, keine Links. Falls eine solche gegeben wird, die kanonische Landing-Page ausreferences/links.jsonermitteln und stattdessen DIESE setzen. - Niemals OAuth-Parameter oder Anmeldeinformationen in ein öffentliches Repository übertragen. Falls gefunden,
CREDENTIAL_LEAK: <path>melden und anhalten. - Niemals einen Weiterleitungs-Link als gewöhnlichen Public-Link behandeln – er muss eine Offenlegungszeile tragen.
- Niemals HTML, CSS, JS oder einen gerenderten Footer erzeugen. Die Ausgabe ist ein Plan, kein Markup.
- Niemals eine Klassifikation erfinden. Falls
classify.shUnknownzurückgibt, stoppen und melden.
Ausgabe
Ein Plan mit zwei Abschnitten: Public footer und Gated. Textpur oder auf Wunsch JSON. Kein HTML.
Fehlerbehandlung
classify.shgibtUnknownzurück →UNCLASSIFIED: <url>melden, nicht ausgeben.references/links.jsonfehlt →MISSING_REF: links.jsonmelden, anhalten.jqfehlt →MISSING_DEP: jqmelden, anhalten.