Merkmale:
- KISS;
- selbstgehostet;
- Fehlen von GebĂŒhren (zum Beispiel, Bountysource und Gitcoin ziehen sich 10% von der Auszahlung ab);
- UnterstĂŒtzung mehrerer KryptowĂ€hrungen (aktuell Bitcoin, Ethereum und Cardano);
- Geplant (und vorgesehen) ist die UnterstĂŒtzung von GitLab, Gitea und anderen Git-Hosting-Diensten in Zukunft.
- Globale Aufgabenliste von allen (d.h. einem zum Zeitpunkt der Nachrichtenverfassung) Instanzen auf donate.dumpstack.io.
Arbeitsmechanismus fĂŒr GitHub aus Sicht des Repository-Besitzers:
- (optional) es ist erforderlich, den Dienst zu implementieren, es kann verwendet werden eine fertige Konfiguration fĂŒr NixOS;
- es muss hinzugefĂŒgt werden GitHub Action â innerhalb wird ein Dienstprogramm aufgerufen, das die Aufgaben des Projekts scannt und einen Kommentar ĂŒber den aktuellen Status der Spenden-Wallets hinzufĂŒgt/aktualisiert, wobei der private Teil der Wallets nur auf dem Spenden-Server gespeichert wird (in Zukunft mit der Möglichkeit, dies offline fĂŒr groĂe Spenden zu ermöglichen, zur manuellen BestĂ€tigung der Auszahlung);
- in allen aktuellen Aufgaben (und neuen) erscheint eine Nachricht von github-actions[bot] mit den Adressen der Spenden-Wallets (Beispiel).
Arbeitsmechanismus aus Sicht des ausfĂŒhrenden Aufgaben:
- im Kommentar zum Commit wird angegeben, welche spezifische Aufgabe dieser Commit löst (siehe Closing issues using keywords);
- im Text des Pull Requests werden die Adressen der Wallets in einem bestimmten Format angegeben (zum Beispiel, BTC{address}).
- bei Annahme des Pull Requests erfolgt die Auszahlung automatisch.
- wenn die Wallets nicht angegeben sind oder nicht alle angegeben sind, erfolgt die Auszahlung der Mittel fĂŒr nicht angegebene Wallets an die Standard-Wallets (zum Beispiel kann dies eine gemeinsame Projekt-Wallet sein).
Sicherheit:
- Die AngriffsflÀche ist insgesamt gering;
- basierend auf den Arbeitsmechanismen sollte der Dienst in der Lage sein, Mittel eigenstĂ€ndig zu versenden, so dass der Zugang zum Server in jedem Fall Kontrolle ĂŒber die Mittel bedeutet â die einzige Lösung könnte die Arbeit im nicht automatisierten Modus sein (zum Beispiel manuelle BestĂ€tigung von Auszahlungen), die wahrscheinlich (wenn das Projekt erfolgreich genug ist, damit jemand auf diese FunktionalitĂ€t spenden kann, dann ist es nicht wahrscheinlich, sondern sicher) irgendwann implementiert werden wird;
- kritisch wichtige Teile sind klar getrennt (in der Regel handelt es sich um die einzige Datei pay.go mit 200 Zeilen), was die Sicherheitscode-ĂberprĂŒfung vereinfacht;
- Der Code hat eine unabhĂ€ngige SicherheitsĂŒberprĂŒfung bestanden, was nicht bedeutet, dass es keine Schwachstellen gibt, aber die Wahrscheinlichkeit ihres Vorhandenseins verringert, insbesondere im Hinblick auf die geplante regelmĂ€Ăige ĂberprĂŒfung;
- Es gibt auch Teile, die nicht kontrolliert werden (zum Beispiel die APIs von GitHub/GitLab usw.), mögliche Schwachstellen in externen APIs sollen durch zusĂ€tzliche PrĂŒfungen geschlossen werden; dennoch ist das Problem im aktuellen Ăkosystem insgesamt nicht lösbar und liegt auĂerhalb des Anwendungsbereichs (eine mögliche Schwachstelle, die es erlaubt, fremde Pull-Requests zu schlieĂen und somit Code in fremde Projekte einzufĂŒgen - hat viel weitreichendere Folgen).
Quelle: linux.org.ru
