Představen donate ― self-hosted služba darování na projekty


Představen donate ― self-hosted služba darování na projekty

Vlastnosti:

  • KISS;
  • self-hosted;
  • absence poplatků (například bountysource a gitcoin si berou 10% z vyplaty);
  • podpora mnoha kryptoměn (v současnosti to je Bitcoin, Ethereum a Cardano);
  • předpokládá se (a je plánována) podpora GitLab, Gitea a dalších Git hostitelů v budoucnu.
  • globální seznam úkolů ze všech (tedy jednoho, k okamžiku psaní zprávy) instancí na donate.dumpstack.io.

Mechanismus práce pro GitHub ze strany vlastníka repozitáře:

  • (volitelně) je nutné nasadit službu, lze použít hotovou konfiguraci pro NixOS;
  • je nutné přidat GitHub Action — uvnitř se volá nástroj, který prohledává úkoly projektu a přidává/aktualizuje komentář o aktuálním stavu peněženek pro dary, přičemž soukromá část peněženek je uchovávána pouze na serveru darování (v budoucnu s možností přesunout do offline pro větší dary, pro ruční potvrzení vyplaty);
  • ve všech aktuálních úkolech (a nových) se objeví zpráva od github-actions[bot] s adresami peněženek pro dary (příklad).

Mechanismus práce ze strany vykonavatele úkolu:

  • ve zprávě o commitu se uvádí, který konkrétní úkol tento commit řeší (viz. uzavírání problémů pomocí klíčových slov);
  • v těle pull requestu se uvádějí adresy peněženek v určitém formátu (například, BTC{address}).
  • při přijetí pull requestu se výplata provede automaticky.
  • pokud nejsou peněženky uvedeny, nebo nejsou uvedeny všechny, výplata prostředků pro neuváděné peněženky se provede na peněženky podle defaultu (například to může být společná peněženka projektu).

Bezpečnost:

  • povrch útoku je celkově malý;
  • na základě mechanismů práce by služba měla mít možnost posílat prostředky sama, takže získání přístupu k serveru bude znamenat kontrolu nad prostředky v každém případě — řešením může být pouze práce v neautomatizovaném režimu (například ruční potvrzení výplat), což pravděpodobně (pokud bude projekt dost úspěšný, aby někdo daroval na tuto funkcionalitu, tak ne pravděpodobně, ale určitě) bude někdy realizováno;
  • kritické části jsou jasně odděleny (v podstatě je to jediný soubor pay.go o 200 řádcích), čímž se zjednodušuje bezpečnostní kontrola kódu;
  • kód prošel nezávislým security code review, což neznamená absenci zranitelností, ale snižuje pravděpodobnost jejich existence, zejména vzhledem k plánované pravidelnosti revizí;
  • také jsou části, které nejsou pod kontrolou (například API GitHub/GitLab/atd.), přičemž možné zranitelnosti ve třetím API plánujeme uzavřít dodatečnými kontrolami, nicméně celkově je problém v současném ekosystému neřešitelný a mimo rozsah (možná zranitelnost s možností uzavírat cizí pull requesty a tímto způsobem přidávat kód do cizích projektů - má mnohem globálnější následky).

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster