This commit is contained in:
dni ⚡ 2026-08-10 08:05:51 +01:00 committed by GitHub
commit 71fb4cdb5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 42 additions and 7 deletions

View file

@ -16,6 +16,7 @@ from lnbits.core.services import create_invoice, create_user_account
from lnbits.decorators import (
check_admin,
check_admin_ui,
check_blockexplorer_public,
check_extension_builder,
check_first_install,
check_user_exists,
@ -185,8 +186,6 @@ admin_ui_checks = [Depends(check_admin), Depends(check_admin_ui)]
@generic_router.get("/wallets")
@generic_router.get("/account")
@generic_router.get("/extensions")
@generic_router.get("/blockexplorer")
@generic_router.get("/blockexplorer/{resource_type}/{resource}")
@generic_router.get("/users", dependencies=admin_ui_checks)
@generic_router.get("/audit", dependencies=admin_ui_checks)
@generic_router.get("/node", dependencies=admin_ui_checks)
@ -217,6 +216,13 @@ async def index(
@generic_router.get("/")
@generic_router.get("/node/public")
@generic_router.get("/first_install", dependencies=[Depends(check_first_install)])
@generic_router.get(
"/blockexplorer", dependencies=[Depends(check_blockexplorer_public)]
)
@generic_router.get(
"/blockexplorer/{resource_type}/{resource}",
dependencies=[Depends(check_blockexplorer_public)],
)
async def index_public(request: Request) -> HTMLResponse:
return template_renderer().TemplateResponse(request, "base.html", {"public": True})

View file

@ -562,3 +562,11 @@ async def check_first_install():
status_code=HTTPStatus.BAD_REQUEST,
detail="Super user account has already been configured.",
)
def check_blockexplorer_public() -> None:
if not settings.lnbits_blockexplorer_public_api:
raise HTTPException(
status_code=HTTPStatus.NOT_FOUND,
detail="Block explorer public API is disabled.",
)

File diff suppressed because one or more lines are too long

View file

@ -948,6 +948,7 @@ window.localisation.en = {
blockexplorer_public_api: 'Public API Access',
blockexplorer_public_api_desc:
'Allow unauthenticated access to the block explorer API endpoints.',
view_public_block_explorer: 'View public block explorer page',
electrum_compatible_server: 'Electrum compatible server',
electrum_server_url: 'Electrum Server URL',
electrum_server_url_hint:

View file

@ -43,6 +43,22 @@
></q-item-label>
</q-item-section>
</q-item>
<div
v-if="formData.lnbits_blockexplorer_public_api"
class="q-pl-lg q-mt-xs"
>
<q-btn
type="a"
href="/blockexplorer"
target="_blank"
rel="noopener noreferrer"
icon="open_in_new"
:label="$t('view_public_block_explorer')"
color="primary"
flat
dense
></q-btn>
</div>
</div>
</div>
<q-separator class="q-mb-lg q-mt-sm"></q-separator>
@ -77,13 +93,17 @@
></q-select>
</div>
<div class="col-12">
<a
<q-btn
type="a"
href="https://1209k.com/bitcoin-eye/ele.php?chain=btc"
target="_blank"
rel="noopener noreferrer"
>
<span v-text="$t('view_public_electrum_servers')"></span>
</a>
icon="open_in_new"
:label="$t('view_public_electrum_servers')"
color="primary"
flat
dense
></q-btn>
</div>
</div>
</q-card-section>