Software / code / prosody-modules
Annotate
mod_register_apps/mod_register_apps.lua @ 6281:9d88c3d9eea5
mod_http_oauth2: Enforce the registered grant types
Thus a client can limit itself to certain grant types.
Not sure if this prevents any attacks, but what was the point of
including this in the registration if it was not going to be enforced?
This became easier to do with client_id being available earlier.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Mon, 02 Jun 2025 20:55:20 +0200 |
| parent | 6230:8c98b1dd1ad3 |
| rev | line source |
|---|---|
|
4186
aba0470ed725
mod_register_apps: Ignore the long lines [luacheck]
Kim Alvefur <zash@zash.se>
parents:
4178
diff
changeset
|
1 -- luacheck: ignore 631 |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 module:depends("http"); |
|
6230
8c98b1dd1ad3
mod_register_apps: Remove compatibility with 0.11
Link Mauve <linkmauve@linkmauve.fr>
parents:
6096
diff
changeset
|
3 local http_files = require "net.http.files"; |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 local app_config = module:get_option("site_apps", { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 name = "Conversations"; |
|
5955
07f32bf41303
mod_register_apps: Update Conversations Android version
Kim Alvefur <zash@zash.se>
parents:
5740
diff
changeset
|
8 text = [[Conversations is a Jabber/XMPP client for Android 6.0+ smartphones that has been optimized to provide a unique mobile experience.]]; |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 image = "assets/logos/conversations.svg"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 link = "https://play.google.com/store/apps/details?id=eu.siacs.conversations"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 platforms = { "Android" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 supports_preauth_uri = true; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 magic_link_format = "{app.link!}&referrer={invite.uri}"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 buttons = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 image = "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 url = "https://play.google.com/store/apps/details?id=eu.siacs.conversations"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 name = "yaxim"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
25 text = [[A lean Jabber/XMPP client for Android. It aims at usability, low overhead and security, and works on low-end Android devices starting with Android 4.0.]]; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
26 image = "assets/logos/yaxim.svg"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 link = "https://play.google.com/store/apps/details?id=org.yaxim.androidclient"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 platforms = { "Android" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 supports_preauth_uri = true; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 magic_link_format = "{app.link!}&referrer={invite.uri}"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 buttons = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
33 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 image = "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
35 url = "https://play.google.com/store/apps/details?id=org.yaxim.androidclient"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
38 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 name = "Siskin IM"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
42 text = [[A lightweight and powerful XMPP client for iPhone and iPad. It provides an easy way to talk and share moments with your friends.]]; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
43 image = "assets/logos/siskin-im.png"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 link = "https://apps.apple.com/us/app/siskin-im/id1153516838"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 platforms = { "iOS" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 supports_preauth_uri = true; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 buttons = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 { |
|
6096
fe380764032d
mod_register_apps: Fix iOS download button image URLs
Robby Stokoe <robbystk@protonmail.com>
parents:
5955
diff
changeset
|
50 image = "https://toolbox.marketingtools.apple.com/api/v2/badges/download-on-the-app-store/black/en-us?releaseDate=1245024000"; |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
51 url = "https://apps.apple.com/us/app/siskin-im/id1153516838"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
52 target = "_blank"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
56 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
57 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
58 name = "Beagle IM"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
59 text = [[Beagle IM by Tigase, Inc. is a lightweight and powerful XMPP client for macOS.]]; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 image = "assets/logos/beagle-im.png"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 link = "https://apps.apple.com/us/app/beagle-im/id1445349494"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 platforms = { "macOS" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
64 buttons = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
65 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 text = "Download from Mac App Store"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
67 url = "https://apps.apple.com/us/app/beagle-im/id1445349494"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
68 target = "_blank"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
69 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 }; |
|
4178
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
72 setup = { |
|
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
73 text = [[Launch Beagle IM, and select 'Yes' to add a new account. Click the '+' |
|
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
74 button under the empty account list and then enter your credentials.]]; |
|
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
75 }; |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 name = "Dino"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
79 text = [[A modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.]]; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
80 image = "assets/logos/dino.svg"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
81 link = "https://dino.im/"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
82 platforms = { "Linux" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
83 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
84 text = "Click the button to open the Dino website where you can download and install it on your PC."; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
85 buttons = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 { text = "Download Dino for Linux", url = "https://dino.im/#download", target="_blank" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
87 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 name = "Gajim"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
92 text = [[A fully-featured desktop chat client for Windows and Linux.]]; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 image = "assets/logos/gajim.svg"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
94 link = "https://gajim.org/"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 platforms = { "Windows", "Linux" }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 download = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
97 buttons = { |
|
4111
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
98 { |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 text = "Download Gajim"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
100 url = "https://gajim.org/download/"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 target = "_blank"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
105 }; |
|
5014
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
106 { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
107 name = "Monal"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
108 text = [[A modern open-source chat client for iPhone and iPad. It is easy to use and has a clean user interface.]]; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
109 image = "assets/logos/monal.svg"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
110 link = "https://monal-im.org/"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
111 platforms = { "iOS" }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
112 supports_preauth_uri = true; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
113 download = { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
114 buttons = { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
115 { |
|
6096
fe380764032d
mod_register_apps: Fix iOS download button image URLs
Robby Stokoe <robbystk@protonmail.com>
parents:
5955
diff
changeset
|
116 image = "https://toolbox.marketingtools.apple.com/api/v2/badges/download-on-the-app-store/black/en-us?releaseDate=1245024000"; |
|
5014
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
117 url = "https://apps.apple.com/app/id317711500"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
118 target = "_blank"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
119 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
120 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
121 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
122 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
123 { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
124 name = "Monal"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
125 text = [[A modern open-source chat client for Mac. It is easy to use and has a clean user interface.]]; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
126 image = "assets/logos/monal.svg"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
127 link = "https://monal-im.org/"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
128 platforms = { "macOS" }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
129 supports_preauth_uri = true; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
130 download = { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
131 buttons = { |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
132 { |
|
6096
fe380764032d
mod_register_apps: Fix iOS download button image URLs
Robby Stokoe <robbystk@protonmail.com>
parents:
5955
diff
changeset
|
133 image = "https://toolbox.marketingtools.apple.com/api/v2/badges/download-on-the-app-store/black/en-us?releaseDate=1245024000"; |
|
5014
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
134 url = "https://apps.apple.com/app/id1637078500"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
135 target = "_blank"; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
136 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
137 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
138 }; |
|
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
139 }; |
|
5740
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
140 { |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
141 name = "Renga"; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
142 text = [[XMPP client for Haiku]]; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
143 image = "assets/logos/renga.svg"; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
144 link = "https://pulkomandy.tk/projects/renga"; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
145 platforms = { "Haiku" }; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
146 download = { |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
147 buttons = { |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
148 { text = "Download Renga for Haiku", url = "https://depot.haiku-os.org/#!/pkg/renga?bcguid=bc233-PQIA", target="_blank" }; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
149 }; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
150 }; |
|
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
151 }; |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
152 }); |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
153 |
|
4113
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
154 local show_apps = module:get_option_set("site_apps_show"); |
|
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
155 local hide_apps = module:get_option_set("site_apps_hide"); |
|
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
156 |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
157 local base_url = module.http_url and module:http_url(); |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
158 local function relurl(s) |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
159 if s:match("^%w+://") then |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
160 return s; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
161 end |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
162 return base_url.."/"..s; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
163 end |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
164 |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
165 local site_apps = module:shared("apps"); |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
166 |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
167 local function add_app(app_info, source) |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
168 local app_id = app_info.id or app_info.name:gsub("%W+", "-"):lower(); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
169 if (not show_apps or show_apps:contains(app_id)) |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
170 and not (hide_apps and hide_apps:contains(app_id)) |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
171 and not site_apps[app_id] then |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
172 app_info.id = app_id; |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
173 app_info.image = relurl(app_info.image); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
174 site_apps[app_id] = app_info; |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
175 app_info._source = source; |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
176 table.insert(site_apps, app_info); |
|
4111
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
177 end |
|
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
178 end |
|
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
179 |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
180 local function remove_app(app_info) |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
181 local app_id = app_info.id or app_info.name:gsub("%W+", "-"):lower(); |
|
4187
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
182 for i = #site_apps, 1, -1 do |
|
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
183 if site_apps[i].id == app_id then |
|
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
184 table.remove(site_apps, i); |
|
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
185 end |
|
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
186 end |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
187 site_apps[app_id] = nil; |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
188 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
189 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
190 local function add_config_apps() |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
191 for _, app_info in ipairs(app_config) do |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
192 add_app(app_info, module.name); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
193 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
194 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
195 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
196 local function module_app_added(event) |
|
4630
635907a5d2c8
mod_register_apps: Reduce yellow yelling in log message
Kim Alvefur <zash@zash.se>
parents:
4187
diff
changeset
|
197 module:log("info", "Adding %s", event.item.name) |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
198 add_app(event.item, module.name); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
199 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
200 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
201 local function module_app_removed(event) |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
202 remove_app(event.item); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
203 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
204 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
205 -- Remove all apps added by this module |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
206 local function remove_all_apps() |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
207 for k, v in pairs(site_apps) do |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
208 if v._source == module.name then |
|
4672
0b084f63fed0
mod_register_apps: Fix removal on unload (thanks ibikk)
Kim Alvefur <zash@zash.se>
parents:
4630
diff
changeset
|
209 remove_app(v); |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
210 end |
|
4113
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
211 end |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
212 end |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
213 |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
214 local mime_map = { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
215 png = "image/png"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
216 svg = "image/svg+xml"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
217 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
218 |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
219 module:provides("http", { |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
220 route = { |
|
6230
8c98b1dd1ad3
mod_register_apps: Remove compatibility with 0.11
Link Mauve <linkmauve@linkmauve.fr>
parents:
6096
diff
changeset
|
221 ["GET /assets/*"] = http_files.serve({ |
|
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
222 path = module:get_directory().."/assets"; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
223 mime_map = mime_map; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
224 }); |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
225 }; |
|
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
226 }); |
|
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
227 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
228 function module.load() |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
229 add_config_apps(); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
230 module:handle_items("site-app-provider", module_app_added, module_app_removed, true); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
231 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
232 |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
233 function module.unload() |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
234 remove_all_apps(); |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
235 end |
|
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
236 |