Hacking CKBunker

So you want to improve CKBunker? Sure. Here are some starting points.


It’s a python program, based on aiohttp for async http operation. The web UI is provided using Semantic UI and Vue for model/view management. HTML pages are constructed using Jinja templates. Data between the browser and backend is communicated mainly via a websocket that stays open the entire time a page is shown in the browser.

Important Dependancies

See requirements.txt for complete list, but in summary, here are the major Python packages we are using.

Major Files - Web backend - API access for sending transactions - Time related stuff - Connection to a Coldcard, somewhat async wrapping for ckcc-protocol - Startup code - Data persistance and default settings - Manage HSM policy details. - Live state information about the system and attached Coldcard - Manage Tor hidden service connection (via stem) - My favourite type of code. - Construct the capatcha. - Pip/Pypi glue

templates/ - Jinja HTML templates, with JS and Vue code mixed in
static/ - static CSS, JS and font resources (web)
data/ - encrypted Bunker settings saved at run time.
docs/ - these docs

Project Ideas

Looking for something to do? Here are some loose ends or ideas we haven’t been able start:

Code Submission Guidelines

PR’s are welcome but…