FastOG SDK — Herunterladen & Verwenden
Eine Datei pro Sprache, keine Abhängigkeiten, kein Paketmanager erforderlich. Laden Sie sie unten herunter (oder curl sie von unserem CDN) und kopieren Sie sie in Ihr Projekt (nur serverseitig). Wird hier als v1 gepflegt — wenn sich der Vertrag ändert, aktualisieren wir diese Seite und die herunterladbaren Dateien gemeinsam. Den vollständigen Signaturvertrag sowie handgeschriebene Implementierungen in jeder Sprache finden Sie unter Agent- & LLM-Integration.
Downloads
Wählen Sie eine Sprache und klicken Sie auf Download (oder Rechtsklick → Speichern unter):
| Sprache | Download |
|---|---|
| Node.js (CommonJS) | ⬇ fastog.js |
| Svelte / SvelteKit (ESM) | ⬇ fastog.js |
| PHP | ⬇ FastOg.php |
| Ruby / Rails | ⬇ fastog.rb |
| Python (Django / FastAPI / Flask) | ⬇ fastog.py |
| Go | ⬇ fastog.go |
| Express (Node) | ⬇ fastog.js |
| Next.js (App Router) | ⬇ fastog.js |
| Astro | ⬇ fastog.js |
| Vue / Nuxt | ⬇ fastog.js |
Diese Links verweisen auf
/sdk/<file>, das die Datei als Download ausliefert – oder verwenden Siecurl -O https://fastog.com/sdk/<file>, falls Sie die Kommandozeile bevorzugen.
Vue, Next.js, Astro und Express laufen auf Node – sie verwenden dieselben getesteten Signer-Dateien (CommonJS für Express, ESM für die übrigen); nur die Nutzung/README unterscheidet sich. Das sdk/<name>/README.md jedes Frameworks zeigt die genaue Integration.
Jede Datei ist das vollständige SDK. Kopieren Sie sie in Ihr Projekt, require/import Sie sie, fertig.
Verwendung
Node.js
const { ogImageUrl } = require("./fastog.js");
const url = ogImageUrl(
{
template: "blog",
title: "Hello World",
features: ["Free shipping", "30-day returns"],
},
{ key: process.env.FASTOG_API_KEY, secret: process.env.FASTOG_HMAC_SECRET },
);
SvelteKit (in +page.server.js / +layout.server.js)
import { ogImageUrl } from "$lib/fastog.js";
const url = ogImageUrl(params, {
key: process.env.FASTOG_API_KEY,
secret: process.env.FASTOG_HMAC_SECRET,
});
PHP
use FastOg\FastOg;
$url = FastOg::signedUrl($params, getenv('FASTOG_API_KEY'), getenv('FASTOG_HMAC_SECRET'));
Ruby / Rails
url = FastOg.signed_url(params, ENV.fetch("FASTOG_API_KEY"), ENV.fetch("FASTOG_HMAC_SECRET"))
Python (Django / FastAPI / Flask)
import fastog
url = fastog.signed_url(params, os.environ["FASTOG_API_KEY"], os.environ["FASTOG_HMAC_SECRET"])
Go
url := fastog.SignedURL(params, os.Getenv("FASTOG_API_KEY"), os.Getenv("FASTOG_HMAC_SECRET"))
Express / Next.js / Astro / Vue (Node) – Importieren Sie den Signer (Signer-Funktion), rufen Sie ogImageUrl(params, { key, secret }) in Ihrem Servercode auf und rendern Sie die URL im Head-Bereich. Siehe die sdk/<name>/README.md der jeweiligen Frameworks.
Fügen Sie url in <meta property="og:image"> ein. Crawler rufen es per GET ab – edge-cached, ein Rendering pro eindeutigem Bild.
Versionierung
Dies ist v1 und wird an Ort und Stelle gepflegt. Wenn sich der Vertrag ändert, erhöhen wir die Versionsnummer der Dateien und dieser Seite gemeinsam (v2, v3, …) – Sie aktualisieren, indem Sie die Dateien erneut herunterladen. Es gibt keine Paketregistrierung zum Synchronisieren, keine SemVer-Zeremonie und kein Abweichen zwischen mehreren Paketen.
So funktioniert es
canonical = sorted enc(key)=enc(value) pairs of every param except `s`, including `key`
message = "GET/api/v1/og" + "\n" + canonical
signature = hex(HMAC-SHA256(message, secret))
- Jede Änderung an einem Parameter macht die Signatur ungültig →
401, kein Rendering, keine Quota-Zählung. - Identische Parameter → identische URL → dauerhaft am Edge cachebar.
- Array-Parameter (
features) werden alskey[]=/key[0]=ausgegeben, damit der Server sie korrekt dekodiert. - Widerruf durch Rotation des Schlüssel-Geheimnisses.
Verifizierung
Alle SDKs werden gegen denselben Golden-Vektor getestet, der vom FastOG-Server erzeugt wird:
canonical = features=30-day%20returns&features=Free%20shipping&key=sk_test123&template=blog&title=Hello%20World
signature = a79232b15b45002aee76174f542e0a661b37cb1259df01e263c952ca4052a54d
Wenn Ihre Kopie für diese Parameter dieselbe Signatur erzeugt, akzeptiert der Server Ihre URLs.
Sicherheit
secretist nur serverseitig – niemals im Browser, niemals in einem öffentlichen CDN-Skript.keyist öffentlich (er erscheint in URLs) – das ist erwartungsgemäß so.- Signieren Sie auf Ihrem Server; die FastOG-URL ist das, was Sie einbetten, nicht das Geheimnis.