anti-gambling-trader-tw
免費開源的投資反詐、交易統計與自動化交易程式工具:預設 PaperBroker,提供 14 種券商/交易所選項;交易紀錄分析在本機執行。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Die komplette Strecke „Bezahlen per QR-Code“ zum Durchklicken. Es wird kein echtes Geld bewegt.
PAY-7K3QX9, INFO-…). Die Art legt fest, welche Variablen ein Code hat.PAY-Code trägt 12-stellige Kundennummer, Betrag und Gebühr signiert in sich.
Scan mit dem Handy oder „Simulation starten“ (Handy als Modal) → Decoding mit Fortschritt → Betrag, Gebühr, Endbetrag →
„Sofort bezahlen mit“ PayPal, Wero, Banking-App, Kreditkarte, Apple Pay, Google Pay, Klarna, SEPA → simulierter Checkout beim Anbieter →
Webhook und Verbuchung → Rücksprung → Bestätigung mit Beleg.KONTO (Kontostand nach Anmeldung mit Geburtsdatum, offenen Betrag direkt bezahlen, Sperre nach 3 Fehlversuchen),
ADR (Adressänderung nach Anmeldung mit Geburtsdatum), DOK (Dokument wie eine Befreiungsbescheinigung einreichen nach Online-Ausweis,
Video-Ident oder Bank-Ident, verschlüsselt gespeichert, im Manager abrufbar), INFO (verwalteter Link, z. B. auf /info).
Geheime Variablen (Name, Geburtsdatum, Adresse, Kontostand) stehen nur in der Datenbank, nie im QR-Code.| Fall | Wie auslösen | Ergebnis |
|---|---|---|
| Erfolg | Normal durchklicken | Beleg, Code wird „bezahlt“ (Einmal-Code) |
| Abbruch | „Abbrechen“ beim Anbieter | Code bleibt offen, „Erneut versuchen“ |
| Ablehnung | Testfall „Ablehnen“ oder Karte 4000 0000 0000 0002 | Fehlerseite, erneut zahlbar |
| Timeout | Testfall „Keine Antwort“ | Nach 10 s abgebrochen; liegengebliebene Zahlungen laufen nach 15 Min. ab |
| Manipulierter Code | Betrag im QR-Inhalt ändern | Signaturprüfung schlägt fehl |
| Veralteter Code | Betrag im Manager ändern, alten QR scannen | „Code veraltet“ |
| Deaktiviert / abgelaufen | Im Manager | Scan wird abgelehnt |
| Schon bezahlt | Code nach Zahlung erneut scannen | Zeigt nur den Beleg |
| Doppelzahlung | Zwei Checkouts parallel, beide bestätigen | Zweite wird erkannt und als Erstattung markiert |
https://<host>/s/<base64url(JSON)>.<HMAC-SHA256> mit JSON { v, id, t (Art), n (Version), d: { kundennummer, betrag, gebuehr, zweck } }.
Die Daten sind lesbar, aber durch die Signatur nicht fälschbar. Beträge stehen in Cent. Bezahlt wird immer der Betrag aus der Datenbank.
Unter /release-notes stehen alle Features nach Tag und Stunde, neueste zuerst. Wie sie gepflegt werden, steht in AGENTS.md.
Node 22.13 oder neuer.
npm install
npm start # http://localhost:3000
npm test # End-to-end-Test der ganzen Strecke
Lokal speichert die App in SQLite (data/qr.sqlite). Die QR-Codes zeigen automatisch auf die WLAN-Adresse des Rechners,
damit ein Handy im selben WLAN sie scannen kann.
Jeder Push auf main wird deployt. Auf Vercel braucht die App Postgres (z. B. Neon über den Storage-Tab des Projekts),
die Tabellen legt sie beim ersten Aufruf selbst an.
| Variable | Zweck |
|---|---|
DATABASE_URL | Postgres-Verbindung (setzt Neon automatisch). Ohne: SQLite |
CODE_SECRET | Schlüssel für die Signatur der QR-Codes. Unbedingt setzen |
ADMIN_PASSWORD | Optional: schützt den Manager per Passwort (Bezahlseiten bleiben offen) |
PUBLIC_URL | Optional: feste Adresse für die QR-Codes |
src/db.js Datenbank (Postgres oder SQLite), Tabellen code_types, codes, payments, events
src/codes.js Service 1: Code-Arten, Codes, Signatur, Statuslog
src/payments.js Service 2: Decoding-Schritte, Zahlung starten, Anbieter-Ergebnis verbuchen
src/flows.js Anmeldung (Geburtsdatum, Ident), Kontostand, Adressänderung, Dokument-Upload (AES-256-GCM)
src/app.js HTTP-Routen und API
src/views.js HTML-Seiten
src/releaseNotes.js Inhalt der Seite /release-notes (Pflege siehe AGENTS.md)
public/ manager.js, pay.js + flows.js (Handy), provider.js (Anbieter-Checkouts), style.css
api/index.js Einstieg für Vercel