beeper / bridge-manager Goto Github PK
View Code? Open in Web Editor NEWA tool for running self-hosted bridges with the Beeper Matrix server.
License: Apache License 2.0
A tool for running self-hosted bridges with the Beeper Matrix server.
License: Apache License 2.0
Hello, I would really like to have support for Snapchat (messages only !). I know adding support to a message system is pretty hard to make and maintain, but there is absolutely no problem if it's not now !
Thanks, and GG for this huge project !
Currently the setup process for bbctl
involves downloading the binary and, I guess... manually moving it to the correct folder in one's $PATH
? It would be a lot more straightforward if bbctl
were distributed through Homebrew, which supports both Linux and macOS and, among other things, takes care of deciding where to put binaries and semi-automatically updating packages to newly available versions.
Creating a Homebrew "Cask" (install formula) seems to be a relatively straightforward process, but it's just enough beyond my personal experience level that I would rather start by nudging you folx to create one yourselves. Hypothetically I could also ask in the Homebrew GitHub Discussions, but the way the forum is set up makes this less than straightforward, so I'm asking here, first.
Getting the following when I try to run the Slack bridge on an M1 Mac:
heywoodlh@mac-mini ~ % bbctl run sh-slack-000
Finding latest version of mautrix-slack from mau.dev
failed to update bridge: failed to find URL for job "build macos arm64" on branch main of mautrix/slack
Rosetta is enabled on this Mac, I'd be fine with using x86_64 Darwin if Mautrix Slack bridge if there is one. Not sure how to proceed and it's a pretty low priority for me so I'm not super concerned with fixing this -- but wanted to report it.
Having Beeper saves me several pinned tabs in a separate browser window for all my chat apps (each tab asking for a load of memory as well), but I still have a Friendica and a Mastodon account in tabs. Is a birdge to the fediverse in the plans?
Thanks!
Related to #2
./bbctl-macos-arm64 login
Fetching whoami to fill missing env config details
failed to get whoami: unexpected status code 401
Version: https://github.com/beeper/bridge-manager/releases/download/v0.12.0/bbctl-macos-arm64
Hello,
will it be possible to run the self-hosted bridges (via run command) as a deamon in the background in the future?
When exiting the bbctl utility the self hosted bridge will be stopped.
Additionally, please add the possibility to run multiple bridges in the background.
Thank you!
just wondering, its awesome to have the bridges to be open sourced for self hosting purposes,
but what about the beeper client? i might not have searched properly but i don't see a source for it. is there a reason why?
Per #8 I'd like to request a bbctl run sh-signal to run signalgo.
Hey all, not sure if this is related to mautrix-meta or bbctl but I am posting this here.
I run the sh-instagram bridge but wanted to change profile pictures to show correctly on iOS. after having some trouble here is what i did
bbctl run --no-override-config sh-instagram
, but get the errorbbctl run sh-instagram
and do not get the error at allUnfortunately i'm still getting this error. I listed the full errors below, this is what occurs when I run it (sometimes the errors only start when I start typing anything to the instagram bridge bot) and will repeat untii ctrl+c which is why it stops. Thank you for any help, I do greatly appreciate it
May 29 18:07:40.878 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=1 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:40.878 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=1 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:40.878 DBG Sent response to transaction req_id=1 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:40.982 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=2 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:40.983 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=2 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:40.983 DBG Sent response to transaction req_id=2 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:42.085 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=3 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:42.085 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=3 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:42.085 DBG Sent response to transaction req_id=3 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:43.188 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=4 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:43.188 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=4 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:43.188 DBG Sent response to transaction req_id=4 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:44.292 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=5 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:44.292 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=5 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:44.292 DBG Sent response to transaction req_id=5 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:45.395 INF Forwarding transaction contents={"edu":1,"pdu":0} req_id=6 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:45.396 ERR Failed to send transaction request error="Put \"websocket/_matrix/app/v1/transactions/e264284_d23743_r126574_t74030-%3Ee264284_d23743_r126574_t74031\": unsupported protocol scheme \"\"" req_id=6 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction May 29 18:07:45.396 DBG Sent response to transaction req_id=6 transaction_id=e264284_d23743_r126574_t74030->e264284_d23743_r126574_t74031 ws_command=transaction
I appear to get ~daily Signal bridge crashes with the following:
2023-11-12T01:37:27-05:00 DBG Got message from signal chat_id=36af6b3d-196b-4346-85bc-14eb9c3160aa
2023-11-12T01:37:27-05:00 WRN Trying to get puppet with empty signal_user_id
2023-11-12T01:37:27-05:00 DBG Outgoing message: receiptMessage (message), { type (enum), timestamp (uint64), [ <>, ] } component=signalmeow
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x80 pc=0xbe084a]
goroutine 1556 [running]:
main.(*Portal).addMentionsToMatrixBody(0xc000c29790, 0xc00033b8c0, {0xc00153c960, 0x1, 0x0?})
/builds/mautrix/signalgo/portal.go:976 +0xea
main.(*Portal).handleSignalTextMessage(0xc000c29790, {{0x158e7f0, 0xc0014dd340}, 0xc0004180b0, 0xc0008abc30, 0x0}, 0x0?)
/builds/mautrix/signalgo/portal.go:1080 +0x1c5
main.(*Portal).handleSignalMessages(0xc000c29790, {{0x158e7f0, 0xc0014dd340}, 0xc0004180b0, 0xc0008abc30, 0x0})
/builds/mautrix/signalgo/portal.go:856 +0x234
main.(*Portal).messageLoop(0xc000c29790)
/builds/mautrix/signalgo/portal.go:237 +0x175
created by main.(*SignalBridge).NewPortal in goroutine 124
/builds/mautrix/signalgo/portal.go:223 +0x413
Bridge exited
I'm just going to put it in a while loop for now; I'd file this against upstream, but I have no idea what version this is, so I'm putting this here.
root@v37905:/home# bbctl login
? Email: [email protected]
? Enter login code sent to your email: CODE
failed to log in: failed to POST /_matrix/client/v3/login: M_FORBIDDEN (HTTP 403): Token field for JWT is missing
Greetings! Thank you for such a great tool.
Just wanted to draw awareness that I have packaged beeper-bridge-manager for Nix. The corresponding Pull Request is here: NixOS/nixpkgs#329443
Please let me know if this is an issue, or feel free to ping me for Nix+beeper-bridge-manager questions, comments, concerns, etc.
Will close this as it's not an issue. 😄
The latest commit of mautrix discord 2138b611
doesn't have a build artifact for darwin amd64.
However bbctl still recognises the new commit and tries to download the binary for a missing building artifact and instead downloads the html source of the mau.dev login page.
Thus when trying to run bbctl run sh-discord
you get a exec format error
as it's not a binary.
Downloading older build artifacts for the correct arch doesn't work either as bbctl still tries to update them.
Currently when trying to run the docker container on a Raspberry Pi it fails to start with:
exec /bin/sh: exec format error
It would be nice to be able to run the bridge manager through docker on arm64
I want to try to the project but how can I connection my phone to it?
On my app, I only the following limited list of servers:
So, I have the server but I don't have a way to connect to it.
Hi,
I don't see an official bridge to Gmail or other SMTP/IMAP.
I found https://gitlab.com/etke.cc/postmoogle
I'm starting postmoogle Bot as Docker cnt.
docker run \
-e POSTMOOGLE_HOMESERVER="https://matrix.beeper.com/_hungryserv/LOGIN" \
-e POSTMOOGLE_LOGIN="LOGIN" \
-e POSTMOOGLE_PASSWORD="PASS" \
-e POSTMOOGLE_DOMAINS="MY_DOMAIN" \
postmoogle
and got logs:
INF postmoogle/cmd/cmd.go:48 > #############################
INF postmoogle/cmd/cmd.go:49 > Postmoogle
INF postmoogle/cmd/cmd.go:50 > Matrix: true
INF postmoogle/cmd/cmd.go:51 > #############################
INF postmoogle/vendor/go.mau.fi/util/dbutil/log.go:80 > Preparing to update database schema component=crypto current_version=0 db_section=matrix_state latest_known_version=5 oldest_compatible_version=0
INF postmoogle/vendor/go.mau.fi/util/dbutil/log.go:90 > Upgrading database component=crypto db_section=matrix_state description="Latest revision" from=0 single_txn=true to=5
INF postmoogle/vendor/go.mau.fi/util/dbutil/log.go:80 > Preparing to update database schema component=crypto current_version=0 db_section=crypto latest_known_version=14 oldest_compatible_version=0
INF postmoogle/vendor/go.mau.fi/util/dbutil/log.go:90 > Upgrading database component=crypto db_section=crypto description="Latest revision" from=0 single_txn=true to=14
INF postmoogle/smtp/manager.go:197 > (re)loading TLS config
WRN postmoogle/smtp/manager.go:199 > SSL certificates are not provided
INF postmoogle/smtp/manager.go:185 > Starting SMTP server port=25
INF postmoogle/bot/bot.go:138 > Postmoogle has been started
INF postmoogle/vendor/gitlab.com/etke.cc/linkpearl/linkpearl.go:164 > client has been started
ERR postmoogle/vendor/maunium.net/go/mautrix/crypto/machine.go:302 > Failed to check if room is encrypted to handle member event error="database is locked (5) (SQLITE_BUSY)" component=crypto room_id=!....:beeper.local
"Failed to check if room is encrypted to handle member event "
Maybe this is due to not full API support in hungryserv?
Maybe I didn't add something to the configuration?
Any idea on how to connect this together?
Maybe you recommend another Bot for Gmail?
Unable to login with 0.3.0:
$ bbctl-0.3 login
failed to get whoami: unexpected status code 401
but works as expected with 0.2.0:
$ bbctl-0.2 login
? Username:
Tested on macOS 13.4 and 13.4.1, both arm64 and amd64 versions of both 0.2 and 0.3
https://github.com/beeper/bridge-manager/tree/063928568d5d9c0c2c7ae072570f3878a159dddd?tab=readme-ov-file#official-bridge-list doesn't list one despite e-mail being the most used federated communication platform in the world, and Matrix officially recognizing https://matrix.org/ecosystem/bridges/email/.
Are there any plans for native Windows support? This is a missed opportunity, and I would love to know why this hasn't been done.
bbctl version v0.4.0+dev.7d5d7bad (built at Jul 9 2023, 21:48:56 CEST)
go version go1.19.9 linux/amd64
./bbctl config sh-discord
and/or
./bbctl config sh-gmessages
{"level":"info","name":"mautrix-discord","version":"0.5.0","built_at":"Jun 16 2023, 11:52:36","go_version":"go1.20.4","time":"2023-07-09T22:15:55.401670576+02:00","message":"Initializing bridge"}
{"level":"debug","time":"2023-07-09T22:15:55.401777858+02:00","message":"Initializing database connection"}
{"level":"debug","time":"2023-07-09T22:15:55.402437616+02:00","message":"Initializing state store"}
{"level":"debug","time":"2023-07-09T22:15:55.403596602+02:00","message":"Initializing Matrix event processor"}
{"level":"debug","time":"2023-07-09T22:15:55.403640648+02:00","message":"Initializing Matrix event handler"}
{"level":"info","time":"2023-07-09T22:15:55.403714518+02:00","message":"Bridge initialization complete, starting..."}
{"level":"debug","time":"2023-07-09T22:15:55.403739051+02:00","message":"Running database upgrades"}
{"level":"info","db_section":"main","current_version":23,"oldest_compatible_version":19,"latest_known_version":22,"time":"2023-07-09T22:15:55.409408906+02:00","message":"Database is up to date"}
{"level":"info","db_section":"matrix_state","current_version":5,"oldest_compatible_version":5,"latest_known_version":5,"time":"2023-07-09T22:15:55.411260755+02:00","message":"Database is up to date"}
{"level":"debug","time":"2023-07-09T22:15:55.411299595+02:00","message":"Starting application service websocket"}
{"level":"debug","time":"2023-07-09T22:15:55.411328871+02:00","message":"Checking connection to homeserver"}
{"level":"debug","as_user_id":"@sh-discordbot:beeper.local","req_id":1,"method":"GET","url":"https://lb.nodes.6187fa.bridges.beeper.com/jakub/_matrix/client/versions?user_id=%40sh-discordbot%3Abeeper.local","time":"2023-07-09T22:15:55.411384062+02:00","message":"Sending request"}
{"level":"error","action":"appservice websocket","error":"websocket request returned M_UNKNOWN_TOKEN (HTTP 401): Unrecognized access token","time":"2023-07-09T22:15:55.738673167+02:00","message":"Error in appservice websocket"}
{"level":"info","action":"appservice websocket","backoff_seconds":4,"time":"2023-07-09T22:15:55.738751382+02:00","message":"Websocket disconnected, reconnecting..."}
{"level":"debug","as_user_id":"@sh-discordbot:beeper.local","req_id":1,"method":"GET","path":"/versions","status_code":200,"response_length":279,"response_mime":"application/json","duration":331.574609,"beeper_request_id":"cilhauvg4jirv8m983s0","time":"2023-07-09T22:15:55.743153211+02:00","message":"Request completed"}
{"level":"debug","as_user_id":"@sh-discordbot:beeper.local","req_id":2,"method":"GET","url":"https://lb.nodes.6187fa.bridges.beeper.com/jakub/_matrix/client/v3/account/whoami?user_id=%40sh-discordbot%3Abeeper.local","time":"2023-07-09T22:15:55.745107146+02:00","message":"Sending request"}
{"level":"debug","as_user_id":"@sh-discordbot:beeper.local","req_id":2,"method":"GET","path":"/v3/account/whoami","status_code":401,"response_length":66,"response_mime":"application/json","duration":69.75632,"beeper_request_id":"cilhauvg4jirv8m983sg","time":"2023-07-09T22:15:55.815017552+02:00","message":"Request completed"}
{"level":"fatal","time":"2023-07-09T22:15:55.815209065+02:00","message":"The as_token was not accepted. Is the registration file installed in your homeserver correctly?"}
I could not find this information: how much RAM/what CPU do I need to run an instance of all the bridges with a single user?
Thank you !
Hallo,
habe mir eben den whatsapp bridge bot eingespielt da ich 2 instanzen benötige und habe das bei matrix-synapse eingebunden
aber die nachrichten werden nicht so angezeigt wie in der beeper app (beispiel meine nachrichten werden nicht angezeigt)
habe die config genutzt
https://github.com/beeper/bridge-manager/blob/main/bridgeconfig/whatsapp.tpl.yaml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.