mirror of
https://github.com/prdlk/vortex.git
synced 2026-08-02 17:31:41 +00:00
feat: guided bridge login wizard in TUI via bridgev2 provisioning API
Bootstrap now enables each bridge's provisioning API (persisted shared secret, matrix-token auth) and publishes /shared/bridges.json. The TUI bridge screen shows per-bridge login state and launches a step-driven wizard: flow picker, sequential input prompts (phone/cookies/password), in-terminal QR rendering with long-poll wait, cancel support. Discord (legacy bridge, no v3 API) keeps the bot-DM path via 'm'. verify.sh gains a provisioning API smoke check. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
d57086cd00
commit
760d9db800
@@ -43,22 +43,32 @@ a no-op. No YAML editing, no token copying.
|
||||
|
||||
## Logging into bridges
|
||||
|
||||
Open the TUI, press `b` for the bridge screen, pick a network — it opens a DM
|
||||
with that bridge's bot. Send `help` to list commands and `login` to start the
|
||||
login flow. QR codes sent by bots render in-terminal.
|
||||
Press `b` in the TUI for the bridge screen. It shows each bridge's login state
|
||||
(via the bridge provisioning API). **Enter starts a guided login wizard**:
|
||||
|
||||
| network | bot | login flow |
|
||||
|---|---|---|
|
||||
| WhatsApp | `@whatsappbot` | `login qr` (scan with phone) or `login pairing-code` |
|
||||
| Google Messages | `@gmessagesbot` | `login` → QR scan from the Messages app |
|
||||
| Telegram | `@telegrambot` | `login` → phone number + code. **Requires `TELEGRAM_API_ID`/`TELEGRAM_API_HASH` in `.env`** (get them at [my.telegram.org](https://my.telegram.org)). Without them the bridge is skipped with a log line. |
|
||||
| X/Twitter | `@twitterbot` | `login cookies` — paste browser cookies |
|
||||
| LinkedIn | `@linkedinbot` | `login cookies` |
|
||||
| Discord | `@discordbot` | `login qr` (scan with Discord app) or `login token` |
|
||||
| Instagram | `@metabot` | `login cookies` (bridge runs in `instagram` mode) |
|
||||
1. Pick a login method (the bridge advertises its flows: QR, pairing code,
|
||||
phone number, browser cookies, ...).
|
||||
2. The wizard walks each step — QR codes render right in the terminal,
|
||||
text fields become prompts, and the wizard waits while you scan/confirm.
|
||||
3. On success the bridge starts syncing your chats into the room list.
|
||||
|
||||
Cookie flows: the bot explains exactly which cookies to paste. Double puppeting
|
||||
is pre-configured for all bridges — your own messages sent from other devices
|
||||
The wizard talks to each bridge's `/_matrix/provision/v3` API, authenticated
|
||||
with your own Matrix access token — no extra secrets to configure.
|
||||
|
||||
| network | typical flows |
|
||||
|---|---|
|
||||
| WhatsApp | QR scan or phone pairing code |
|
||||
| Google Messages | Google account / QR from the Messages app |
|
||||
| Telegram | phone number + code. **Requires `TELEGRAM_API_ID`/`TELEGRAM_API_HASH` in `.env`** ([my.telegram.org](https://my.telegram.org)); without them the bridge is skipped. |
|
||||
| X/Twitter | browser cookies (wizard prompts for each value) |
|
||||
| LinkedIn | browser cookies |
|
||||
| Discord | manual only — legacy bridge without the v3 provisioning API. Press `m` to open the bot DM and use `login qr` or `login token`. |
|
||||
| Instagram | browser cookies (bridge runs in `instagram` mode) |
|
||||
|
||||
`m` on any bridge opens the bot DM for manual commands (`help`, `logout`,
|
||||
relay settings, ...). Passkey/WebAuthn flows aren't supported in a terminal —
|
||||
use the corresponding cookie or QR flow instead. Double puppeting is
|
||||
pre-configured for all bridges — your own messages sent from other devices
|
||||
appear as you.
|
||||
|
||||
## The TUI
|
||||
|
||||
Reference in New Issue
Block a user