• chevron_right

      Monal IM: Using XMPP to get a vaccine

      Anu · news.movim.eu / PlanetJabber · Thursday, 4 March, 2021 - 03:57 · 2 minutes

    This picture may look simple but a lot of tech went into making it happen

    Even with the increased availability of covid vaccines, in the US, the problem many of us face is the the inability to get a vaccine appointment (or know where one is available). In my state, someone made a website that scrapes a lot of local data sources and provides a central location to query appointments. I noticed that this page exposed GET call that it made via javascript. Even better what if I could poll this data myself periodically with a cron job, parse the JSON and then when send a push notification to all of my devices. The latter part is where XMPP and Monal’s APNS infrastructure comes in. A couple of hours of tinkering later, I have the following script. I’m not the best at shell scripting and jq but this does the trick. If there is an appointment in places I care about the name, location and URL are pushed to every device I own. This is probably not super useful to anyone outside of Massachusetts, but feel free to take this and point it at your own data sources. The code is on GitHub feel free to send me improvements. I am not sure how many other consumer messaging systems let you script like this without hacks. You could probably use SMS with something like Twilio but that involves paying for messages.

    Just for fun this is a diagram of the insane flow that makes the picture at the start of this post happen:

    I use two tools you will need to install; jq to parse and query JSON and sendxmpp , a command line xmpp client. You will probably also want to set your cron tab to something that is called at an interval e.g.

    */30 * * * *

    The script:

    #!/bin/bashrm *.json curl 'https://mzqsa4noec.execute-api.us-east-1.amazonaws.com/prod' \  -H 'authority: mzqsa4noec.execute-api.us-east-1.amazonaws.com' \  -H 'user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36' \  -H 'accept: */*' \  -H 'origin: https://www.macovidvaccines.com' \  -H 'sec-fetch-site: cross-site' \  -H 'sec-fetch-mode: cors' \  -H 'sec-fetch-dest: empty' \  -H 'referer: https://www.macovidvaccines.com/' \  -H 'accept-language: en-US,en;q=0.9' \  --compressed -o data.json  jq  ".body |fromjson | .results "  data.json  > results.jsonfor row in $(cat results.json | jq  -r '.[] | select(.hasAvailability==true)  | select(.name |startswith("Walgreens")) | "Available in "+ .name + "," + .city +" "+ .signUpLink  | @base64'); do    message=`echo ${row} | base64 --decode `    echo "$message" |sendxmpp <address>  -tdonefor row in $(cat results.json | jq  -r '.[] | select(.hasAvailability==true)  | select(.name |startswith("CVS")) | "Available in "+ .name + "," + .city +" "+ .signUpLink  | @base64'); do    message=`echo ${row} | base64 --decode `    echo "$message" |sendxmpp <address>  -tdonefor row in $(cat results.json | jq  -r '.[] | select(.hasAvailability==true)  | select(.name |startswith("Fenway Park")) | "Available in "+ .name + "," + .city +" "+ .signUpLink  | @base64'); do    message=`echo ${row} | base64 --decode `    echo "$message" |sendxmpp <address>  -tdone

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/using-xmpp-to-get-a-vaccine/

    • chevron_right

      Ignite Realtime Blog: Smack 4.4.1 released

      Flow · news.movim.eu / PlanetJabber · Wednesday, 3 March, 2021 - 18:47

    We are happy to announce the availability of Smack 4.4.1, the first patch level release of Smack’s 4.4 series. It mostly contains bugfixes. Thanks to everyone who contributed by reporting and fixing bugs. As always, this Smack release is available via Maven Central .

    We would like to use this occasion to point at that Smack now ships with a NOTICE file. Please note that this adds some requirements when using Smack as per the Apache License 2.0 . The content of Smack’s NOTICE file can conveniently be retrieved using Smack.getNoticeStream() .

    1 post - 1 participant

    Read full topic

    • chevron_right

      Monal IM: Monal is on Mastodon

      Anu · news.movim.eu / PlanetJabber · Wednesday, 3 March, 2021 - 17:00

    I had never heard of Mastodon, which is sort of a federated twitter like service, until recently. Since there are a lot of open source and XMPP enthusiastic users on the Fosstodon server I have added an account there and all posts from this blog will be published there like they are on twitter. If you do use Mastodon, feel free to follow us :

    https://fosstodon.org/@Monal

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-is-on-mastodon/

    • chevron_right

      Monal IM: Monal stats 2/2021

      Anu · news.movim.eu / PlanetJabber · Wednesday, 3 March, 2021 - 04:11

    We don’t track the number of users Monal has. We do see thousands of downloads in the App Store statistics. Any user counting and crash tracking provided by Apple is strictly opt in only. So it always undercounts. However because every user registers a push device with the push server we do see how many devices there are using Monal. This is a very rough estimate that is a bit inflated because you can reset your push deviceids. With all that said, there are currently :

    • 63,600 devices registered to receive push notifications.
    • On the last day of the month, the push sever sent 62,799 push notifications.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-stats-2-2021/

    • chevron_right

      Monal IM: Monal 5 Beta 1

      Anu · news.movim.eu / PlanetJabber · Friday, 26 February, 2021 - 03:00

    The following changes are ready to be tested in Monal 5. The Mac build is up for download here and iOS will be available on TestFlight soon.

    • omemo to/from siskin/beagle now functional
    • showing of own omemo key qr codes for quick verification
    • persistence of trust levels even if omemo errors occur
    • qr code scanning for macOS
    • fixed crash on account deletion
    • don’t allow change of account jid
    • many small fixes
    • push server now uses xmpp for registering new push tokens (now the monal appserver never sees your ip)
    • catalyst (especially on apple silicon) now has real push support

    ongoing development (half implemented):

    • scanning of omemo qr codes (wip: ui)
    • filetransfer ui (wip: audio messages, download percentage, file size limits for auto-downloads)
    • muc support (working: entering mucs and muc-mam to load messages after extended offline periods)
    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-5-beta-1/

    • chevron_right

      Monal IM: Redesign of the Monal logo

      emus · news.movim.eu / PlanetJabber · Wednesday, 24 February, 2021 - 21:01 · 1 minute

    Hello everyone,

    with support from Anu & Thilo I am organizing the community project to redesign the Monal logo. After the suggestion’s have been made we would like to ask the community to vote and what should be done. No worries, there will be the option to keep the current one, if a majority votes for this.

    There are a few criteria:

    – Have a similar coloring scheme

    – Try to keep it suitable to the Monal name / “brand” and for the community

    – You agree to publish this under the same license as Monal is and do not use material that has copyright not enabling the use in this project

    – Provide it as SVG file (it is not are hard criteria but would be really helpful for us!)

    – Please hand in before the **31st of March 2021**

    Please publish your suggestion on Github . If you have multiple suggestions or versions please post each in a separate comment. If you don’t have the option to publish on Github, please reach out to the developers.

    We will likely call for final voting outside of GitHub, but feel free to us the platform vote function. Please respect the work of other, if you like it or not.

    Best regards

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/redesign-of-the-monal-logo/

    • chevron_right

      Monal IM: Monal 5 will support inline audio and video

      Anu · news.movim.eu / PlanetJabber · Tuesday, 23 February, 2021 - 19:40

    Monal 5 will be another big update with a lot of changes under the hood. Thanks to Jim this will add support for inline audio and video playback.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-5-will-support-inline-audio-and-video/

    • chevron_right

      Monal IM: Monal 5 betas

      Anu · news.movim.eu / PlanetJabber · Sunday, 7 February, 2021 - 03:39

    Mac beta is ready and available for download. The iOS one will come soon to testflight. This matches what used to be the alphas. Going forward the hope is to have just these regular builds and possibly nightly alphas published here (depending on how the CI work goes)

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/monal-5-betas/

    • chevron_right

      Monal IM: GitHub reorganization

      Anu · news.movim.eu / PlanetJabber · Friday, 5 February, 2021 - 21:00

    Monal is growing! That means we need to improve the way we collaborate and manage the various projects that build the client and server stack that makes it tick. With that in mind the development team is migrating from a collection of personal accounts to an organization in GitHub. Monal related projects are now in the monal-Im organization . This shouldn’t break any existing links the source code, bug reports or tickets. Please let us know if you do encounter any issues.

    • wifi_tethering open_in_new

      This post is public

      monal.im /blog/github-reorganization/