Blockstream / blind_pin_server

MIT License
13 stars 10 forks source link

Can the PinQR Helper webpage be included in this repo too? #16

Open 3rdIteration opened 1 year ago

3rdIteration commented 1 year ago

I am playing around with self-hosted PIN servers and noticed that if you follow the currently available documentation and set it up without HTTPS, then you can't use the PinQR helper page hosted by blockstream.

Simply downloading the helper and running it locally over http works just fine. (Though none of the source includes any license information, so I'm loathed to simply add that and bring it via a PR)

I'll likely also just include the settings needed to run the PIN server via HTTPS in a video that I will be making on this matter. Basically this would be helpful for those who want to have a fully self-hosted local setup and still log in via PinQR.

m-schmoock commented 1 year ago

Yes, that would be helpful. Not necessarily the Blockstream style page, but maybe a simple page without style, just showing the QRs would be sufficient.

petre-c commented 1 year ago

@3rdIteration , have you managed to fix this / make the video? I'm unable to show the QR code and was wondering how to fix this..

3rdIteration commented 1 year ago

They (blockstream) are doing some work on the pinserver for something like Umbrel and this will likely include a docco refresh, so I am basically waiting to see what they end up releasing with that.

Are you asking about how to self host the PinQR helper or how to use the pinserver generally?

petre-c commented 1 year ago

They (blockstream) are doing some work on the pinserver for something like Umbrel and this will likely include a docco refresh, so I am basically waiting to see what they end up releasing with that.

Are you asking about how to self host the PinQR helper or how to use the pinserver generally?

I followed the official guides on the support article on Blockstream's help portal as well as on this repo and on that for Jade and managed to set up and launch the pinserver, albeit with many hickups along the way.

Also changed the pinserver url in the Jade hardware wallet and set

--set-url https://127.0.0.1:8069

instead of the url address without the scheme (python script didn't accept it without it).

pinserver is started at http://127.0.0.1:8069 but the index.html is returning an empty body - I don't know if I should expecting a similar browser-based workflow as the one officially supported through their website.

This repo doesn't seem to have been created with being built on Windows in mind, due to a number of issues I had to overcome to be able to get to the end 🙂

3rdIteration commented 1 year ago

Basically, unless you are self-hosting the PinQR helper (Which isn't readily available, that is what this issue I opened is about), it needs to be running on the pinserver with enabled HTTPS with a valid certificate, an SSL cert from Letsencrypt works fine, or a self-signed cert that your browser trusts. (If you self host the PinQR helper then you can get away with running everything over http)

petre-c commented 1 year ago

I will start by selfhosting the PinQR helper and will likely end there, I'm just trying to set up the PinQR for a fully offline infrastructure and workflow for myself.

petre-c commented 1 year ago

Simply downloading the helper and running it locally over http works just fine

Where does one get the PinQR helper from?

3rdIteration commented 1 year ago

The simple answer is that you don't, that is what this issue is asking for. (I have a working copy, but it isn't licenced in a such a way as to allow it to be shared)

That said, it is possible to download it manually from the PinQR website if you know how. (And if you don't, the best solution is to get HTTPS working properly on your blind pinserver)

petre-c commented 1 year ago

Okay, thank you!

petre-c commented 1 year ago

@JamieDriver @greenaddress @nitramiz

please answer

JamieDriver commented 1 year ago

@bitcoinhelp

bitcoinhelp commented 1 year ago

https://github.com/Blockstream/esp32_bc-ur/tree/emscripten

https://github.com/Blockstream/esp32_bc-ur/blob/emscripten/EMSCRIPTEN.md (small typo it looks like, http://127.0.0.1:9990 should of course be http://127.0.0.1:9999)