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)=>{ - + 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/crowdfunding/index.html b/crowdfunding/index.html index 3227348345..cfc5286ceb 100644 --- a/crowdfunding/index.html +++ b/crowdfunding/index.html @@ -16,6 +16,10 @@ + + + + diff --git a/cs/contact/index.html b/cs/contact/index.html index ecbb3f91b8..5cf82a5697 100644 --- a/cs/contact/index.html +++ b/cs/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/cs/downloads/index.html b/cs/downloads/index.html index 7295153b1c..bed8e101f9 100644 --- a/cs/downloads/index.html +++ b/cs/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/cs/fdroid/index.html b/cs/fdroid/index.html index f587ab3411..fb4ab218de 100644 --- a/cs/fdroid/index.html +++ b/cs/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/cs/file/index.html b/cs/file/index.html index 613a6337d0..b9a0bc2e1e 100644 --- a/cs/file/index.html +++ b/cs/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/cs/index.html b/cs/index.html index 04942239b6..c5697cd10d 100644 --- a/cs/index.html +++ b/cs/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + 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)=>{

SimpleX Directory

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.

diff --git a/docs/android.html b/docs/android.html index 1a199ab724..e94f8b1313 100644 --- a/docs/android.html +++ b/docs/android.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/business.html b/docs/business.html index 9d03ec3c8f..0c65519b10 100644 --- a/docs/business.html +++ b/docs/business.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/chat-relay.html b/docs/chat-relay.html index eeb9749b28..f037e1cdd7 100644 --- a/docs/chat-relay.html +++ b/docs/chat-relay.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/cli.html b/docs/cli.html index a2242537bb..ab0f0a07e2 100644 --- a/docs/cli.html +++ b/docs/cli.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/code_of_conduct.html b/docs/code_of_conduct.html index 4684c02228..eda4d1e61c 100644 --- a/docs/code_of_conduct.html +++ b/docs/code_of_conduct.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/contributing.html b/docs/contributing.html index 66b8188e31..0692860b33 100644 --- a/docs/contributing.html +++ b/docs/contributing.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/directory.html b/docs/directory.html index 772dd21581..8275b52d4d 100644 --- a/docs/directory.html +++ b/docs/directory.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/glossary.html b/docs/glossary.html index 5cfe38cf02..5766867027 100644 --- a/docs/glossary.html +++ b/docs/glossary.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/app-settings.html b/docs/guide/app-settings.html index 727d79b3fe..50708335ee 100644 --- a/docs/guide/app-settings.html +++ b/docs/guide/app-settings.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/audio-video-calls.html b/docs/guide/audio-video-calls.html index 41cb596536..9078dea6ff 100644 --- a/docs/guide/audio-video-calls.html +++ b/docs/guide/audio-video-calls.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/channel-webpage.html b/docs/guide/channel-webpage.html index fe495c6718..411a1be12b 100644 --- a/docs/guide/channel-webpage.html +++ b/docs/guide/channel-webpage.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/chat-profiles.html b/docs/guide/chat-profiles.html index 8f0ae2fa62..4468808afa 100644 --- a/docs/guide/chat-profiles.html +++ b/docs/guide/chat-profiles.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/making-connections.html b/docs/guide/making-connections.html index fe5826c371..c28ebcb72b 100644 --- a/docs/guide/making-connections.html +++ b/docs/guide/making-connections.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/managing-data.html b/docs/guide/managing-data.html index 0edc8b0d02..830770c6a9 100644 --- a/docs/guide/managing-data.html +++ b/docs/guide/managing-data.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/privacy-security.html b/docs/guide/privacy-security.html index ab9286f589..58fed14956 100644 --- a/docs/guide/privacy-security.html +++ b/docs/guide/privacy-security.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/readme.html b/docs/guide/readme.html index 99206c78f8..2c86d9783b 100644 --- a/docs/guide/readme.html +++ b/docs/guide/readme.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/register-simplex-name.html b/docs/guide/register-simplex-name.html index f47443787f..a0a7677b19 100644 --- a/docs/guide/register-simplex-name.html +++ b/docs/guide/register-simplex-name.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/secret-groups.html b/docs/guide/secret-groups.html index c0a72f24ab..a6794a0966 100644 --- a/docs/guide/secret-groups.html +++ b/docs/guide/secret-groups.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/guide/send-messages.html b/docs/guide/send-messages.html index 93315d2c88..cce9dfa689 100644 --- a/docs/guide/send-messages.html +++ b/docs/guide/send-messages.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/android.html b/docs/lang/cs/android.html index 5b2a2a001d..32ca8f7f1c 100644 --- a/docs/lang/cs/android.html +++ b/docs/lang/cs/android.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/cli.html b/docs/lang/cs/cli.html index 98182f8f5e..cc50254f1e 100644 --- a/docs/lang/cs/cli.html +++ b/docs/lang/cs/cli.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/contributing.html b/docs/lang/cs/contributing.html index c4c7bd4792..d39dafaf4e 100644 --- a/docs/lang/cs/contributing.html +++ b/docs/lang/cs/contributing.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/server.html b/docs/lang/cs/server.html index a2dfbad43b..fe92202960 100644 --- a/docs/lang/cs/server.html +++ b/docs/lang/cs/server.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/simplex.html b/docs/lang/cs/simplex.html index 3b9cf7460d..11a69269dd 100644 --- a/docs/lang/cs/simplex.html +++ b/docs/lang/cs/simplex.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/translations.html b/docs/lang/cs/translations.html index 297072bfd4..ce5b987894 100644 --- a/docs/lang/cs/translations.html +++ b/docs/lang/cs/translations.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/cs/webrtc.html b/docs/lang/cs/webrtc.html index 9c61198646..fcdf58bcb0 100644 --- a/docs/lang/cs/webrtc.html +++ b/docs/lang/cs/webrtc.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/android.html b/docs/lang/fr/android.html index e227756c48..4ab4613b2e 100644 --- a/docs/lang/fr/android.html +++ b/docs/lang/fr/android.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/cli.html b/docs/lang/fr/cli.html index f50fe94e2c..9c82e2ad5e 100644 --- a/docs/lang/fr/cli.html +++ b/docs/lang/fr/cli.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/contributing.html b/docs/lang/fr/contributing.html index e5162e99bf..cfc01f4fb7 100644 --- a/docs/lang/fr/contributing.html +++ b/docs/lang/fr/contributing.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/server.html b/docs/lang/fr/server.html index c03f9af6cf..ba5bded545 100644 --- a/docs/lang/fr/server.html +++ b/docs/lang/fr/server.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/simplex.html b/docs/lang/fr/simplex.html index cd83860fb9..cb94e26810 100644 --- a/docs/lang/fr/simplex.html +++ b/docs/lang/fr/simplex.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/translations.html b/docs/lang/fr/translations.html index 6e9de23cb6..112d01b7f8 100644 --- a/docs/lang/fr/translations.html +++ b/docs/lang/fr/translations.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/fr/webrtc.html b/docs/lang/fr/webrtc.html index ab8e9e4854..8c8167ac54 100644 --- a/docs/lang/fr/webrtc.html +++ b/docs/lang/fr/webrtc.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/android.html b/docs/lang/pl/android.html index f6e3b541e2..94d3cc74b8 100644 --- a/docs/lang/pl/android.html +++ b/docs/lang/pl/android.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/cli.html b/docs/lang/pl/cli.html index f0407584fe..561feadfa9 100644 --- a/docs/lang/pl/cli.html +++ b/docs/lang/pl/cli.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/contributing.html b/docs/lang/pl/contributing.html index c240f91d08..df5473c4de 100644 --- a/docs/lang/pl/contributing.html +++ b/docs/lang/pl/contributing.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/server.html b/docs/lang/pl/server.html index e202af3baa..c6c2dca0e1 100644 --- a/docs/lang/pl/server.html +++ b/docs/lang/pl/server.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/simplex.html b/docs/lang/pl/simplex.html index 8af5602649..d6e62ea173 100644 --- a/docs/lang/pl/simplex.html +++ b/docs/lang/pl/simplex.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/translations.html b/docs/lang/pl/translations.html index 5f30038755..24d5d35387 100644 --- a/docs/lang/pl/translations.html +++ b/docs/lang/pl/translations.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/lang/pl/webrtc.html b/docs/lang/pl/webrtc.html index aee328a73e..2601701dbe 100644 --- a/docs/lang/pl/webrtc.html +++ b/docs/lang/pl/webrtc.html @@ -56,6 +56,10 @@ + + + + diff --git a/docs/protocol/agent-protocols.html b/docs/protocol/agent-protocols.html index 57ab0c62a6..0d841fb7ce 100644 --- a/docs/protocol/agent-protocols.html +++ b/docs/protocol/agent-protocols.html @@ -56,6 +56,10 @@ + + + + @@ -898,7 +902,7 @@ window.addEventListener('click',(e)=>{
  • Profile declarations @@ -978,26 +982,28 @@ window.addEventListener('click',(e)=>{

    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>
     

    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

    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:

    @@ -1038,8 +1044,8 @@ window.addEventListener('click',(e)=>{ } } -

    Channel audience and update frequency

    -

    Two fields of the channel's public group record, publicGroup of its group profile [CHAT]. JSON Type Definition schema [RFC8927]:

    +

    Public group audience and update frequency

    +

    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)=>{
     }
     

    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]:

    {
       "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

      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.

      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

    -

    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

      @@ -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.

      +
    • +
    • +

      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

      @@ -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" >
  • 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)=>{ - + diff --git a/nl/invitation/index.html b/nl/invitation/index.html index 1e028b4205..19b00dcfb6 100644 --- a/nl/invitation/index.html +++ b/nl/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/messaging/index.html b/nl/messaging/index.html index f2633f2001..558c052ed4 100644 --- a/nl/messaging/index.html +++ b/nl/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/old/index.html b/nl/old/index.html index edd729a903..4ef2d69ce5 100644 --- a/nl/old/index.html +++ b/nl/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/nl/why/index.html b/nl/why/index.html index 8a3b2426e7..db0401c25c 100644 --- a/nl/why/index.html +++ b/nl/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/old/index.html b/old/index.html index bf2bfe906a..eef14efd4b 100644 --- a/old/index.html +++ b/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/contact/index.html b/pl/contact/index.html index c048f6dac5..8750cd7b6a 100644 --- a/pl/contact/index.html +++ b/pl/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/downloads/index.html b/pl/downloads/index.html index 741fa995c3..198c974ed8 100644 --- a/pl/downloads/index.html +++ b/pl/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/fdroid/index.html b/pl/fdroid/index.html index b0f605dc04..df38f42bef 100644 --- a/pl/fdroid/index.html +++ b/pl/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/file/index.html b/pl/file/index.html index de3908f40a..608b45d694 100644 --- a/pl/file/index.html +++ b/pl/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/index.html b/pl/index.html index 965d0b08aa..b9d96cd2da 100644 --- a/pl/index.html +++ b/pl/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/pl/invitation/index.html b/pl/invitation/index.html index 95a03b056d..b0c328db95 100644 --- a/pl/invitation/index.html +++ b/pl/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/messaging/index.html b/pl/messaging/index.html index 27e5d4ed95..3345a55861 100644 --- a/pl/messaging/index.html +++ b/pl/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/old/index.html b/pl/old/index.html index 5aa9909305..3fed3cf9f2 100644 --- a/pl/old/index.html +++ b/pl/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pl/why/index.html b/pl/why/index.html index 02493f8b58..7b1e5c19f1 100644 --- a/pl/why/index.html +++ b/pl/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/privacy/index.html b/privacy/index.html index d8da39afc7..b7244c6d76 100644 --- a/privacy/index.html +++ b/privacy/index.html @@ -62,6 +62,10 @@ + + + + diff --git a/pt_BR/contact/index.html b/pt_BR/contact/index.html index 0d51fd373e..2494be079a 100644 --- a/pt_BR/contact/index.html +++ b/pt_BR/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/downloads/index.html b/pt_BR/downloads/index.html index 013909d183..e4a14b36ef 100644 --- a/pt_BR/downloads/index.html +++ b/pt_BR/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/fdroid/index.html b/pt_BR/fdroid/index.html index 2b9b674173..f52bbd1822 100644 --- a/pt_BR/fdroid/index.html +++ b/pt_BR/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/file/index.html b/pt_BR/file/index.html index 2c57b65e07..63abe568b8 100644 --- a/pt_BR/file/index.html +++ b/pt_BR/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/index.html b/pt_BR/index.html index 9ecd375b36..d1ef9bda2d 100644 --- a/pt_BR/index.html +++ b/pt_BR/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/pt_BR/invitation/index.html b/pt_BR/invitation/index.html index 310ebfda6b..8fb4bc4bad 100644 --- a/pt_BR/invitation/index.html +++ b/pt_BR/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/messaging/index.html b/pt_BR/messaging/index.html index f58e0e2e06..9ac28cb23c 100644 --- a/pt_BR/messaging/index.html +++ b/pt_BR/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/old/index.html b/pt_BR/old/index.html index 4557058fa5..51cdabb46c 100644 --- a/pt_BR/old/index.html +++ b/pt_BR/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/pt_BR/why/index.html b/pt_BR/why/index.html index 1d1b04acc7..c4acb5e38a 100644 --- a/pt_BR/why/index.html +++ b/pt_BR/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/reproduce/index.html b/reproduce/index.html index ab9fe4c9b7..cb462a2d40 100644 --- a/reproduce/index.html +++ b/reproduce/index.html @@ -56,6 +56,10 @@ + + + + diff --git a/ro/contact/index.html b/ro/contact/index.html index 3e4541dae1..920537f992 100644 --- a/ro/contact/index.html +++ b/ro/contact/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/downloads/index.html b/ro/downloads/index.html index 8a3467e87a..76f8916b51 100644 --- a/ro/downloads/index.html +++ b/ro/downloads/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/fdroid/index.html b/ro/fdroid/index.html index e412cc9356..2c3f6a91e2 100644 --- a/ro/fdroid/index.html +++ b/ro/fdroid/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/file/index.html b/ro/file/index.html index d2c672e029..511001b944 100644 --- a/ro/file/index.html +++ b/ro/file/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/index.html b/ro/index.html index d54c12c2c0..2ab8aa0f44 100644 --- a/ro/index.html +++ b/ro/index.html @@ -63,6 +63,10 @@ + + + + @@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/ro/invitation/index.html b/ro/invitation/index.html index 3472f83661..d8695c3418 100644 --- a/ro/invitation/index.html +++ b/ro/invitation/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/messaging/index.html b/ro/messaging/index.html index 0a91c0b005..6eb2016810 100644 --- a/ro/messaging/index.html +++ b/ro/messaging/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/old/index.html b/ro/old/index.html index 9bdba2b43c..0c38f14323 100644 --- a/ro/old/index.html +++ b/ro/old/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ro/why/index.html b/ro/why/index.html index 47fbcf176b..b0ba516724 100644 --- a/ro/why/index.html +++ b/ro/why/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/ru/contact/index.html b/ru/contact/index.html index 64066cb99a..a601ee08a9 100644 --- a/ru/contact/index.html +++ b/ru/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/downloads/index.html b/ru/downloads/index.html index 4faba6893f..2c0d6e97f2 100644 --- a/ru/downloads/index.html +++ b/ru/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/fdroid/index.html b/ru/fdroid/index.html index db7be7f801..a81f602cb2 100644 --- a/ru/fdroid/index.html +++ b/ru/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/file/index.html b/ru/file/index.html index da4521f428..32c6ea3068 100644 --- a/ru/file/index.html +++ b/ru/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/index.html b/ru/index.html index 88ce4da80a..5bd8ff8e90 100644 --- a/ru/index.html +++ b/ru/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/ru/invitation/index.html b/ru/invitation/index.html index b89ab88154..be9a2df976 100644 --- a/ru/invitation/index.html +++ b/ru/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/messaging/index.html b/ru/messaging/index.html index 844cf9c61b..28cba70734 100644 --- a/ru/messaging/index.html +++ b/ru/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/old/index.html b/ru/old/index.html index a35e1d315f..d4ca74de3f 100644 --- a/ru/old/index.html +++ b/ru/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/ru/why/index.html b/ru/why/index.html index b7e7d0210d..b1e5cdf480 100644 --- a/ru/why/index.html +++ b/ru/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/security/index.html b/security/index.html index 38d63c2320..8450048ee7 100644 --- a/security/index.html +++ b/security/index.html @@ -56,6 +56,10 @@ + + + + diff --git a/tr/contact/index.html b/tr/contact/index.html index f1e7806eb5..442812a3fe 100644 --- a/tr/contact/index.html +++ b/tr/contact/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/downloads/index.html b/tr/downloads/index.html index 6f1295c0cc..261206b4a5 100644 --- a/tr/downloads/index.html +++ b/tr/downloads/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/fdroid/index.html b/tr/fdroid/index.html index 853dcfd135..478d81e0f1 100644 --- a/tr/fdroid/index.html +++ b/tr/fdroid/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/file/index.html b/tr/file/index.html index cc28c3fecf..1ab602c5cf 100644 --- a/tr/file/index.html +++ b/tr/file/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/index.html b/tr/index.html index 9d1940e84d..804e449380 100644 --- a/tr/index.html +++ b/tr/index.html @@ -63,6 +63,10 @@ + + + + @@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/tr/invitation/index.html b/tr/invitation/index.html index 0846875a55..63d6a5066d 100644 --- a/tr/invitation/index.html +++ b/tr/invitation/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/messaging/index.html b/tr/messaging/index.html index 2dc0927055..bdbed7e3e6 100644 --- a/tr/messaging/index.html +++ b/tr/messaging/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/old/index.html b/tr/old/index.html index 5fa2633325..c7a152c618 100644 --- a/tr/old/index.html +++ b/tr/old/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/tr/why/index.html b/tr/why/index.html index ded9208cca..4491518883 100644 --- a/tr/why/index.html +++ b/tr/why/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/transparency/index.html b/transparency/index.html index c2021bb218..90eb6b627a 100644 --- a/transparency/index.html +++ b/transparency/index.html @@ -56,6 +56,10 @@ + + + + diff --git a/uk/contact/index.html b/uk/contact/index.html index baa03acbcc..828311d63a 100644 --- a/uk/contact/index.html +++ b/uk/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/downloads/index.html b/uk/downloads/index.html index 2bdd2790ad..f698ffae56 100644 --- a/uk/downloads/index.html +++ b/uk/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/fdroid/index.html b/uk/fdroid/index.html index d58c6062fd..c31f4352fd 100644 --- a/uk/fdroid/index.html +++ b/uk/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/file/index.html b/uk/file/index.html index f7f38fc10f..557af21fc8 100644 --- a/uk/file/index.html +++ b/uk/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/index.html b/uk/index.html index 95926f20e6..304da87083 100644 --- a/uk/index.html +++ b/uk/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/uk/invitation/index.html b/uk/invitation/index.html index 2b5602c094..cb917e1dad 100644 --- a/uk/invitation/index.html +++ b/uk/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/messaging/index.html b/uk/messaging/index.html index 26bd4cee23..7f797442ff 100644 --- a/uk/messaging/index.html +++ b/uk/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/old/index.html b/uk/old/index.html index 45650068b1..84831c1168 100644 --- a/uk/old/index.html +++ b/uk/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/uk/why/index.html b/uk/why/index.html index f660bda66e..56d00738ac 100644 --- a/uk/why/index.html +++ b/uk/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/why/index.html b/why/index.html index 9ba00bd9d0..9f2f2d3659 100644 --- a/why/index.html +++ b/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/contact/index.html b/zh_Hans/contact/index.html index d907231488..248732098b 100644 --- a/zh_Hans/contact/index.html +++ b/zh_Hans/contact/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/downloads/index.html b/zh_Hans/downloads/index.html index 464a68ddf4..971eb66099 100644 --- a/zh_Hans/downloads/index.html +++ b/zh_Hans/downloads/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/fdroid/index.html b/zh_Hans/fdroid/index.html index 5b4fa01382..408da0bac4 100644 --- a/zh_Hans/fdroid/index.html +++ b/zh_Hans/fdroid/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/file/index.html b/zh_Hans/file/index.html index 602357e8ff..47d3d49124 100644 --- a/zh_Hans/file/index.html +++ b/zh_Hans/file/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/index.html b/zh_Hans/index.html index dd5ffcaae9..3078b80714 100644 --- a/zh_Hans/index.html +++ b/zh_Hans/index.html @@ -65,6 +65,10 @@ + + + + @@ -906,7 +910,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/zh_Hans/invitation/index.html b/zh_Hans/invitation/index.html index ef0e51123e..357bdb0c12 100644 --- a/zh_Hans/invitation/index.html +++ b/zh_Hans/invitation/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/messaging/index.html b/zh_Hans/messaging/index.html index 59c438c65c..c8ed627fe3 100644 --- a/zh_Hans/messaging/index.html +++ b/zh_Hans/messaging/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/old/index.html b/zh_Hans/old/index.html index f28279460e..f3a9b7a776 100644 --- a/zh_Hans/old/index.html +++ b/zh_Hans/old/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hans/why/index.html b/zh_Hans/why/index.html index 744c1cbf32..f7b8d71359 100644 --- a/zh_Hans/why/index.html +++ b/zh_Hans/why/index.html @@ -63,6 +63,10 @@ + + + + diff --git a/zh_Hant/contact/index.html b/zh_Hant/contact/index.html index d905a8df0f..8f0354f502 100644 --- a/zh_Hant/contact/index.html +++ b/zh_Hant/contact/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/downloads/index.html b/zh_Hant/downloads/index.html index 645e99676f..ff2262e9d3 100644 --- a/zh_Hant/downloads/index.html +++ b/zh_Hant/downloads/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/fdroid/index.html b/zh_Hant/fdroid/index.html index 3953a3d08b..419fa9bb1f 100644 --- a/zh_Hant/fdroid/index.html +++ b/zh_Hant/fdroid/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/file/index.html b/zh_Hant/file/index.html index 34e65c7add..53875b3232 100644 --- a/zh_Hant/file/index.html +++ b/zh_Hant/file/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/index.html b/zh_Hant/index.html index 5d227e95df..90667d65f1 100644 --- a/zh_Hant/index.html +++ b/zh_Hant/index.html @@ -63,6 +63,10 @@ + + + + @@ -897,7 +901,7 @@ window.addEventListener('click',(e)=>{ - + diff --git a/zh_Hant/invitation/index.html b/zh_Hant/invitation/index.html index e05b950198..838d9fc955 100644 --- a/zh_Hant/invitation/index.html +++ b/zh_Hant/invitation/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/messaging/index.html b/zh_Hant/messaging/index.html index 485c7c2a38..27324e1546 100644 --- a/zh_Hant/messaging/index.html +++ b/zh_Hant/messaging/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/old/index.html b/zh_Hant/old/index.html index 143016d3d4..28763e4de5 100644 --- a/zh_Hant/old/index.html +++ b/zh_Hant/old/index.html @@ -61,6 +61,10 @@ + + + + diff --git a/zh_Hant/why/index.html b/zh_Hant/why/index.html index 80d3c477f8..85f548fb09 100644 --- a/zh_Hant/why/index.html +++ b/zh_Hant/why/index.html @@ -61,6 +61,10 @@ + + + +