get Signal notifications via UnifiedPush
Project homepage: https://github.com/mollyim/mollysocket
Description
MollySocket allows getting Signal notifications via UnifiedPush.
It works like a linked device, which doesn't have an encryption key,
connected to the Signal server. Everytime it receives an encrypted event,
it notifies your mobile via UnifiedPush.
Package information
- Ports path
- net/mollysocket
- Package architecture
- amd64
- Maintainer
- Christoph Liebender <christoph@liebender.dev>
- Categories
- net, lang/rust
- Available flavors
- None listed
- Excluded architectures
- sparc64
Ports list build and test dependencies as well as runtime dependencies. pkg_add selects those needed for installation.
Direct dependencies
Library
Build
- devel/cargo-generate-vendor STEM->=1.1
- lang/rust
OpenBSD README
This README contains unresolved ports variables; replace them before using its commands.
+-------------------------------------------------------------------------------
| Running mollysocket on OpenBSD
+-------------------------------------------------------------------------------
Scope of mollysocket
====================
mollysocket is targeted at Signal users that want to use the Signal chat app on
android without google dependencies. mollysocket itself is only a single part
of a multi-program setup, some of which are optional.
Required software
-----------------
For de-googling your Signal experience, as well as mollysocket, you will need:
- Molly, a fork of Signal, installed from one of the official sources:
https://molly.im/get.html
- An UnifiedPush client app on the same android device. See https://ntfy.sh for
reference. This will default to using the public ntfy.sh server for
notifications. If you'd like to self-host that as well, net/ntfy is available
in the ports tree.
- An optional reverse-proxy setup in front of mollysocket, if you'd like Molly
to be able to communicate with mollysocket. relayd can be used for this.
Even if optional, this is recommended. Otherwise, you'd need to setup
mollysocket in 'airgapped' mode. Refer to upstream documentation for this.
Finish mollysocket install
==========================
Before running mollysocket for the first time, you need to generate a VAPID
key and append it to ${SYSCONFDIR}/mollysocket.conf. To do this, you may run:
# sed -i "s|changeme|$(mollysocket vapid gen)|" ${SYSCONFDIR}/mollysocket.conf
Since ${SYSCONFDIR}/mollysocket.conf now contains a secret, take care that
permissions on that file stay restrictive.
Reverse proxy in front of mollysocket
=====================================
By default, mollysocket listens to port 8020 on localhost for http
connections and expects to have an external reverse proxy adding https.
If using relayd, this snippet should get you started:
table <mollysocket> { 127.0.0.1 }
http protocol "wwwsecure" {
...
pass request quick header "Host" value "mollysocket.example.org" \
forward to <mollysocket>
...
}
relay "https4" {
...
protocol wwwsecure
forward to <mollysocket> port 8020
...
}
Other reverse proxies can be used (nginx is common).
Custom UnifiedPush endpoint
===========================
The default option is to use the public endpoint run at https://ntfy.sh/.
Others (public or otherwise) can be used; set "allowed_endpoints" in
${SYSCONFDIR}/mollysocket.conf.
Post-setup steps
================
After configuring mollysocket on your box, you need to setup the UnifiedPush
notification backend in the Molly app. This will show a device ID which you
can optionally set in "allowed_uuids" in ${SYSCONFDIR}/mollysocket.conf, preventing
any other Molly user from using your mollysocket instance.