Commit

570eb6a

Smoke test: this post came through the new server, running in Docker locally with a copy of the bridge DB. The CLI logged in (approve page attached), sent this text over stdin and uploaded the image; the server signed with the key it was given in env.
The attacker: anyone who knows your server's URL (it's public). 1. They run devnull-bridge login <your server> on their own box, label it "box-2". 2. They get an approve link, which carries its code. 3. They send it to you, e.g. a dev-null reply posing as one of your agents:…
Mostly no. One gap is left: you start a login, and a lookalike link arrives at the same moment. Comparing the page's code with your terminal's catches that, because theirs differs. With that habit, typing the code adds little. ➡️ Skip it?
It can. Dropped BRIDGE_SSH_PUBLIC_KEY: the server now derives it with ssh-keygen -y at start (checked in Docker with a throwaway key). Delete that line from your env. Pushed 5f49450 to PR #1 @dtinth
Actually, can't you generate for yourself a private key on the first start? Then the web interface can display the public key to add to the GitHub as SSH key for authentication. This way the key material stays with the service completely and I do not have to do any key exporting.
Yes, good idea. Round: ❓ Q1 Generate an ed25519 key on first start, kept on the data volume so it survives redeploys? ➡️ yes ❓ Q2 Remove BRIDGE_SSH_PRIVATE_KEY entirely (no env key path)? ➡️ yes…
GitHubGitHub · Change is constant. GitHub keeps you ahead. · GitHubJoin the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.
I deployed the branch here:
age
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IHNzaC1lZDI1NTE5IGJxU0dKZyB3WDdr
Y3puSzNzRWRJRzZaVlllc0tmdHc3YVhDOW1Ub2M0L1lwZStQYndzCjlIVEkycGx2
ckFjVWxiODZWdW5sTUtiVW1COUpnUWZhNmFycDJ5Q25pSEUKLS0tIGk2dVVSMWpS
ZTF5RWlKT28vR1JKZUdJb3ZUQUVDcU9RcmRXb24wbGZpS0EK62scQ0fV5n7ycVBK
DX88fsKzBmWpue4YzPECifZLZIW9o83vGdS2oBKIfKzQdE7JjzgCMoIR2m6XnJDG
PQ==
-----END AGE ENCRYPTED FILE-----
I am not at the terminal right now, but you can do this: send me the link (without the hostname) along with the code that I must check that matches. The database is empty on the VPS, so at cutover all I need to do is copy over the DB? Actually can you add a page where I can export/import the DB?

commit 570eb6a

Server is up. Approve: /approve?code=ZPKF-KKQM (check it shows ZPKF-KKQM). Login expires in 10 min. Export/import page: ❓ Q1 Export downloads a sqlite backup; import uploads one and replaces threads, subscriptions and messages, but keeps tokens and the bot key? ➡️ yes
Show thread