Skip to content

Releases: hifi/heisenbridge

v1.15.0

09 Aug 21:28
Compare
Choose a tag to compare

This release requires Python 3.10 or higher.

Authenticated media

Matrix v1.11 deprecated the old way of downloading media without authentication, which Heisenbridge was relying on when bridging media. This release adds a proxy into the bridge which allows unauthenticated access to media that has been sent over the bridge. Support for old way of bridging media has also been removed completely, which means a Matrix v1.11 compatible homeserver is required (Synapse v1.111 or higher, matrix-media-repo v1.3.5 or higher, Conduit/Dendrite not yet available).

To set it up, configure your reverse proxy to pass /_heisenbridge/media/* to heisenbridge, then set heisenbridge -> media_url in the registration file with the public URL that the reverse proxy handles (without the /_heisenbridge/media prefix). Optionally, you can run another heisenbridge instance with the --media-proxy flag to have it in a separate process. When doing so, point the reverse proxy at that second process, not the main process.

The path that heisenbridge emits can also be configured using the heisenbridge -> media_path option (defaults to /_heisenbridge/media/{server}/{media_id}/{checksum}{filename}). However, it does not change the path where heisenbridge listens, so you must rewrite paths in your reverse proxy if using that option.

The unauthenticated links generated by Heisenbridge will have a checksum to prevent accessing media that hasn't been sent over the bridge. By default, the checksum uses the hs_token as the HMAC secret. Optionally, you can set heisenbridge -> media_key in the registration to use a custom key.

Other changes

  • Filter out empty user IDs in status command (@Christoph-D in #286)
  • Added setting to insert username prefix on all lines of a multi-line message (@russss in #276)
  • Added note to help that shell escaping may be required for some commands (@hades in #271)
  • Added option to disable reactions (@9p4 in #275)

v1.14.6

01 Nov 05:51
Compare
Choose a tag to compare
Don't listen on all interfaces if empty reg URL

v1.14.5

15 Aug 18:16
Compare
Choose a tag to compare
Prevent future surprises with irc library updates

v1.14.4

30 Jul 17:34
Compare
Choose a tag to compare
Auto-join bridge rooms on Beeper

v1.14.3

14 Jul 05:55
Compare
Choose a tag to compare
  • Accept elliptic curve keys in the CERTFP command (thanks @viiru-)
  • Include ! in the mode list, fixes weird modes breaking nicks (thanks @gsora)
  • Add support for away-notify cap, fixes crashes for unexpected AWAY commands
  • Bump Mautrix max version to v0.20.x
  • Drop Python 3.8 support (because of Mautrix)

v1.14.2

07 Feb 08:22
Compare
Choose a tag to compare
Add support for AS websockets

v1.14.1

06 Jan 10:21
Compare
Choose a tag to compare
Fix container building on armv7l

v1.14.0

19 Aug 18:41
Compare
Choose a tag to compare
Remove old fallback and never process plain text body for mentions

v1.13.1

24 Jun 10:58
Compare
Choose a tag to compare
Disable pastebin by default

v1.13.0

18 May 09:29
Compare
Choose a tag to compare
  • Read default port and listen address from config url (@BtbN)
  • Improvements to pillifying IRC nicks, again
  • Fixes for AUTOQUERY not always working correctly
  • Allow anyone to use STATUS command to get their own status
  • Filter control characters only for plumbs so people can send garbage to IRC if they wish from Matrix
  • Support for converting IRC color codes to Matrix (@tjaderxyz)
  • Fixed compose docker Synapse configuration for registration
  • Improved Python 3.10 compatibliy (@BtbN)
  • Hidden room to hide joins using restricted rooms join rule (@BtbN)

Enabling hidden room functionality additionally requires either re-joining channels or having them already at v9 and using the UPGRADE command.