diff --git a/.well-known/simplex.json b/.well-known/simplex.json
new file mode 100644
index 0000000000..b7a1ba102b
--- /dev/null
+++ b/.well-known/simplex.json
@@ -0,0 +1,33 @@
+{
+ "channels": [
+ {
+ "link": "https://smp18.simplex.im/c#grcfG3ulVI4Sh6ow33qBsmSk7uEy3gRSl2KkJ5ER6tA",
+ "title": "SimpleX Network News",
+ "changeFrequency": "weekly"
+ },
+ {
+ "link": "https://smp10.simplex.im/c#q09nMBmWFGz1m2TvgfZFaEOG5D2a7Ma9mSkl6pHXEsg",
+ "title": "SimpleX Crowdfunding News",
+ "changeFrequency": "weekly"
+ }
+ ],
+ "groups": [
+ {
+ "link": "https://smp4.simplex.im/g#hr4lvFeBmndWMKTwqiodPz3VBo_6UmdGWocXd1SupsM",
+ "title": "SimpleX users group"
+ }
+ ],
+ "contacts": [
+ {
+ "link": "https://smp6.simplex.im/a#lrdvu2d8A1GumSmoKb2krQmtKhWXq-tyGpHuM7aMwsw",
+ "title": "Ask SimpleX Team",
+ "audience": ["people", "agents"],
+ "business": true
+ },
+ {
+ "link": "https://smp4.simplex.im/a#lXUjJW5vHYQzoLYgmi8GbxkGP41_kjefFvBrdwg-0Ok",
+ "title": "SimpleX Directory",
+ "audience": ["people", "agents"]
+ }
+ ]
+}
diff --git a/about/index.html b/about/index.html
index d9521f70bc..7649db7992 100644
--- a/about/index.html
+++ b/about/index.html
@@ -55,6 +55,10 @@
+
+
+
+
diff --git a/ar/contact/index.html b/ar/contact/index.html
index cbd3529118..b381731f76 100644
--- a/ar/contact/index.html
+++ b/ar/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/downloads/index.html b/ar/downloads/index.html
index a1ccb327c5..497d84ffed 100644
--- a/ar/downloads/index.html
+++ b/ar/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/fdroid/index.html b/ar/fdroid/index.html
index 1a4c5c3896..486895d69b 100644
--- a/ar/fdroid/index.html
+++ b/ar/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/file/index.html b/ar/file/index.html
index 3c61e6787b..bc499bb1ce 100644
--- a/ar/file/index.html
+++ b/ar/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/index.html b/ar/index.html
index e11cdb64ad..2643e5f0db 100644
--- a/ar/index.html
+++ b/ar/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
The news about SimpleX Chat equity crowdfunding on Wefunder, published as a SimpleX channel. Join it in the SimpleX Chat app: SimpleX Crowdfunding News. The crowdfunding memo: simplex.chat/wefunder.md. The news about SimpleX Chat equity crowdfunding on Wefunder, published as a SimpleX channel. Join it in the SimpleX Chat app: SimpleX Crowdfunding News. The crowdfunding memo: simplex.chat/wefunder.md. Recent posts in JSON, with the channel profile and subscriber count, from any of the channel relays: relay2.simplex.chat, relay3.simplex.chat.
-
+
diff --git a/ar/invitation/index.html b/ar/invitation/index.html
index 50eb467e56..2c56b0526a 100644
--- a/ar/invitation/index.html
+++ b/ar/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/messaging/index.html b/ar/messaging/index.html
index 26bff24561..b57cebb755 100644
--- a/ar/messaging/index.html
+++ b/ar/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/old/index.html b/ar/old/index.html
index 5cc481b8ab..5f774bd81c 100644
--- a/ar/old/index.html
+++ b/ar/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ar/why/index.html b/ar/why/index.html
index 3ef607877f..13de5ffb5e 100644
--- a/ar/why/index.html
+++ b/ar/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/az/contact/index.html b/az/contact/index.html
index 169a740177..837416900d 100644
--- a/az/contact/index.html
+++ b/az/contact/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/downloads/index.html b/az/downloads/index.html
index 185676d8a9..f4e60ad6f5 100644
--- a/az/downloads/index.html
+++ b/az/downloads/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/fdroid/index.html b/az/fdroid/index.html
index f6f75a3292..8d18b4355e 100644
--- a/az/fdroid/index.html
+++ b/az/fdroid/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/file/index.html b/az/file/index.html
index 502bac5137..5bf8f35689 100644
--- a/az/file/index.html
+++ b/az/file/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/index.html b/az/index.html
index 1709b92b12..0b6e0e01f1 100644
--- a/az/index.html
+++ b/az/index.html
@@ -63,6 +63,10 @@
+
+
+
+
@@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/az/invitation/index.html b/az/invitation/index.html
index d685ff121c..19d4a358e5 100644
--- a/az/invitation/index.html
+++ b/az/invitation/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/messaging/index.html b/az/messaging/index.html
index 6a19c2aec7..234e93242d 100644
--- a/az/messaging/index.html
+++ b/az/messaging/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/old/index.html b/az/old/index.html
index 34b9171896..90e3c2faaa 100644
--- a/az/old/index.html
+++ b/az/old/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/az/why/index.html b/az/why/index.html
index 7481d42b2f..1c5f86da21 100644
--- a/az/why/index.html
+++ b/az/why/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/contact/index.html b/bg/contact/index.html
index 63cf33ca39..b004b65e06 100644
--- a/bg/contact/index.html
+++ b/bg/contact/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/downloads/index.html b/bg/downloads/index.html
index 95ab34fd86..214244692b 100644
--- a/bg/downloads/index.html
+++ b/bg/downloads/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/fdroid/index.html b/bg/fdroid/index.html
index 1e3de35064..b488954885 100644
--- a/bg/fdroid/index.html
+++ b/bg/fdroid/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/file/index.html b/bg/file/index.html
index e81c288d65..30f332e22b 100644
--- a/bg/file/index.html
+++ b/bg/file/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/index.html b/bg/index.html
index f1bd1629b2..fd8d0deef2 100644
--- a/bg/index.html
+++ b/bg/index.html
@@ -63,6 +63,10 @@
+
+
+
+
@@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/bg/invitation/index.html b/bg/invitation/index.html
index 8a18ef401c..fcb263d9ff 100644
--- a/bg/invitation/index.html
+++ b/bg/invitation/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/messaging/index.html b/bg/messaging/index.html
index 6121e197e3..cb51ed0b33 100644
--- a/bg/messaging/index.html
+++ b/bg/messaging/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/old/index.html b/bg/old/index.html
index bc342c623c..31dedaf6b9 100644
--- a/bg/old/index.html
+++ b/bg/old/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/bg/why/index.html b/bg/why/index.html
index 10b11dff31..4bbe0ffab3 100644
--- a/bg/why/index.html
+++ b/bg/why/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/blog/20201022-simplex-chat.html b/blog/20201022-simplex-chat.html
index e6e2d9f430..2e422b6421 100644
--- a/blog/20201022-simplex-chat.html
+++ b/blog/20201022-simplex-chat.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20210512-simplex-chat-terminal-ui.html b/blog/20210512-simplex-chat-terminal-ui.html
index 13fa3596c6..6d88d53b35 100644
--- a/blog/20210512-simplex-chat-terminal-ui.html
+++ b/blog/20210512-simplex-chat-terminal-ui.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20210914-simplex-chat-v0.4-released.html b/blog/20210914-simplex-chat-v0.4-released.html
index 653690b9af..39096dbf7d 100644
--- a/blog/20210914-simplex-chat-v0.4-released.html
+++ b/blog/20210914-simplex-chat-v0.4-released.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20211208-simplex-chat-v0.5-released.html b/blog/20211208-simplex-chat-v0.5-released.html
index 70089adb67..67ab1304a3 100644
--- a/blog/20211208-simplex-chat-v0.5-released.html
+++ b/blog/20211208-simplex-chat-v0.5-released.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220112-simplex-chat-v1-released.html b/blog/20220112-simplex-chat-v1-released.html
index 4f7c4a9da1..8cb7d8e3c3 100644
--- a/blog/20220112-simplex-chat-v1-released.html
+++ b/blog/20220112-simplex-chat-v1-released.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220214-simplex-chat-ios-public-beta.html b/blog/20220214-simplex-chat-ios-public-beta.html
index 7ec53c929c..57895e98ef 100644
--- a/blog/20220214-simplex-chat-ios-public-beta.html
+++ b/blog/20220214-simplex-chat-ios-public-beta.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220308-simplex-chat-mobile-apps.html b/blog/20220308-simplex-chat-mobile-apps.html
index 6a4a213a91..5d288f0406 100644
--- a/blog/20220308-simplex-chat-mobile-apps.html
+++ b/blog/20220308-simplex-chat-mobile-apps.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220404-simplex-chat-instant-notifications.html b/blog/20220404-simplex-chat-instant-notifications.html
index 68f9dcfd1a..49cd1dbd8a 100644
--- a/blog/20220404-simplex-chat-instant-notifications.html
+++ b/blog/20220404-simplex-chat-instant-notifications.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220511-simplex-chat-v2-images-files.html b/blog/20220511-simplex-chat-v2-images-files.html
index b46dede7b1..dbb72e99ea 100644
--- a/blog/20220511-simplex-chat-v2-images-files.html
+++ b/blog/20220511-simplex-chat-v2-images-files.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220524-simplex-chat-better-privacy.html b/blog/20220524-simplex-chat-better-privacy.html
index 7b163fdb59..d96173c494 100644
--- a/blog/20220524-simplex-chat-better-privacy.html
+++ b/blog/20220524-simplex-chat-better-privacy.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220604-simplex-chat-new-privacy-security-settings.html b/blog/20220604-simplex-chat-new-privacy-security-settings.html
index ad7c039706..9ff4dd303d 100644
--- a/blog/20220604-simplex-chat-new-privacy-security-settings.html
+++ b/blog/20220604-simplex-chat-new-privacy-security-settings.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html b/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html
index e13525923a..0c70eb7897 100644
--- a/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html
+++ b/blog/20220711-simplex-chat-v3-released-ios-notifications-audio-video-calls-database-export-import-protocol-improvements.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220723-simplex-chat-v3.1-tor-groups-efficiency.html b/blog/20220723-simplex-chat-v3.1-tor-groups-efficiency.html
index b8c91b75b1..73b3730456 100644
--- a/blog/20220723-simplex-chat-v3.1-tor-groups-efficiency.html
+++ b/blog/20220723-simplex-chat-v3.1-tor-groups-efficiency.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220808-simplex-chat-v3.1-chat-groups.html b/blog/20220808-simplex-chat-v3.1-chat-groups.html
index 5e18f01d9a..131e05c9a8 100644
--- a/blog/20220808-simplex-chat-v3.1-chat-groups.html
+++ b/blog/20220808-simplex-chat-v3.1-chat-groups.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220901-simplex-chat-v3.2-incognito-mode.html b/blog/20220901-simplex-chat-v3.2-incognito-mode.html
index 286aeb2921..f0dfa3fdb8 100644
--- a/blog/20220901-simplex-chat-v3.2-incognito-mode.html
+++ b/blog/20220901-simplex-chat-v3.2-incognito-mode.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20220928-simplex-chat-v4-encrypted-database.html b/blog/20220928-simplex-chat-v4-encrypted-database.html
index adeffe538a..1aaca3d128 100644
--- a/blog/20220928-simplex-chat-v4-encrypted-database.html
+++ b/blog/20220928-simplex-chat-v4-encrypted-database.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html b/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html
index 34026c0a16..eb24b9e250 100644
--- a/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html
+++ b/blog/20221108-simplex-chat-v4.2-security-audit-new-website.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20221206-simplex-chat-v4.3-voice-messages.html b/blog/20221206-simplex-chat-v4.3-voice-messages.html
index 5c2013fcc4..c35e8e4af7 100644
--- a/blog/20221206-simplex-chat-v4.3-voice-messages.html
+++ b/blog/20221206-simplex-chat-v4.3-voice-messages.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230103-simplex-chat-v4.4-disappearing-messages.html b/blog/20230103-simplex-chat-v4.4-disappearing-messages.html
index bc28ba2f7d..d19aac2f0f 100644
--- a/blog/20230103-simplex-chat-v4.4-disappearing-messages.html
+++ b/blog/20230103-simplex-chat-v4.4-disappearing-messages.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html b/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html
index 0e1fd0d84a..0b2b358a28 100644
--- a/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html
+++ b/blog/20230204-simplex-chat-v4-5-user-chat-profiles.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230301-simplex-file-transfer-protocol.html b/blog/20230301-simplex-file-transfer-protocol.html
index 5c5a78d0f5..0ab518f8ab 100644
--- a/blog/20230301-simplex-file-transfer-protocol.html
+++ b/blog/20230301-simplex-file-transfer-protocol.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230328-simplex-chat-v4-6-hidden-profiles.html b/blog/20230328-simplex-chat-v4-6-hidden-profiles.html
index 5f36e0a901..9b12208009 100644
--- a/blog/20230328-simplex-chat-v4-6-hidden-profiles.html
+++ b/blog/20230328-simplex-chat-v4-6-hidden-profiles.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230422-simplex-chat-vision-funding-v5-videos-files-passcode.html b/blog/20230422-simplex-chat-vision-funding-v5-videos-files-passcode.html
index 46618d27e4..ca8f0f1423 100644
--- a/blog/20230422-simplex-chat-vision-funding-v5-videos-files-passcode.html
+++ b/blog/20230422-simplex-chat-vision-funding-v5-videos-files-passcode.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230523-simplex-chat-v5-1-message-reactions-self-destruct-passcode.html b/blog/20230523-simplex-chat-v5-1-message-reactions-self-destruct-passcode.html
index de4af7293e..dca1fae74f 100644
--- a/blog/20230523-simplex-chat-v5-1-message-reactions-self-destruct-passcode.html
+++ b/blog/20230523-simplex-chat-v5-1-message-reactions-self-destruct-passcode.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230722-simplex-chat-v5-2-message-delivery-receipts.html b/blog/20230722-simplex-chat-v5-2-message-delivery-receipts.html
index 94940c77d1..966f80bf1a 100644
--- a/blog/20230722-simplex-chat-v5-2-message-delivery-receipts.html
+++ b/blog/20230722-simplex-chat-v5-2-message-delivery-receipts.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.html b/blog/20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.html
index b098095c0a..b5783d378c 100644
--- a/blog/20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.html
+++ b/blog/20230925-simplex-chat-v5-3-desktop-app-local-file-encryption-directory-service.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.html b/blog/20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.html
index 33da7d50a7..a0a1b073c9 100644
--- a/blog/20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.html
+++ b/blog/20231125-simplex-chat-v5-4-link-mobile-desktop-quantum-resistant-better-groups.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240124-simplex-chat-infrastructure-costs-v5-5-simplex-ux-private-notes-group-history.html b/blog/20240124-simplex-chat-infrastructure-costs-v5-5-simplex-ux-private-notes-group-history.html
index fff48dfaab..e62c57f151 100644
--- a/blog/20240124-simplex-chat-infrastructure-costs-v5-5-simplex-ux-private-notes-group-history.html
+++ b/blog/20240124-simplex-chat-infrastructure-costs-v5-5-simplex-ux-private-notes-group-history.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.html b/blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.html
index bad34debcd..77af180800 100644
--- a/blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.html
+++ b/blog/20240314-simplex-chat-v5-6-quantum-resistance-signal-double-ratchet-algorithm.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240323-simplex-network-privacy-non-profit-v5-6-quantum-resistant-e2e-encryption-simple-migration.html b/blog/20240323-simplex-network-privacy-non-profit-v5-6-quantum-resistant-e2e-encryption-simple-migration.html
index 3ada893c31..cf9baf1da0 100644
--- a/blog/20240323-simplex-network-privacy-non-profit-v5-6-quantum-resistant-e2e-encryption-simple-migration.html
+++ b/blog/20240323-simplex-network-privacy-non-profit-v5-6-quantum-resistant-e2e-encryption-simple-migration.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240404-why-i-joined-simplex-chat-esraa-al-shafei.html b/blog/20240404-why-i-joined-simplex-chat-esraa-al-shafei.html
index 22d07c91cc..dd24121aaa 100644
--- a/blog/20240404-why-i-joined-simplex-chat-esraa-al-shafei.html
+++ b/blog/20240404-why-i-joined-simplex-chat-esraa-al-shafei.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240416-dangers-of-metadata-in-messengers.html b/blog/20240416-dangers-of-metadata-in-messengers.html
index 261c8ee735..f40204fd53 100644
--- a/blog/20240416-dangers-of-metadata-in-messengers.html
+++ b/blog/20240416-dangers-of-metadata-in-messengers.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240426-simplex-legally-binding-transparency-v5-7-better-user-experience.html b/blog/20240426-simplex-legally-binding-transparency-v5-7-better-user-experience.html
index a4a4a96401..bccc7e7edd 100644
--- a/blog/20240426-simplex-legally-binding-transparency-v5-7-better-user-experience.html
+++ b/blog/20240426-simplex-legally-binding-transparency-v5-7-better-user-experience.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240516-simplex-redefining-privacy-hard-choices.html b/blog/20240516-simplex-redefining-privacy-hard-choices.html
index fcf1cd8ea0..8c1113c59a 100644
--- a/blog/20240516-simplex-redefining-privacy-hard-choices.html
+++ b/blog/20240516-simplex-redefining-privacy-hard-choices.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240601-protecting-children-safety-requires-e2e-encryption.html b/blog/20240601-protecting-children-safety-requires-e2e-encryption.html
index f90e224cda..ee6b51a2f0 100644
--- a/blog/20240601-protecting-children-safety-requires-e2e-encryption.html
+++ b/blog/20240601-protecting-children-safety-requires-e2e-encryption.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html b/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html
index 7056332b5d..cb4d858b15 100644
--- a/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html
+++ b/blog/20240604-simplex-chat-v5.8-private-message-routing-chat-themes.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240704-future-of-privacy-enforcing-privacy-standards.html b/blog/20240704-future-of-privacy-enforcing-privacy-standards.html
index cb34cb51c3..2e885628a2 100644
--- a/blog/20240704-future-of-privacy-enforcing-privacy-standards.html
+++ b/blog/20240704-future-of-privacy-enforcing-privacy-standards.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html b/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html
index de748b62b1..f61680b5b4 100644
--- a/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html
+++ b/blog/20240814-simplex-chat-vision-funding-v6-private-routing-new-user-experience.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html b/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html
index b1162f18ca..adb509d91f 100644
--- a/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html
+++ b/blog/20241014-simplex-network-v6-1-security-review-better-calls-user-experience.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20241016-wired-attack-on-privacy.html b/blog/20241016-wired-attack-on-privacy.html
index a8c64831da..17f46474ee 100644
--- a/blog/20241016-wired-attack-on-privacy.html
+++ b/blog/20241016-wired-attack-on-privacy.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.html b/blog/20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.html
index 348b97b2fa..469a82a1e0 100644
--- a/blog/20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.html
+++ b/blog/20241125-servers-operated-by-flux-true-privacy-and-decentralization-for-all-users.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20241210-simplex-network-v6-2-servers-by-flux-business-chats.html b/blog/20241210-simplex-network-v6-2-servers-by-flux-business-chats.html
index be5543328a..9ac569e01c 100644
--- a/blog/20241210-simplex-network-v6-2-servers-by-flux-business-chats.html
+++ b/blog/20241210-simplex-network-v6-2-servers-by-flux-business-chats.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20241218-oppose-digital-ids-they-break-law-lead-to-mass-scale-surveillance.html b/blog/20241218-oppose-digital-ids-they-break-law-lead-to-mass-scale-surveillance.html
index 3e1e0a768d..03601aa3ae 100644
--- a/blog/20241218-oppose-digital-ids-they-break-law-lead-to-mass-scale-surveillance.html
+++ b/blog/20241218-oppose-digital-ids-they-break-law-lead-to-mass-scale-surveillance.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20250114-simplex-network-large-groups-privacy-preserving-content-moderation.html b/blog/20250114-simplex-network-large-groups-privacy-preserving-content-moderation.html
index 086191549c..d12695f7b4 100644
--- a/blog/20250114-simplex-network-large-groups-privacy-preserving-content-moderation.html
+++ b/blog/20250114-simplex-network-large-groups-privacy-preserving-content-moderation.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20250308-simplex-chat-v6-3-new-user-experience-safety-in-public-groups.html b/blog/20250308-simplex-chat-v6-3-new-user-experience-safety-in-public-groups.html
index 0016637184..ccb5569a78 100644
--- a/blog/20250308-simplex-chat-v6-3-new-user-experience-safety-in-public-groups.html
+++ b/blog/20250308-simplex-chat-v6-3-new-user-experience-safety-in-public-groups.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20250703-simplex-network-protocol-extension-for-securely-connecting-people.html b/blog/20250703-simplex-network-protocol-extension-for-securely-connecting-people.html
index 10d2c611cd..f2f17e7157 100644
--- a/blog/20250703-simplex-network-protocol-extension-for-securely-connecting-people.html
+++ b/blog/20250703-simplex-network-protocol-extension-for-securely-connecting-people.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html b/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html
index f35a13df56..d826c38fa6 100644
--- a/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html
+++ b/blog/20250729-simplex-chat-v6-4-1-welcome-contacts-protect-groups-app-security.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20260430-simplex-channels-v6-5-consortium-crowdfunding-freedom-of-speech.html b/blog/20260430-simplex-channels-v6-5-consortium-crowdfunding-freedom-of-speech.html
index 9f88070677..79ce52bc37 100644
--- a/blog/20260430-simplex-channels-v6-5-consortium-crowdfunding-freedom-of-speech.html
+++ b/blog/20260430-simplex-channels-v6-5-consortium-crowdfunding-freedom-of-speech.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20260722-simplex-public-names.html b/blog/20260722-simplex-public-names.html
index 640e2c0592..a4e54d8ff6 100644
--- a/blog/20260722-simplex-public-names.html
+++ b/blog/20260722-simplex-public-names.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20260819-simplex-chat-crowdfunding.html b/blog/20260819-simplex-chat-crowdfunding.html
index 4cacc9c087..85e70391fa 100644
--- a/blog/20260819-simplex-chat-crowdfunding.html
+++ b/blog/20260819-simplex-chat-crowdfunding.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20260908-nick-rogers-why-i-backed-simplex-chat.html b/blog/20260908-nick-rogers-why-i-backed-simplex-chat.html
index b11fac6398..3a7c9af739 100644
--- a/blog/20260908-nick-rogers-why-i-backed-simplex-chat.html
+++ b/blog/20260908-nick-rogers-why-i-backed-simplex-chat.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/20260919-simplex-supporter-badges.html b/blog/20260919-simplex-supporter-badges.html
index 3f930a9935..d380e43594 100644
--- a/blog/20260919-simplex-supporter-badges.html
+++ b/blog/20260919-simplex-supporter-badges.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/blog/index.html b/blog/index.html
index b479e61a26..36687129d8 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/contact/index.html b/contact/index.html
index 8ab245b3e3..947497e8c2 100644
--- a/contact/index.html
+++ b/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/credits/index.html b/credits/index.html
index 5fcd42cfa8..9ed73d2b1a 100644
--- a/credits/index.html
+++ b/credits/index.html
@@ -60,6 +60,10 @@
+
+
+
+
diff --git a/crowdfunding-news/index.html b/crowdfunding-news/index.html
index d9988d29c0..4ba696b48d 100644
--- a/crowdfunding-news/index.html
+++ b/crowdfunding-news/index.html
@@ -63,6 +63,10 @@
+
+
+
+
@@ -512,7 +516,7 @@ window.addEventListener('click',(e)=>{
data-top-offset="54"
>
-
-
+
diff --git a/cs/invitation/index.html b/cs/invitation/index.html
index 184b31720a..0f6004f821 100644
--- a/cs/invitation/index.html
+++ b/cs/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/cs/messaging/index.html b/cs/messaging/index.html
index a1d5adda53..230dfc4bc9 100644
--- a/cs/messaging/index.html
+++ b/cs/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/cs/old/index.html b/cs/old/index.html
index b75c4f71cd..89cb22d292 100644
--- a/cs/old/index.html
+++ b/cs/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/cs/why/index.html b/cs/why/index.html
index 4aa9c62ca6..78fa51ab12 100644
--- a/cs/why/index.html
+++ b/cs/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/contact/index.html b/de/contact/index.html
index c50e33da27..03ab534cde 100644
--- a/de/contact/index.html
+++ b/de/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/downloads/index.html b/de/downloads/index.html
index a5b12c1995..5a2e2d7151 100644
--- a/de/downloads/index.html
+++ b/de/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/fdroid/index.html b/de/fdroid/index.html
index a1ce682629..eee839508d 100644
--- a/de/fdroid/index.html
+++ b/de/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/file/index.html b/de/file/index.html
index 420d907363..9657df4f72 100644
--- a/de/file/index.html
+++ b/de/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/index.html b/de/index.html
index 404945e977..199bc88a57 100644
--- a/de/index.html
+++ b/de/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/de/invitation/index.html b/de/invitation/index.html
index e230d6e935..7355d7ee6c 100644
--- a/de/invitation/index.html
+++ b/de/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/messaging/index.html b/de/messaging/index.html
index 436f87a970..c7700985b0 100644
--- a/de/messaging/index.html
+++ b/de/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/old/index.html b/de/old/index.html
index dd7930c27a..0b227fa556 100644
--- a/de/old/index.html
+++ b/de/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/de/why/index.html b/de/why/index.html
index da1e46cdc9..65ddfcefe4 100644
--- a/de/why/index.html
+++ b/de/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/directory/index.html b/directory/index.html
index 492d783462..3c1aea2c1e 100644
--- a/directory/index.html
+++ b/directory/index.html
@@ -63,6 +63,11 @@
+
+
+
+
+
@@ -816,7 +821,7 @@ window.addEventListener('click',(e)=>{
Welcome to the selected users' communities that you can join via SimpleX Chat app.
-SimpleX Directory is also available as a SimpleX chat bot.
+SimpleX Directory is also available as a SimpleX chat bot.
Read about how to add your community.
All listed groups and channels in JSON, with names, descriptions, member counts, join links and activity times: directory.simplex.chat/data/listing.json.
An llms.txt file [LLMSTXT] lists communication addresses in a section with the heading ## Communications. The section is a file list: each item is a Markdown link, then a colon and notes.
The notes begin with the network and the type of the address, then the audience and, for updates, the update frequency or, for contacts, the protocols. Free text follows:
<network> updates for <audience>[, <frequency>]. <info>
-<network> contact for <audience>[, <protocol>]*. <info>
+<network> group for <audience>. <info>
+<network> [business ]contact for <audience>[, <protocol>]*. <info>
<network>: the name of the network, SimpleX for SimpleX links.updates: an address that publishes updates. contact: an address that accepts conversations and requests.updates: an address that publishes updates. group: an address of a group, where members converse. contact: an address that accepts conversations and requests. business contact: a business address [BUSINESS].<audience>: people, agents, or people and agents.<frequency>: a changefreq value of the Sitemaps protocol [SITEMAPS].<protocol>: the name of a protocol the address serves (protocol names), in any letter case.<info>: what the address is about.The network is named in the notes because the host in a SimpleX link is the router that hosts the address, and that router can have any domain name.
-For SimpleX entries, the type updates requires a channel link, and the type contact a contact address link [WEB]. The link text is the title of the address.
For SimpleX entries, the type updates requires a channel link, the type group a group link, and the types contact and business contact a contact address link [WEB]. The link text is the title of the address.
## Communications
- [Ridgeline updates](https://smp12.simplex.im/c#…): SimpleX updates for people and agents, weekly. Trail conditions and closures.
-- [Ask Ridgeline](https://smp12.simplex.im/a#…): SimpleX contact for agents, MCP. Bookings and availability.
+- [Ridgeline hikers](https://smp12.simplex.im/g#…): SimpleX group for people. Routes and meetups.
+- [Ask Ridgeline](https://smp12.simplex.im/a#…): SimpleX business contact for agents, MCP. Bookings and availability.
- [Ridgeline support](mailto:help@ridgeline.example): Email contact for people.
A profile or a group declares the protocols it serves in its preferences. A channel declares its audience and its update frequency in its public group record. A contact address declares the peers it serves in its link data.
+A profile or a group declares the protocols it serves in its preferences. A channel or a public group declares its audience in its public group record, and a channel also its update frequency. A contact address declares the peers it serves in its link data.
protocols is a key of the preferences: preferences of a user or contact profile, and groupPreferences of a group profile [CHAT]. Clients store the preferences of other profiles as received, so a client that does not know the key decodes it after an upgrade.
JSON Type Definition schema [RFC8927] of the protocols key:
Two fields of the channel's public group record, publicGroup of its group profile [CHAT]. JSON Type Definition schema [RFC8927]:
Two fields of the public group record, publicGroup of the group profile of a channel or a public group [CHAT]. JSON Type Definition schema [RFC8927]:
{
"optionalProperties": {
"audience": {"elements": {"type": "string"}},
@@ -1048,11 +1054,11 @@ window.addEventListener('click',(e)=>{
}
audience: the peer types the channel is made for. The values are the values of a profile's peerType: human, bot, business, agent. An absent audience is ["human"]. Agents also read content made for people, so a channel declares agent when it is made for agents, or has dedicated support for them.changeFrequency: how often the channel is updated. The values are the changefreq values of the Sitemaps protocol [SITEMAPS]: always, hourly, daily, weekly, monthly, yearly, never.audience: the peer types the channel or the group is made for. The values are the values of a profile's peerType: human, bot, business, agent. An absent audience is ["human"]. Agents also read content made for people, so a channel or a group declares agent when it is made for agents, or has dedicated support for them.changeFrequency: in a channel only, how often the channel is updated. The values are the changefreq values of the Sitemaps protocol [SITEMAPS]: always, hourly, daily, weekly, monthly, yearly, never.One field of the data published with a contact address link, beside business. JSON Type Definition schema [RFC8927]:
One field of the data published with a contact address link, beside business, which marks a business address [BUSINESS]. JSON Type Definition schema [RFC8927]:
{
"optionalProperties": {
"serves": {"elements": {"type": "string"}}
@@ -1062,7 +1068,7 @@ window.addEventListener('click',(e)=>{
serves: the peer types the address is made for, with the values and the default of audience.
-Clients MUST ignore unknown values of audience and serves. The values of the channel and the address take precedence over the values on a website [WEB].
+Clients MUST ignore unknown values of audience and serves. The values in the public group record and in the address link data take precedence over the values on a website [WEB].
Protocol names
A protocol name consists of lowercase ASCII letters, digits and hyphens.
A binding defines the protocol's request and response messages, including how, and whether, a peer discovers the protocol's capabilities. Both transports carry these messages unchanged.
@@ -1293,6 +1299,7 @@ window.addEventListener('click',(e)=>{
References
+- [BUSINESS] Using SimpleX Chat in business: BUSINESS.md
- [CHAT] SimpleX Chat protocol: simplex-chat.md
- [LLMSTXT] The /llms.txt file: https://llmstxt.org
- [MCP] Model Context Protocol specification, revision 2026-07-28: https://modelcontextprotocol.io/specification/2026-07-28
diff --git a/docs/protocol/agent-protocols.md b/docs/protocol/agent-protocols.md
index 6be1516367..8be98335a9 100644
--- a/docs/protocol/agent-protocols.md
+++ b/docs/protocol/agent-protocols.md
@@ -12,7 +12,7 @@ Evgeny Poberezkin
- [Addresses in llms.txt](#addresses-in-llmstxt)
- [Profile declarations](#profile-declarations)
- [protocols](#protocols)
- - [Channel audience and update frequency](#channel-audience-and-update-frequency)
+ - [Public group audience and update frequency](#public-group-audience-and-update-frequency)
- [Contact address peers](#contact-address-peers)
- [Protocol names](#protocol-names)
- [Chat transport](#chat-transport)
@@ -93,11 +93,12 @@ The notes begin with the network and the type of the address, then the audience
```
updates for [, ].
- contact for [, ]*.
+ group for .
+ [business ]contact for [, ]*.
```
- ``: the name of the network, `SimpleX` for SimpleX links.
-- `updates`: an address that publishes updates. `contact`: an address that accepts conversations and requests.
+- `updates`: an address that publishes updates. `group`: an address of a group, where members converse. `contact`: an address that accepts conversations and requests. `business contact`: a business address [BUSINESS].
- ``: `people`, `agents`, or `people and agents`.
- ``: a `changefreq` value of the Sitemaps protocol [SITEMAPS].
- ``: the name of a protocol the address serves ([protocol names](#protocol-names)), in any letter case.
@@ -105,19 +106,20 @@ The notes begin with the network and the type of the address, then the audience
The network is named in the notes because the host in a SimpleX link is the router that hosts the address, and that router can have any domain name.
-For SimpleX entries, the type `updates` requires a channel link, and the type `contact` a contact address link [WEB]. The link text is the title of the address.
+For SimpleX entries, the type `updates` requires a channel link, the type `group` a group link, and the types `contact` and `business contact` a contact address link [WEB]. The link text is the title of the address.
```
## Communications
- [Ridgeline updates](https://smp12.simplex.im/c#…): SimpleX updates for people and agents, weekly. Trail conditions and closures.
-- [Ask Ridgeline](https://smp12.simplex.im/a#…): SimpleX contact for agents, MCP. Bookings and availability.
+- [Ridgeline hikers](https://smp12.simplex.im/g#…): SimpleX group for people. Routes and meetups.
+- [Ask Ridgeline](https://smp12.simplex.im/a#…): SimpleX business contact for agents, MCP. Bookings and availability.
- [Ridgeline support](mailto:help@ridgeline.example): Email contact for people.
```
## Profile declarations
-A profile or a group declares the protocols it serves in its preferences. A channel declares its audience and its update frequency in its public group record. A contact address declares the peers it serves in its link data.
+A profile or a group declares the protocols it serves in its preferences. A channel or a public group declares its audience in its public group record, and a channel also its update frequency. A contact address declares the peers it serves in its link data.
### protocols
@@ -168,9 +170,9 @@ Example, the `preferences` of a contact profile:
}
```
-### Channel audience and update frequency
+### Public group audience and update frequency
-Two fields of the channel's public group record, `publicGroup` of its group profile [CHAT]. JSON Type Definition schema [RFC8927]:
+Two fields of the public group record, `publicGroup` of the group profile of a channel or a public group [CHAT]. JSON Type Definition schema [RFC8927]:
```json
{
@@ -181,12 +183,12 @@ Two fields of the channel's public group record, `publicGroup` of its group prof
}
```
-- `audience`: the peer types the channel is made for. The values are the values of a profile's `peerType`: `human`, `bot`, `business`, `agent`. An absent `audience` is `["human"]`. Agents also read content made for people, so a channel declares `agent` when it is made for agents, or has dedicated support for them.
-- `changeFrequency`: how often the channel is updated. The values are the `changefreq` values of the Sitemaps protocol [SITEMAPS]: `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`.
+- `audience`: the peer types the channel or the group is made for. The values are the values of a profile's `peerType`: `human`, `bot`, `business`, `agent`. An absent `audience` is `["human"]`. Agents also read content made for people, so a channel or a group declares `agent` when it is made for agents, or has dedicated support for them.
+- `changeFrequency`: in a channel only, how often the channel is updated. The values are the `changefreq` values of the Sitemaps protocol [SITEMAPS]: `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`.
### Contact address peers
-One field of the data published with a contact address link, beside `business`. JSON Type Definition schema [RFC8927]:
+One field of the data published with a contact address link, beside `business`, which marks a business address [BUSINESS]. JSON Type Definition schema [RFC8927]:
```json
{
@@ -198,7 +200,7 @@ One field of the data published with a contact address link, beside `business`.
- `serves`: the peer types the address is made for, with the values and the default of `audience`.
-Clients MUST ignore unknown values of `audience` and `serves`. The values of the channel and the address take precedence over the values on a website [WEB].
+Clients MUST ignore unknown values of `audience` and `serves`. The values in the public group record and in the address link data take precedence over the values on a website [WEB].
### Protocol names
@@ -458,6 +460,7 @@ Planned:
## References
+- [BUSINESS] Using SimpleX Chat in business: [BUSINESS.md](https://simplex.chat/docs/business.md)
- [CHAT] SimpleX Chat protocol: [simplex-chat.md](https://simplex.chat/docs/protocol/simplex-chat.md)
- [LLMSTXT] The /llms.txt file: https://llmstxt.org
- [MCP] Model Context Protocol specification, revision 2026-07-28: https://modelcontextprotocol.io/specification/2026-07-28
diff --git a/docs/protocol/badges-overview.html b/docs/protocol/badges-overview.html
index 61620528ee..1c3029c19a 100644
--- a/docs/protocol/badges-overview.html
+++ b/docs/protocol/badges-overview.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/badges-rpc.html b/docs/protocol/badges-rpc.html
index 4709b6a8e1..e340977ea6 100644
--- a/docs/protocol/badges-rpc.html
+++ b/docs/protocol/badges-rpc.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/channels-overview.html b/docs/protocol/channels-overview.html
index a560194238..d0d2f56ff1 100644
--- a/docs/protocol/channels-overview.html
+++ b/docs/protocol/channels-overview.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/channels-protocol.html b/docs/protocol/channels-protocol.html
index 43ebc642b4..da9fd63a3f 100644
--- a/docs/protocol/channels-protocol.html
+++ b/docs/protocol/channels-protocol.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/names-overview.html b/docs/protocol/names-overview.html
index e8d2255928..d985c695aa 100644
--- a/docs/protocol/names-overview.html
+++ b/docs/protocol/names-overview.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/simplex-chat.html b/docs/protocol/simplex-chat.html
index 6bdb505000..1de3e045e8 100644
--- a/docs/protocol/simplex-chat.html
+++ b/docs/protocol/simplex-chat.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/protocol/web-discovery.html b/docs/protocol/web-discovery.html
index ce7da46c12..52b0084335 100644
--- a/docs/protocol/web-discovery.html
+++ b/docs/protocol/web-discovery.html
@@ -56,6 +56,10 @@
+
+
+
+
@@ -897,7 +901,9 @@ window.addEventListener('click',(e)=>{
- Link relation types
- simplex-channel
+- simplex-group
- simplex-contact
+- Owner's and described addresses
- Target attributes
- HTML
- HTTP
@@ -923,12 +929,12 @@ window.addEventListener('click',(e)=>{
- References
Abstract
-This document defines how a website publishes the SimpleX channels and contact addresses of its owner:
+This document defines how a website publishes SimpleX channels, groups and contact addresses:
-- the link relation types
simplex-channel and simplex-contact, for the HTML elements link, a and area, and for the HTTP Link header field;
-- the well-known URI
simplex.json: a JSON document with the owner's channels and contact addresses, their audience, the update frequency of each channel and the protocols each contact address serves.
+- the link relation types
simplex-channel, simplex-group and simplex-contact, for the HTML elements link, a and area, and for the HTTP Link header field. Their targets are the addresses of the website's owner, or the addresses a page describes, such as the entries of a directory;
+- the well-known URI
simplex.json: a JSON document with the owner's channels, groups and contact addresses, their audience, the update frequency of each channel, and the kind and the protocols of each contact address.
-People and software agents subscribe to a channel to receive updates, and connect to a contact address to send requests. Agent protocols over SimpleX defines the requests an agent sends to a contact address, and an llms.txt section with the same addresses.
+People and software agents subscribe to a channel to receive updates, join a group to take part in its conversations, and connect to a contact address to send requests. Agent protocols over SimpleX defines the requests an agent sends to a contact address, and an llms.txt section with the same addresses.
Conventions
The key words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT" and "MAY" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals.
JSON schemas use JSON Type Definition [RFC8927].
@@ -936,19 +942,24 @@ window.addEventListener('click',(e)=>{
- SimpleX link: a connection link of the SimpleX Agent protocol, in the full or the short syntax, with the
https or the simplex scheme [AGENT].
- Channel link: a short SimpleX link of type
c, for example https://smp12.simplex.im/c#<key>.
+- Group link: a short SimpleX link of type
g, for example https://smp12.simplex.im/g#<key>, or a full SimpleX link of a group.
- Contact address link: a short SimpleX link of type
a, for example https://smp12.simplex.im/a#<key>, or a full SimpleX link of type contact.
- SimpleX name: a name in the SimpleX name service [NAMES].
#example.simplex is the name of a channel, @example.simplex the name of a contact address.
- Owner: the person or organization that publishes the website.
Link relation types
simplex-channel
-The target of a simplex-channel link is a SimpleX channel in which the owner of the link context publishes updates. The target MUST be a channel link.
+The target of a simplex-channel link is a SimpleX channel of the owner of the link context, or a SimpleX channel described by the link context. The target MUST be a channel link.
+simplex-group
+The target of a simplex-group link is a SimpleX group of the owner of the link context, or a SimpleX group described by the link context. The target MUST be a group link.
simplex-contact
-The target of a simplex-contact link is a SimpleX contact address at which the owner of the link context accepts conversations and requests. The target MUST be a contact address link.
+The target of a simplex-contact link is a SimpleX contact address of the owner of the link context, or a SimpleX contact address described by the link context. The target MUST be a contact address link.
+Owner's and described addresses
+A page that describes the addresses of others, such as a directory or a catalogue, uses the relation types on its entries. The owner's own addresses are listed in the well-known document.
Target attributes
-title: the name of the channel or the address, for display. In HTTP, a title with non-ASCII characters is sent as title* [RFC8187].
-hreflang: the language of the channel's posts or of the conversations [BCP47].
+title: the name of the channel, the group or the address, for display. In HTTP, a title with non-ASCII characters is sent as title* [RFC8187].
+hreflang: the language of the channel's posts, or of the conversations [BCP47].
A link context MAY have several links of one relation type. Their order is the owner's order of preference: document order in HTML, and the order of link values in HTTP.
HTML
@@ -956,8 +967,9 @@ window.addEventListener('click',(e)=>{
<link rel="simplex-channel" href="https://smp12.simplex.im/c#…" hreflang="en" title="Ridgeline updates">
<link rel="simplex-contact" href="https://smp12.simplex.im/a#…" hreflang="en" title="Ask Ridgeline">
-In the document body, the relation types are used on visible links:
+In the document body, the relation types are used on visible links, for example on the entries of a directory:
<a rel="simplex-contact" href="https://smp12.simplex.im/a#…">Chat with us</a>
+<a rel="simplex-group" href="https://smp12.simplex.im/g#…">Ridgeline hikers</a>
HTTP
Link: <https://smp12.simplex.im/c#…>; rel="simplex-channel"; hreflang="en"; title="Ridgeline updates"
@@ -966,12 +978,13 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Well-known URI
Retrieval
The document is located at the path /.well-known/simplex.json of an origin [RFC8615]. A client retrieves it with an HTTPS GET request. A server responds with status 200, and SHOULD send the media type application/json. A client parses the response body as JSON, whatever media type the server sends.
-The entries of the document are the channels and contact addresses of the origin's owner. A site that controls only a path of its origin publishes link relations instead.
+The entries of the document are the channels, groups and contact addresses of the origin's owner. A site that controls only a path of its origin publishes link relations instead.
Format
The document MUST conform to this JSON Type Definition schema [RFC8927]:
{
"optionalProperties": {
"channels": {"elements": {"ref": "address"}},
+ "groups": {"elements": {"ref": "address"}},
"contacts": {"elements": {"ref": "address"}}
},
"additionalProperties": true,
@@ -986,6 +999,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
"lang": {"type": "string"},
"audience": {"elements": {"type": "string"}},
"changeFrequency": {"enum": ["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]},
+ "business": {"type": "boolean"},
"protocols": {"elements": {"type": "string"}}
},
"additionalProperties": true
@@ -995,16 +1009,18 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
channels: the owner's channels, in the owner's order of preference.
+groups: the owner's groups, in the owner's order of preference.
contacts: the owner's contact addresses, in the owner's order of preference.
-link: required. A channel link in channels, a contact address link in contacts.
-name: the SimpleX name of the channel or the contact address of link.
-title: the name of the channel or the address, for display.
-lang: the language of the channel's posts or of the conversations [BCP47].
-audience: who the channel or the address serves: people, agents, or both.
+link: required. A channel link in channels, a group link in groups, a contact address link in contacts.
+name: the SimpleX name of the channel, the group or the contact address of link.
+title: the name of the channel, the group or the address, for display.
+lang: the language of the channel's posts, or of the conversations [BCP47].
+audience: who the channel, the group or the address serves: people, agents, or both.
changeFrequency: in channels only, how often the channel is updated. The values are the changefreq values of the Sitemaps protocol [SITEMAPS]: always, hourly, daily, weekly, monthly, yearly, never.
+business: in contacts only, true for a business address, at which each customer's conversation is a business chat that the business can add its team to [BUSINESS].
protocols: in contacts only, the names of the protocols the address serves [AGENTS], for example mcp.
-A site with only channels or only contact addresses omits the other list.
+A site omits the lists it does not use.
Example
{
"channels": [
@@ -1017,6 +1033,13 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
"changeFrequency": "weekly"
}
],
+ "groups": [
+ {
+ "link": "https://smp12.simplex.im/g#…",
+ "title": "Ridgeline hikers",
+ "lang": "en"
+ }
+ ],
"contacts": [
{
"link": "https://smp12.simplex.im/a#…",
@@ -1024,6 +1047,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
"title": "Ask Ridgeline",
"lang": "en",
"audience": ["agents"],
+ "business": true,
"protocols": ["mcp"]
}
]
@@ -1033,7 +1057,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
- A consumer MUST ignore unknown fields and unknown
audience values.
- A consumer MUST ignore a link of a type other than the one its relation type or its list requires.
-- The values on the website are hints. The data retrieved with the link is authoritative: an audience, an update frequency or protocols declared there [AGENTS] take precedence over the website's values.
+- The values on the website are hints. The data retrieved with the link is authoritative: an audience, an update frequency, the business flag or protocols declared there [AGENTS] take precedence over the website's values.
- A consumer MAY connect by
link or by name. Resolving a name reveals interest in it to one names router, and verifies that the name's record and the profile's claim match [NAMES].
Security considerations
@@ -1045,18 +1069,18 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Privacy considerations
-- The relation types and the well-known document are intended for owners who want to be reachable: channels, businesses and services.
+- The relation types and the well-known document are intended for owners who want to be reachable, such as channels, communities, businesses and services, and for pages that describe them, such as directories.
- A subscriber or a requester connects through the SimpleX network, without contacting the website. Retrieving a page or the well-known document is an ordinary web request.
IANA considerations
Link relation types registration
-Two registrations in the "Link Relation Types" registry [RFC8288]:
+Three registrations in the "Link Relation Types" registry [RFC8288]:
-
Relation Name: simplex-channel
-
-
Description: Refers to a SimpleX channel in which the owner of the link context publishes updates.
+Description: Refers to a SimpleX channel of the owner of the link context, or described by the link context.
-
@@ -1065,10 +1089,22 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Notes: The target is a SimpleX channel link [AGENT], with the https scheme or the provisionally registered simplex scheme.
-
+
Relation Name: simplex-group
+
+-
+
Description: Refers to a SimpleX group of the owner of the link context, or described by the link context.
+
+-
+
+
+-
+
Notes: The target is a SimpleX group link [AGENT], with the https scheme or the provisionally registered simplex scheme.
+
+-
Relation Name: simplex-contact
-
-
Description: Refers to a SimpleX contact address at which the owner of the link context accepts conversations and requests.
+Description: Refers to a SimpleX contact address of the owner of the link context, or described by the link context.
-
@@ -1102,7 +1138,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Effect on form: not allowed
-
-
Brief description: Refers to a SimpleX channel in which the owner of the page publishes updates.
+Brief description: Refers to a SimpleX channel of the page's owner, or described by the page.
-
Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-channel
@@ -1111,6 +1147,27 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Status: proposed
-
+
Keyword: simplex-group
+
+-
+
Effect on link: Hyperlink
+
+-
+
Effect on a, area: Hyperlink
+
+-
+
Effect on form: not allowed
+
+-
+
Brief description: Refers to a SimpleX group of the page's owner, or described by the page.
+
+-
+
Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-group
+
+-
+
Status: proposed
+
+-
Keyword: simplex-contact
-
@@ -1123,7 +1180,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
Effect on form: not allowed
-
-
Brief description: Refers to a SimpleX contact address at which the owner of the page accepts conversations and requests.
+Brief description: Refers to a SimpleX contact address of the page's owner, or described by the page.
-
Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-contact
@@ -1137,6 +1194,7 @@ Link: <https://smp12.simplex.im/a#…>; rel="simplex-contact"; h
- [AGENT] SimpleX Agent protocol, connection links: https://github.com/simplex-chat/simplexmq/blob/stable/protocol/agent-protocol.md#connection-link-1-time-invitation-and-contact-address
- [AGENTS] Agent protocols over SimpleX: agent-protocols.md
- [BCP47] Tags for Identifying Languages: https://www.rfc-editor.org/info/bcp47
+- [BUSINESS] Using SimpleX Chat in business: BUSINESS.md
- [HTML] HTML Living Standard, other link types: https://html.spec.whatwg.org/multipage/links.html#other-link-types
- [MF-REL] Microformats, existing rel values: https://microformats.org/wiki/existing-rel-values
- [NAMES] SimpleX public names for channels and businesses: names-overview.md
diff --git a/docs/protocol/web-discovery.md b/docs/protocol/web-discovery.md
index 319e110253..b2dce19c23 100644
--- a/docs/protocol/web-discovery.md
+++ b/docs/protocol/web-discovery.md
@@ -11,7 +11,9 @@ Evgeny Poberezkin
- [Terms](#terms)
- [Link relation types](#link-relation-types)
- [simplex-channel](#simplex-channel)
+ - [simplex-group](#simplex-group)
- [simplex-contact](#simplex-contact)
+ - [Owner's and described addresses](#owners-and-described-addresses)
- [Target attributes](#target-attributes)
- [HTML](#html)
- [HTTP](#http)
@@ -30,12 +32,12 @@ Evgeny Poberezkin
## Abstract
-This document defines how a website publishes the SimpleX channels and contact addresses of its owner:
+This document defines how a website publishes SimpleX channels, groups and contact addresses:
-- the link relation types `simplex-channel` and `simplex-contact`, for the HTML elements `link`, `a` and `area`, and for the HTTP `Link` header field;
-- the well-known URI `simplex.json`: a JSON document with the owner's channels and contact addresses, their audience, the update frequency of each channel and the protocols each contact address serves.
+- the link relation types `simplex-channel`, `simplex-group` and `simplex-contact`, for the HTML elements `link`, `a` and `area`, and for the HTTP `Link` header field. Their targets are the addresses of the website's owner, or the addresses a page describes, such as the entries of a directory;
+- the well-known URI `simplex.json`: a JSON document with the owner's channels, groups and contact addresses, their audience, the update frequency of each channel, and the kind and the protocols of each contact address.
-People and software agents subscribe to a channel to receive updates, and connect to a contact address to send requests. [Agent protocols over SimpleX](https://simplex.chat/docs/protocol/agent-protocols.md) defines the requests an agent sends to a contact address, and an `llms.txt` section with the same addresses.
+People and software agents subscribe to a channel to receive updates, join a group to take part in its conversations, and connect to a contact address to send requests. [Agent protocols over SimpleX](https://simplex.chat/docs/protocol/agent-protocols.md) defines the requests an agent sends to a contact address, and an `llms.txt` section with the same addresses.
## Conventions
@@ -47,6 +49,7 @@ JSON schemas use JSON Type Definition [RFC8927].
- **SimpleX link**: a connection link of the SimpleX Agent protocol, in the full or the short syntax, with the `https` or the `simplex` scheme [AGENT].
- **Channel link**: a short SimpleX link of type `c`, for example `https://smp12.simplex.im/c#`.
+- **Group link**: a short SimpleX link of type `g`, for example `https://smp12.simplex.im/g#`, or a full SimpleX link of a group.
- **Contact address link**: a short SimpleX link of type `a`, for example `https://smp12.simplex.im/a#`, or a full SimpleX link of type `contact`.
- **SimpleX name**: a name in the SimpleX name service [NAMES]. `#example.simplex` is the name of a channel, `@example.simplex` the name of a contact address.
- **Owner**: the person or organization that publishes the website.
@@ -55,16 +58,24 @@ JSON schemas use JSON Type Definition [RFC8927].
### simplex-channel
-The target of a `simplex-channel` link is a SimpleX channel in which the owner of the link context publishes updates. The target MUST be a channel link.
+The target of a `simplex-channel` link is a SimpleX channel of the owner of the link context, or a SimpleX channel described by the link context. The target MUST be a channel link.
+
+### simplex-group
+
+The target of a `simplex-group` link is a SimpleX group of the owner of the link context, or a SimpleX group described by the link context. The target MUST be a group link.
### simplex-contact
-The target of a `simplex-contact` link is a SimpleX contact address at which the owner of the link context accepts conversations and requests. The target MUST be a contact address link.
+The target of a `simplex-contact` link is a SimpleX contact address of the owner of the link context, or a SimpleX contact address described by the link context. The target MUST be a contact address link.
+
+### Owner's and described addresses
+
+A page that describes the addresses of others, such as a directory or a catalogue, uses the relation types on its entries. The owner's own addresses are listed in the [well-known document](#well-known-uri).
### Target attributes
-- `title`: the name of the channel or the address, for display. In HTTP, a title with non-ASCII characters is sent as `title*` [RFC8187].
-- `hreflang`: the language of the channel's posts or of the conversations [BCP47].
+- `title`: the name of the channel, the group or the address, for display. In HTTP, a title with non-ASCII characters is sent as `title*` [RFC8187].
+- `hreflang`: the language of the channel's posts, or of the conversations [BCP47].
A link context MAY have several links of one relation type. Their order is the owner's order of preference: document order in HTML, and the order of link values in HTTP.
@@ -77,10 +88,11 @@ In the document head:
```
-In the document body, the relation types are used on visible links:
+In the document body, the relation types are used on visible links, for example on the entries of a directory:
```html
Chat with us
+Ridgeline hikers
```
### HTTP
@@ -96,7 +108,7 @@ Link: ; rel="simplex-contact"; hreflang="en"; ti
The document is located at the path `/.well-known/simplex.json` of an origin [RFC8615]. A client retrieves it with an HTTPS `GET` request. A server responds with status 200, and SHOULD send the media type `application/json`. A client parses the response body as JSON, whatever media type the server sends.
-The entries of the document are the channels and contact addresses of the origin's owner. A site that controls only a path of its origin publishes link relations instead.
+The entries of the document are the channels, groups and contact addresses of the origin's owner. A site that controls only a path of its origin publishes link relations instead.
### Format
@@ -106,6 +118,7 @@ The document MUST conform to this JSON Type Definition schema [RFC8927]:
{
"optionalProperties": {
"channels": {"elements": {"ref": "address"}},
+ "groups": {"elements": {"ref": "address"}},
"contacts": {"elements": {"ref": "address"}}
},
"additionalProperties": true,
@@ -120,6 +133,7 @@ The document MUST conform to this JSON Type Definition schema [RFC8927]:
"lang": {"type": "string"},
"audience": {"elements": {"type": "string"}},
"changeFrequency": {"enum": ["always", "hourly", "daily", "weekly", "monthly", "yearly", "never"]},
+ "business": {"type": "boolean"},
"protocols": {"elements": {"type": "string"}}
},
"additionalProperties": true
@@ -129,16 +143,18 @@ The document MUST conform to this JSON Type Definition schema [RFC8927]:
```
- `channels`: the owner's channels, in the owner's order of preference.
+- `groups`: the owner's groups, in the owner's order of preference.
- `contacts`: the owner's contact addresses, in the owner's order of preference.
-- `link`: required. A channel link in `channels`, a contact address link in `contacts`.
-- `name`: the SimpleX name of the channel or the contact address of `link`.
-- `title`: the name of the channel or the address, for display.
-- `lang`: the language of the channel's posts or of the conversations [BCP47].
-- `audience`: who the channel or the address serves: `people`, `agents`, or both.
+- `link`: required. A channel link in `channels`, a group link in `groups`, a contact address link in `contacts`.
+- `name`: the SimpleX name of the channel, the group or the contact address of `link`.
+- `title`: the name of the channel, the group or the address, for display.
+- `lang`: the language of the channel's posts, or of the conversations [BCP47].
+- `audience`: who the channel, the group or the address serves: `people`, `agents`, or both.
- `changeFrequency`: in `channels` only, how often the channel is updated. The values are the `changefreq` values of the Sitemaps protocol [SITEMAPS]: `always`, `hourly`, `daily`, `weekly`, `monthly`, `yearly`, `never`.
+- `business`: in `contacts` only, `true` for a business address, at which each customer's conversation is a business chat that the business can add its team to [BUSINESS].
- `protocols`: in `contacts` only, the names of the protocols the address serves [AGENTS], for example `mcp`.
-A site with only channels or only contact addresses omits the other list.
+A site omits the lists it does not use.
### Example
@@ -154,6 +170,13 @@ A site with only channels or only contact addresses omits the other list.
"changeFrequency": "weekly"
}
],
+ "groups": [
+ {
+ "link": "https://smp12.simplex.im/g#…",
+ "title": "Ridgeline hikers",
+ "lang": "en"
+ }
+ ],
"contacts": [
{
"link": "https://smp12.simplex.im/a#…",
@@ -161,6 +184,7 @@ A site with only channels or only contact addresses omits the other list.
"title": "Ask Ridgeline",
"lang": "en",
"audience": ["agents"],
+ "business": true,
"protocols": ["mcp"]
}
]
@@ -171,7 +195,7 @@ A site with only channels or only contact addresses omits the other list.
- A consumer MUST ignore unknown fields and unknown `audience` values.
- A consumer MUST ignore a link of a type other than the one its relation type or its list requires.
-- The values on the website are hints. The data retrieved with the link is authoritative: an audience, an update frequency or protocols declared there [AGENTS] take precedence over the website's values.
+- The values on the website are hints. The data retrieved with the link is authoritative: an audience, an update frequency, the business flag or protocols declared there [AGENTS] take precedence over the website's values.
- A consumer MAY connect by `link` or by `name`. Resolving a name reveals interest in it to one names router, and verifies that the name's record and the profile's claim match [NAMES].
## Security considerations
@@ -183,22 +207,27 @@ A site with only channels or only contact addresses omits the other list.
## Privacy considerations
-- The relation types and the well-known document are intended for owners who want to be reachable: channels, businesses and services.
+- The relation types and the well-known document are intended for owners who want to be reachable, such as channels, communities, businesses and services, and for pages that describe them, such as directories.
- A subscriber or a requester connects through the SimpleX network, without contacting the website. Retrieving a page or the well-known document is an ordinary web request.
## IANA considerations
### Link relation types registration
-Two registrations in the "Link Relation Types" registry [RFC8288]:
+Three registrations in the "Link Relation Types" registry [RFC8288]:
- Relation Name: `simplex-channel`
-- Description: Refers to a SimpleX channel in which the owner of the link context publishes updates.
+- Description: Refers to a SimpleX channel of the owner of the link context, or described by the link context.
- Reference: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-channel
- Notes: The target is a SimpleX channel link [AGENT], with the `https` scheme or the provisionally registered `simplex` scheme.
+- Relation Name: `simplex-group`
+- Description: Refers to a SimpleX group of the owner of the link context, or described by the link context.
+- Reference: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-group
+- Notes: The target is a SimpleX group link [AGENT], with the `https` scheme or the provisionally registered `simplex` scheme.
+
- Relation Name: `simplex-contact`
-- Description: Refers to a SimpleX contact address at which the owner of the link context accepts conversations and requests.
+- Description: Refers to a SimpleX contact address of the owner of the link context, or described by the link context.
- Reference: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-contact
- Notes: The target is a SimpleX contact address link [AGENT], with the `https` scheme or the provisionally registered `simplex` scheme.
@@ -220,15 +249,23 @@ The HTML standard requires extension link types to be registered on the microfor
- Effect on `link`: Hyperlink
- Effect on `a`, `area`: Hyperlink
- Effect on `form`: not allowed
-- Brief description: Refers to a SimpleX channel in which the owner of the page publishes updates.
+- Brief description: Refers to a SimpleX channel of the page's owner, or described by the page.
- Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-channel
- Status: proposed
+- Keyword: `simplex-group`
+- Effect on `link`: Hyperlink
+- Effect on `a`, `area`: Hyperlink
+- Effect on `form`: not allowed
+- Brief description: Refers to a SimpleX group of the page's owner, or described by the page.
+- Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-group
+- Status: proposed
+
- Keyword: `simplex-contact`
- Effect on `link`: Hyperlink
- Effect on `a`, `area`: Hyperlink
- Effect on `form`: not allowed
-- Brief description: Refers to a SimpleX contact address at which the owner of the page accepts conversations and requests.
+- Brief description: Refers to a SimpleX contact address of the page's owner, or described by the page.
- Specification: https://github.com/simplex-chat/simplex-chat/blob/stable/docs/protocol/web-discovery.md#simplex-contact
- Status: proposed
@@ -237,6 +274,7 @@ The HTML standard requires extension link types to be registered on the microfor
- [AGENT] SimpleX Agent protocol, connection links: https://github.com/simplex-chat/simplexmq/blob/stable/protocol/agent-protocol.md#connection-link-1-time-invitation-and-contact-address
- [AGENTS] Agent protocols over SimpleX: [agent-protocols.md](https://simplex.chat/docs/protocol/agent-protocols.md)
- [BCP47] Tags for Identifying Languages: https://www.rfc-editor.org/info/bcp47
+- [BUSINESS] Using SimpleX Chat in business: [BUSINESS.md](https://simplex.chat/docs/business.md)
- [HTML] HTML Living Standard, other link types: https://html.spec.whatwg.org/multipage/links.html#other-link-types
- [MF-REL] Microformats, existing rel values: https://microformats.org/wiki/existing-rel-values
- [NAMES] SimpleX public names for channels and businesses: [names-overview.md](https://simplex.chat/docs/protocol/names-overview.md)
diff --git a/docs/server.html b/docs/server.html
index ea2dd6db7f..846b1abe6a 100644
--- a/docs/server.html
+++ b/docs/server.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/simplex.html b/docs/simplex.html
index 165fbf9df3..335a8aa268 100644
--- a/docs/simplex.html
+++ b/docs/simplex.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/themes.html b/docs/themes.html
index 203ddb636c..1844b4b86d 100644
--- a/docs/themes.html
+++ b/docs/themes.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/trademark.html b/docs/trademark.html
index 10a0de470b..beeec664f1 100644
--- a/docs/trademark.html
+++ b/docs/trademark.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/translations.html b/docs/translations.html
index 73a6833d9c..a182289211 100644
--- a/docs/translations.html
+++ b/docs/translations.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/webrtc.html b/docs/webrtc.html
index 2b03875d84..bcb3937547 100644
--- a/docs/webrtc.html
+++ b/docs/webrtc.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/why.html b/docs/why.html
index 0790ad527d..ee71852066 100644
--- a/docs/why.html
+++ b/docs/why.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/docs/xftp-server.html b/docs/xftp-server.html
index cd16f608ab..6950b0c72d 100644
--- a/docs/xftp-server.html
+++ b/docs/xftp-server.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/donate/index.html b/donate/index.html
index 3c6de6c13e..b41d499d9a 100644
--- a/donate/index.html
+++ b/donate/index.html
@@ -62,6 +62,10 @@
+
+
+
+
diff --git a/downloads/index.html b/downloads/index.html
index 1170834b15..ab9156e190 100644
--- a/downloads/index.html
+++ b/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/contact/index.html b/en/contact/index.html
index 7342a21ffc..e60572080b 100644
--- a/en/contact/index.html
+++ b/en/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/downloads/index.html b/en/downloads/index.html
index 6d3809ebe8..5fa2627aea 100644
--- a/en/downloads/index.html
+++ b/en/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/fdroid/index.html b/en/fdroid/index.html
index 88e8768453..d98e824e00 100644
--- a/en/fdroid/index.html
+++ b/en/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/file/index.html b/en/file/index.html
index cd982c52c0..ea45185b13 100644
--- a/en/file/index.html
+++ b/en/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/index.html b/en/index.html
index d937500bdb..3dbff74e23 100644
--- a/en/index.html
+++ b/en/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/en/invitation/index.html b/en/invitation/index.html
index eea34a20e9..06dc288615 100644
--- a/en/invitation/index.html
+++ b/en/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/messaging/index.html b/en/messaging/index.html
index 6760dda5dd..e34f15e113 100644
--- a/en/messaging/index.html
+++ b/en/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/old/index.html b/en/old/index.html
index 47cc751465..476354f55d 100644
--- a/en/old/index.html
+++ b/en/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/en/why/index.html b/en/why/index.html
index 52a447f931..791c35504f 100644
--- a/en/why/index.html
+++ b/en/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/contact/index.html b/es/contact/index.html
index 108c588b8e..183ebe2a01 100644
--- a/es/contact/index.html
+++ b/es/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/downloads/index.html b/es/downloads/index.html
index c344fdae57..b2e567c5e4 100644
--- a/es/downloads/index.html
+++ b/es/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/fdroid/index.html b/es/fdroid/index.html
index 89d6c1b93e..94bc3cd60c 100644
--- a/es/fdroid/index.html
+++ b/es/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/file/index.html b/es/file/index.html
index 68bd40b5ff..9ffe8b00cc 100644
--- a/es/file/index.html
+++ b/es/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/index.html b/es/index.html
index ec2c225802..c190fbf3b0 100644
--- a/es/index.html
+++ b/es/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/es/invitation/index.html b/es/invitation/index.html
index e7fec36b26..23e61b0530 100644
--- a/es/invitation/index.html
+++ b/es/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/messaging/index.html b/es/messaging/index.html
index d8b618db69..7fcc03975b 100644
--- a/es/messaging/index.html
+++ b/es/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/old/index.html b/es/old/index.html
index c833cc09e3..980d03cb24 100644
--- a/es/old/index.html
+++ b/es/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/es/why/index.html b/es/why/index.html
index ef5db7b7f5..8e5b01f092 100644
--- a/es/why/index.html
+++ b/es/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fa/contact/index.html b/fa/contact/index.html
index 536c1b1f91..871af42d69 100644
--- a/fa/contact/index.html
+++ b/fa/contact/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/downloads/index.html b/fa/downloads/index.html
index 64566fe164..78be1d7768 100644
--- a/fa/downloads/index.html
+++ b/fa/downloads/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/fdroid/index.html b/fa/fdroid/index.html
index e62ec50c9a..7bf335dce6 100644
--- a/fa/fdroid/index.html
+++ b/fa/fdroid/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/file/index.html b/fa/file/index.html
index 88895c6e0a..ea22634f65 100644
--- a/fa/file/index.html
+++ b/fa/file/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/index.html b/fa/index.html
index 840aa0a669..f11f83f4d9 100644
--- a/fa/index.html
+++ b/fa/index.html
@@ -63,6 +63,10 @@
+
+
+
+
@@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/fa/invitation/index.html b/fa/invitation/index.html
index fe51d56066..6f479ca471 100644
--- a/fa/invitation/index.html
+++ b/fa/invitation/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/messaging/index.html b/fa/messaging/index.html
index e1082fcd56..bb5934d3cd 100644
--- a/fa/messaging/index.html
+++ b/fa/messaging/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/old/index.html b/fa/old/index.html
index 30fcfde6c1..416ba9e2bd 100644
--- a/fa/old/index.html
+++ b/fa/old/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/fa/why/index.html b/fa/why/index.html
index db3b2f4528..4e1d712eab 100644
--- a/fa/why/index.html
+++ b/fa/why/index.html
@@ -61,6 +61,10 @@
+
+
+
+
diff --git a/faq/index.html b/faq/index.html
index 2c350bb9bd..d499518295 100644
--- a/faq/index.html
+++ b/faq/index.html
@@ -56,6 +56,10 @@
+
+
+
+
diff --git a/fdroid/index.html b/fdroid/index.html
index 7a77b3e43a..fbc1314fb6 100644
--- a/fdroid/index.html
+++ b/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/contact/index.html b/fi/contact/index.html
index d73933a565..43fa507e27 100644
--- a/fi/contact/index.html
+++ b/fi/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/downloads/index.html b/fi/downloads/index.html
index a138a5afe4..13c1349df4 100644
--- a/fi/downloads/index.html
+++ b/fi/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/fdroid/index.html b/fi/fdroid/index.html
index bc211118c6..bb2ac27b7d 100644
--- a/fi/fdroid/index.html
+++ b/fi/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/file/index.html b/fi/file/index.html
index 23ecfad56d..27154932af 100644
--- a/fi/file/index.html
+++ b/fi/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/index.html b/fi/index.html
index a64fa34319..0504042af8 100644
--- a/fi/index.html
+++ b/fi/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/fi/invitation/index.html b/fi/invitation/index.html
index 5381209100..67942681a8 100644
--- a/fi/invitation/index.html
+++ b/fi/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/messaging/index.html b/fi/messaging/index.html
index 2d562a25eb..46fe1b730f 100644
--- a/fi/messaging/index.html
+++ b/fi/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/old/index.html b/fi/old/index.html
index 38af1f3121..741470236d 100644
--- a/fi/old/index.html
+++ b/fi/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fi/why/index.html b/fi/why/index.html
index 6df5f18949..ee5bf41363 100644
--- a/fi/why/index.html
+++ b/fi/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/file/index.html b/file/index.html
index 5c8822e419..3853abb212 100644
--- a/file/index.html
+++ b/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/contact/index.html b/fr/contact/index.html
index 96d31d38a8..a67145c9b5 100644
--- a/fr/contact/index.html
+++ b/fr/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/downloads/index.html b/fr/downloads/index.html
index 32f575b2f7..75fa8b9f7a 100644
--- a/fr/downloads/index.html
+++ b/fr/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/fdroid/index.html b/fr/fdroid/index.html
index 53e7cdec2d..990fd0659a 100644
--- a/fr/fdroid/index.html
+++ b/fr/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/file/index.html b/fr/file/index.html
index 98f9832bd4..c84e241a50 100644
--- a/fr/file/index.html
+++ b/fr/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/index.html b/fr/index.html
index bf6724476e..819d5ab22f 100644
--- a/fr/index.html
+++ b/fr/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/fr/invitation/index.html b/fr/invitation/index.html
index 3fb37dd31f..f9bff67a5c 100644
--- a/fr/invitation/index.html
+++ b/fr/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/messaging/index.html b/fr/messaging/index.html
index 85496c2ba9..da989f112b 100644
--- a/fr/messaging/index.html
+++ b/fr/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/old/index.html b/fr/old/index.html
index 1d05fe4b1a..58724ec57d 100644
--- a/fr/old/index.html
+++ b/fr/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/fr/why/index.html b/fr/why/index.html
index 13dbdadba1..c0a4d95143 100644
--- a/fr/why/index.html
+++ b/fr/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/contact/index.html b/he/contact/index.html
index 75d600201f..6b66975d99 100644
--- a/he/contact/index.html
+++ b/he/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/downloads/index.html b/he/downloads/index.html
index e68f108651..ba8a13fcdc 100644
--- a/he/downloads/index.html
+++ b/he/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/fdroid/index.html b/he/fdroid/index.html
index fcbf4a89bb..7c615ff9af 100644
--- a/he/fdroid/index.html
+++ b/he/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/file/index.html b/he/file/index.html
index 2db1eea99f..c2a25b4ccf 100644
--- a/he/file/index.html
+++ b/he/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/index.html b/he/index.html
index 9b176e7f98..23cd7c232d 100644
--- a/he/index.html
+++ b/he/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/he/invitation/index.html b/he/invitation/index.html
index c8c97673d2..1f195333cd 100644
--- a/he/invitation/index.html
+++ b/he/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/messaging/index.html b/he/messaging/index.html
index 8d6bd928b8..4a872c3e79 100644
--- a/he/messaging/index.html
+++ b/he/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/old/index.html b/he/old/index.html
index 245dcd5059..8e3a6abae9 100644
--- a/he/old/index.html
+++ b/he/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/he/why/index.html b/he/why/index.html
index 859d942060..06483ffcbb 100644
--- a/he/why/index.html
+++ b/he/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/contact/index.html b/hu/contact/index.html
index c63cf93ed0..33c0294fd4 100644
--- a/hu/contact/index.html
+++ b/hu/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/downloads/index.html b/hu/downloads/index.html
index f2a779734e..fa6a742a17 100644
--- a/hu/downloads/index.html
+++ b/hu/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/fdroid/index.html b/hu/fdroid/index.html
index 2e559b5f9e..3472766eff 100644
--- a/hu/fdroid/index.html
+++ b/hu/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/file/index.html b/hu/file/index.html
index ab13500e3b..3f2e7301ba 100644
--- a/hu/file/index.html
+++ b/hu/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/index.html b/hu/index.html
index 94e419b78a..fba8ab9553 100644
--- a/hu/index.html
+++ b/hu/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/hu/invitation/index.html b/hu/invitation/index.html
index 6882c1d92a..ea63fa2cec 100644
--- a/hu/invitation/index.html
+++ b/hu/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/messaging/index.html b/hu/messaging/index.html
index ee2f8b889b..2bde46c20d 100644
--- a/hu/messaging/index.html
+++ b/hu/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/old/index.html b/hu/old/index.html
index 25cfe16808..0b638a05d0 100644
--- a/hu/old/index.html
+++ b/hu/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/hu/why/index.html b/hu/why/index.html
index 90439ff6e6..4da6e2cd44 100644
--- a/hu/why/index.html
+++ b/hu/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/contact/index.html b/id/contact/index.html
index 7c58d6db49..4a210fb52b 100644
--- a/id/contact/index.html
+++ b/id/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/downloads/index.html b/id/downloads/index.html
index f1c89e646c..70c2d5b6be 100644
--- a/id/downloads/index.html
+++ b/id/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/fdroid/index.html b/id/fdroid/index.html
index e4a9bde7fb..ba150ea035 100644
--- a/id/fdroid/index.html
+++ b/id/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/file/index.html b/id/file/index.html
index ec688f8308..104afd5d06 100644
--- a/id/file/index.html
+++ b/id/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/index.html b/id/index.html
index 82b7a75f59..88933e2443 100644
--- a/id/index.html
+++ b/id/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/id/invitation/index.html b/id/invitation/index.html
index 3e0d53e633..d9da6f3443 100644
--- a/id/invitation/index.html
+++ b/id/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/messaging/index.html b/id/messaging/index.html
index ddc203df7b..da1d79b569 100644
--- a/id/messaging/index.html
+++ b/id/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/old/index.html b/id/old/index.html
index 9819997cb3..f39ab302c8 100644
--- a/id/old/index.html
+++ b/id/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/id/why/index.html b/id/why/index.html
index 2454bc86db..581b3c71d7 100644
--- a/id/why/index.html
+++ b/id/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/index.html b/index.html
index 01d72cfc64..25a1efe7d0 100644
--- a/index.html
+++ b/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/invitation/index.html b/invitation/index.html
index f90f4a81a0..c72252bc23 100644
--- a/invitation/index.html
+++ b/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/contact/index.html b/it/contact/index.html
index 673e2a8702..d40b306041 100644
--- a/it/contact/index.html
+++ b/it/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/downloads/index.html b/it/downloads/index.html
index e35b950531..b5fc3b799e 100644
--- a/it/downloads/index.html
+++ b/it/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/fdroid/index.html b/it/fdroid/index.html
index f057faf844..78be8ff6b4 100644
--- a/it/fdroid/index.html
+++ b/it/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/file/index.html b/it/file/index.html
index 5978d1951f..c8b5be1fe2 100644
--- a/it/file/index.html
+++ b/it/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/index.html b/it/index.html
index 114107c595..44f0c3434b 100644
--- a/it/index.html
+++ b/it/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/it/invitation/index.html b/it/invitation/index.html
index 841813f30c..4fab839b1a 100644
--- a/it/invitation/index.html
+++ b/it/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/messaging/index.html b/it/messaging/index.html
index ec755f02de..9501b7e5cc 100644
--- a/it/messaging/index.html
+++ b/it/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/old/index.html b/it/old/index.html
index 30b2f13906..a84be6a319 100644
--- a/it/old/index.html
+++ b/it/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/it/why/index.html b/it/why/index.html
index 1c61a72823..17abb2004b 100644
--- a/it/why/index.html
+++ b/it/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/contact/index.html b/ja/contact/index.html
index 7810ed626e..3169211920 100644
--- a/ja/contact/index.html
+++ b/ja/contact/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/downloads/index.html b/ja/downloads/index.html
index f0c609000c..856b92338a 100644
--- a/ja/downloads/index.html
+++ b/ja/downloads/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/fdroid/index.html b/ja/fdroid/index.html
index c062fbaa61..8338c9c8ae 100644
--- a/ja/fdroid/index.html
+++ b/ja/fdroid/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/file/index.html b/ja/file/index.html
index 70a9d6a4ae..c723bfac0e 100644
--- a/ja/file/index.html
+++ b/ja/file/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/index.html b/ja/index.html
index d10a3cc5fc..87f59eda08 100644
--- a/ja/index.html
+++ b/ja/index.html
@@ -65,6 +65,10 @@
+
+
+
+
@@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{
-
+
diff --git a/ja/invitation/index.html b/ja/invitation/index.html
index 547e9d1dc1..a18aefd875 100644
--- a/ja/invitation/index.html
+++ b/ja/invitation/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/messaging/index.html b/ja/messaging/index.html
index d9bc599b1a..9191c4ed55 100644
--- a/ja/messaging/index.html
+++ b/ja/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/old/index.html b/ja/old/index.html
index 7e5b842250..e4d46f3626 100644
--- a/ja/old/index.html
+++ b/ja/old/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/ja/why/index.html b/ja/why/index.html
index e1ce6791c3..10ba5d629b 100644
--- a/ja/why/index.html
+++ b/ja/why/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/jobs/index.html b/jobs/index.html
index 6f19ebdc5d..840ab49220 100644
--- a/jobs/index.html
+++ b/jobs/index.html
@@ -55,6 +55,10 @@
+
+
+
+
diff --git a/js/directory.js b/js/directory.js
index f7c021605e..397436f41a 100644
--- a/js/directory.js
+++ b/js/directory.js
@@ -660,7 +660,7 @@ function displayEntries(entries) {
imgLinkElement.href = groupLinkUri;
}
imgLinkElement.target = "_blank";
- imgLinkElement.rel = "noopener";
+ imgLinkElement.rel = entryType?.groupType === 'channel' ? "noopener simplex-channel" : "noopener simplex-group";
imgLinkElement.title = `Join ${displayName}`;
const imgElement = document.createElement('img');
diff --git a/links/index.html b/links/index.html
index 56145bf46f..ff7ccba5d8 100644
--- a/links/index.html
+++ b/links/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/livestream/index.html b/livestream/index.html
index 196063510d..88a0478066 100644
--- a/livestream/index.html
+++ b/livestream/index.html
@@ -22,6 +22,10 @@
+
+
+
+
diff --git a/llms.txt b/llms.txt
index 0dd713d071..f3cfaaae05 100644
--- a/llms.txt
+++ b/llms.txt
@@ -53,6 +53,14 @@ Every page of simplex.chat is also available as Markdown: replace `.html` with `
- [SimpleX for business](https://simplex.chat/docs/business.md)
- [Host your own messaging server](https://simplex.chat/docs/server.md) and [file server](https://simplex.chat/docs/xftp-server.md)
+## Communications
+
+- [SimpleX Network News](https://smp18.simplex.im/c#grcfG3ulVI4Sh6ow33qBsmSk7uEy3gRSl2KkJ5ER6tA): SimpleX updates for people, weekly. Network technology, governance and development.
+- [SimpleX Crowdfunding News](https://smp10.simplex.im/c#q09nMBmWFGz1m2TvgfZFaEOG5D2a7Ma9mSkl6pHXEsg): SimpleX updates for people, weekly. The equity crowdfunding on Wefunder.
+- [SimpleX users group](https://smp4.simplex.im/g#hr4lvFeBmndWMKTwqiodPz3VBo_6UmdGWocXd1SupsM): SimpleX group for people. Users of SimpleX Chat.
+- [Ask SimpleX Team](https://smp6.simplex.im/a#lrdvu2d8A1GumSmoKb2krQmtKhWXq-tyGpHuM7aMwsw): SimpleX business contact for people and agents. Questions to the SimpleX Chat team.
+- [SimpleX Directory](https://smp4.simplex.im/a#lXUjJW5vHYQzoLYgmi8GbxkGP41_kjefFvBrdwg-0Ok): SimpleX contact for people and agents. Search for public groups and channels.
+
## For AI agents and developers
- [SimpleX for AI agents and developers](https://simplex.chat/llms/agents.md): a bot in five minutes, the API, building from source, OpenClaw, asking the team
diff --git a/messaging/index.html b/messaging/index.html
index ee3942b422..0abfa3eeff 100644
--- a/messaging/index.html
+++ b/messaging/index.html
@@ -63,6 +63,10 @@
+
+
+
+
diff --git a/news/index.html b/news/index.html
index 219c17971e..689e60769f 100644
--- a/news/index.html
+++ b/news/index.html
@@ -63,6 +63,10 @@
+
+
+
+
@@ -512,7 +516,7 @@ window.addEventListener('click',(e)=>{
data-top-offset="54"
>
The news about SimpleX Network technology, governance and anything related to its development, published as a SimpleX channel. Join it in the SimpleX Chat app: SimpleX Network News.
+The news about SimpleX Network technology, governance and anything related to its development, published as a SimpleX channel. Join it in the SimpleX Chat app: SimpleX Network News.
Recent posts in JSON, with the channel profile and subscriber count, from any of the channel relays: relay1.simplex.chat, relay2.simplex.chat, relay3.simplex.chat.
diff --git a/nl/contact/index.html b/nl/contact/index.html index 40738ce626..47ecc23f0d 100644 --- a/nl/contact/index.html +++ b/nl/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/downloads/index.html b/nl/downloads/index.html index ecad6bbc5b..0ca11b1a79 100644 --- a/nl/downloads/index.html +++ b/nl/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/fdroid/index.html b/nl/fdroid/index.html index f4bc2a08ad..aa47550651 100644 --- a/nl/fdroid/index.html +++ b/nl/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/file/index.html b/nl/file/index.html index a6a8939ec7..f517a14af8 100644 --- a/nl/file/index.html +++ b/nl/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/index.html b/nl/index.html index 63d28d14b8..b93874cd26 100644 --- a/nl/index.html +++ b/nl/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{