deploy: 937c79bc3c
@@ -1017,7 +1017,7 @@ git checkout stable
|
||||
DOCKER_BUILDKIT=1 docker build --output ~/.local/bin .
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p><strong>Please note:</strong> If you encounter <code>version `GLIBC_2.28' not found</code> error, rebuild it with <code>haskell:8.10.7-stretch</code> base image (change it in your local <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/Dockerfile">Dockerfile</a>).</p>
|
||||
<p><strong>Please note:</strong> If you encounter <code>version `GLIBC_2.28' not found</code> error, rebuild it with <code>haskell:8.10.7-stretch</code> base image (change it in your local <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/Dockerfile">Dockerfile</a>).</p>
|
||||
</blockquote>
|
||||
<h4 id="in-any-os" tabindex="-1">In any OS</h4>
|
||||
<ol>
|
||||
@@ -1092,20 +1092,20 @@ brew services start tor
|
||||
<p>Use <code>/help</code> in chat to see the list of available commands.</p>
|
||||
<h3 id="groups" tabindex="-1">Groups</h3>
|
||||
<p>To create a group use <code>/g <group></code>, then add contacts to it with <code>/a <group> <name></code>. You can then send messages to the group by entering <code>#<group> <message></code>. Use <code>/help groups</code> for other commands.</p>
|
||||
<p><img src="images/groups.gif" alt="simplex-chat"></p>
|
||||
<p><img src="/images/groups.gif" alt="simplex-chat"></p>
|
||||
<blockquote>
|
||||
<p><strong>Please note</strong>: the groups are not stored on any server, they are maintained as a list of members in the app database to whom the messages will be sent.</p>
|
||||
</blockquote>
|
||||
<h3 id="sending-files" tabindex="-1">Sending files</h3>
|
||||
<p>You can send a file to your contact with <code>/f @<contact> <file_path></code> - the recipient will have to accept it before it is sent. Use <code>/help files</code> for other commands.</p>
|
||||
<p><img src="images/files.gif" alt="simplex-chat"></p>
|
||||
<p><img src="/images/files.gif" alt="simplex-chat"></p>
|
||||
<p>You can send files to a group with <code>/f #<group> <file_path></code>.</p>
|
||||
<h3 id="user-contact-addresses" tabindex="-1">User contact addresses</h3>
|
||||
<p>As an alternative to one-time invitation links, you can create a long-term address with <code>/ad</code> (for <code>/address</code>). The created address can then be shared via any channel, and used by other users as a link to make a contact request with <code>/c <user_contact_address></code>.</p>
|
||||
<p>You can accept or reject incoming requests with <code>/ac <name></code> and <code>/rc <name></code> commands.</p>
|
||||
<p>User address is "long-term" in a sense that it is a multiple-use connection link - it can be used until it is deleted by the user, in which case all established connections would still remain active (unlike how it works with email, when changing the address results in people not being able to message you).</p>
|
||||
<p>Use <code>/help address</code> for other commands.</p>
|
||||
<p><img src="images/user-addresses.gif" alt="simplex-chat"></p>
|
||||
<p><img src="/images/user-addresses.gif" alt="simplex-chat"></p>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
@@ -701,7 +701,7 @@ window.addEventListener('click',(e)=>{
|
||||
<h2 id="searching-for-groups" tabindex="-1">Searching for groups</h2>
|
||||
<p>SimpleX Directory is available at <a href="https://simplex.chat/directory/">simplex.chat/directory</a> or via this <a href="http://isdb4l77sjqoy2qq7ipum6x3at6hyn3jmxfx4zdhc72ufbmuq4ilwkqd.onion/directory/">onion link</a>.</p>
|
||||
<p>You can also connect to SimpleX Directory via <a href="https://smp4.simplex.im/a#lXUjJW5vHYQzoLYgmi8GbxkGP41_kjefFvBrdwg-0Ok">this address</a> and send the message containing the words you want to find in the group name or welcome message. You will receive up to 10 groups with the largest number of members in the response, together with the links to join these groups.</p>
|
||||
<p>Please note that your search queries can be kept by the bot as the conversation history, but you can use incognito mode when connecting to the bot, to avoid correlation with any other communications. See <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/PRIVACY.md">Privacy policy</a> for more details.</p>
|
||||
<p>Please note that your search queries can be kept by the bot as the conversation history, but you can use incognito mode when connecting to the bot, to avoid correlation with any other communications. See <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/PRIVACY.md">Privacy policy</a> for more details.</p>
|
||||
<h2 id="adding-groups-to-the-directory" tabindex="-1">Adding groups to the directory</h2>
|
||||
<h3 id="how-to-add-a-group" tabindex="-1">How to add a group</h3>
|
||||
<p>To add a group you must be its owner. Once you connect to the directory service and send <code>/help</code>, the service will guide you through the process.</p>
|
||||
|
||||
@@ -886,7 +886,7 @@ window.addEventListener('click',(e)=>{
|
||||
<p>In the context of SimpleX network, these are the identifiers generated by SMP relays to access anonymous messaging queues, with a separate identifier (and access credential) for each accessing party: recipient, sender and an optional notifications subscriber. The same approach is used by XFTP relays to access file chunks, with separate identifiers (and access credentials) for sender and each recipient.</p>
|
||||
<h2 id="peer-to-peer" tabindex="-1">Peer-to-peer</h2>
|
||||
<p>Peer-to-peer (P2P) is the network architecture when participants have equal rights and communicate directly via a general purpose transport or overlay network. Unlike client-server architecture, all peers in a P2P network both provide and consume the resources. In the context of messaging, P2P architecture usually means that the messages are sent between peers, without user accounts or messages being stored on any servers. Examples are Tox, Briar, Cwtch and many others.</p>
|
||||
<p>The advantage is that the participants do not depend on any servers. There are <a href="/docs/simplex.html#comparison-with-p2p9-messaging-protocols">multiple downsides</a> to that architecture, such as no asynchronous message delivery, the need for network-wide peer addresses, possibility of network-wide attacks, that are usually mitigated only by using a centralized authority. These disadvantages are avoided with <a href="#proxied-peer-to-peer">proxied P2P</a> architecture.</p>
|
||||
<p>The advantage is that the participants do not depend on any servers. There are <a href="/docs/simplex.html#comparison-with-p2p-messaging-protocols">multiple downsides</a> to that architecture, such as no asynchronous message delivery, the need for network-wide peer addresses, possibility of network-wide attacks, that are usually mitigated only by using a centralized authority. These disadvantages are avoided with <a href="#proxied-peer-to-peer">proxied P2P</a> architecture.</p>
|
||||
<p><a href="https://en.wikipedia.org/wiki/Peer-to-peer">Wikipedia</a>.</p>
|
||||
<h2 id="perfect-forward-secrecy" tabindex="-1">Perfect forward secrecy</h2>
|
||||
<p><a href="#forward-secrecy">Forward secrecy</a>.</p>
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
flowchart TD
|
||||
S([Start]) --> A["Step 1: Create a wallet<br/>save your recovery phrase"]
|
||||
A --> B["Step 2: Register the name<br/>connect wallet, search, choose years"]
|
||||
B --> C["On Create your profile, paste your link into<br/>SimpleX contact (@name) or SimpleX channel (#name)"]
|
||||
C --> H["Confirm: two transactions,<br/>60 seconds apart"]
|
||||
H --> I["Step 3: search or type your name<br/>shows 'Unconfirmed name'"]
|
||||
I --> D{"A contact or a channel?"}
|
||||
D -->|"@name (contact)"| J1["Step 4: set Your SimpleX name<br/>in your SimpleX address"]
|
||||
D -->|"#name (channel)"| J2["Step 4: set SimpleX name<br/>in the channel"]
|
||||
J1 --> K["Step 5: from another device,<br/>search or type the name"]
|
||||
J2 --> K
|
||||
K --> Z([Connected. Name verified.])
|
||||
|
||||
classDef start fill:#f4ecf7,stroke:#8e44ad,color:#4a235a;
|
||||
classDef step fill:#eaf2fb,stroke:#2e86de,color:#1b3a5b;
|
||||
classDef ok fill:#d5f5e3,stroke:#27ae60,color:#145a32;
|
||||
class S start;
|
||||
class Z ok;
|
||||
class A,B,C,H,I,J1,J2,K step;
|
||||
|
After Width: | Height: | Size: 112 KiB |
|
After Width: | Height: | Size: 263 KiB |
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 227 KiB |
@@ -834,7 +834,7 @@ window.addEventListener('click',(e)=>{
|
||||
<li>Tap on "Send questions and ideas".</li>
|
||||
</ul>
|
||||
<h3 id="join-some-user-groups" tabindex="-1">Join some user groups</h3>
|
||||
<p>There are links to join several <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/README.md#join-user-groups">user groups</a> on our GitHub page - join them to ask any questions and discuss ideas.</p>
|
||||
<p>There are links to join several <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/README.md">user groups</a> on our GitHub page - join them to ask any questions and discuss ideas.</p>
|
||||
<p>You can also find some other user-managed groups via online search.</p>
|
||||
<p>To join a group via a link:</p>
|
||||
<ul>
|
||||
|
||||
@@ -977,7 +977,7 @@ git checkout stable
|
||||
DOCKER_BUILDKIT=1 docker build --output ~/.local/bin .
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p><strong>Upozornění:</strong> Pokud narazíte na chybu <code>verze `GLIBC_2.28' nenalezena</code>, obnovte jej pomocí základního obrazu <code>haskell:8.10.7-stretch</code> (změňte jej ve svém lokálním <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/Dockerfile">Dockerfile</a>).</p>
|
||||
<p><strong>Upozornění:</strong> Pokud narazíte na chybu <code>verze `GLIBC_2.28' nenalezena</code>, obnovte jej pomocí základního obrazu <code>haskell:8.10.7-stretch</code> (změňte jej ve svém lokálním <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/Dockerfile">Dockerfile</a>).</p>
|
||||
</blockquote>
|
||||
<h4 id="v-libovolnem-operacnim-systemu" tabindex="-1">V libovolném operačním systému</h4>
|
||||
<ol>
|
||||
|
||||
@@ -977,7 +977,7 @@ git checkout stable
|
||||
DOCKER_BUILDKIT=1 docker build --output ~/.local/bin .
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p><strong>Veuillez noter</strong> : Si vous rencontrez l'erreur <code>version `GLIBC_2.28' non trouvée</code>, reconstruisez-le avec l'image de base <code>haskell:8.10.7-stretch</code>(changez-la dans votre <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/Dockerfile">Dockerfile</a> local).</p>
|
||||
<p><strong>Veuillez noter</strong> : Si vous rencontrez l'erreur <code>version `GLIBC_2.28' non trouvée</code>, reconstruisez-le avec l'image de base <code>haskell:8.10.7-stretch</code>(changez-la dans votre <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/Dockerfile">Dockerfile</a> local).</p>
|
||||
</blockquote>
|
||||
<h4 id="utiliser-haskell-stack" tabindex="-1">Utiliser Haskell stack</h4>
|
||||
<p>(sur n'importe quel OS)</p>
|
||||
|
||||
@@ -921,7 +921,7 @@ window.addEventListener('click',(e)=>{
|
||||
<p>Certaines des chaînes n'ont pas besoin d'être traduites, mais elles doivent quand même être copiées - il y a un bouton dans l'interface weblate pour cela :</p>
|
||||
</li>
|
||||
</ol>
|
||||
<img src="/images/weblate_1.png" alt="weblate: copy source to translation" width="100%">
|
||||
<img src="/docs/images/weblate_1.png" alt="weblate: copy source to translation" width="100%">
|
||||
<ol start="3">
|
||||
<li>
|
||||
<p>Weblate propose également des suggestions automatiques qui peuvent accélérer le processus. Parfois, elles peuvent être utilisées telles quelles, parfois elles nécessitent quelques retouches - cliquez pour les utiliser dans les traductions.</p>
|
||||
@@ -933,7 +933,7 @@ window.addEventListener('click',(e)=>{
|
||||
<p>Quand vous traduisez <a href="https://hosted.weblate.org/projects/simplex-chat/ios/">l'app iOS</a>, la plupart des chaînes de caractères sont identiques, elles peuvent être copiées en un clic dans la section Glossaire. L'indice visuel que cela est possible est que la chaîne source entière est surlignée en jaune. De nombreuses autres chaînes sont très similaires, elles ne diffèrent que par la syntaxe d'interpolation ou la façon dont la police en gras est utilisée - elles ne nécessitent qu'une édition minimale. Certaines chaînes sont propres à la plate-forme iOS. Elles doivent être traduites séparément.</p>
|
||||
</li>
|
||||
</ol>
|
||||
<img src="/images/weblate_2.png" alt="weblate: automatic suggestions" width="100%">
|
||||
<img src="/docs/images/weblate_2.png" alt="weblate: automatic suggestions" width="100%">
|
||||
<h2 id="une-fois-la-traduction-terminee" tabindex="-1">Une fois la traduction terminée</h2>
|
||||
<p>Une fois que les applications Android et iOS sont traduites, veuillez nous en informer.</p>
|
||||
<p>Nous allons ensuite :</p>
|
||||
|
||||
@@ -976,7 +976,7 @@ git checkout stable
|
||||
DOCKER_BUILDKIT=1 docker build --output ~/.local/bin .
|
||||
</code></pre>
|
||||
<blockquote>
|
||||
<p><strong>Uwaga:</strong> Jeśli napotkasz błąd <code>version `GLIBC_2.28' not found</code>, przebuduj go z obrazem bazowym <code>haskell:8.10.7-stretch</code> (zmień go w Twoim lokalnym pliku <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/Dockerfile">Dockerfile</a>).</p>
|
||||
<p><strong>Uwaga:</strong> Jeśli napotkasz błąd <code>version `GLIBC_2.28' not found</code>, przebuduj go z obrazem bazowym <code>haskell:8.10.7-stretch</code> (zmień go w Twoim lokalnym pliku <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/Dockerfile">Dockerfile</a>).</p>
|
||||
</blockquote>
|
||||
<h4 id="uzywajac-haskella-na-dowolnym-systemie-operacyjnym" tabindex="-1">Używając Haskella na dowolnym systemie operacyjnym</h4>
|
||||
<ol>
|
||||
|
||||
@@ -1326,7 +1326,7 @@ allow_local_mode = true
|
||||
<p>Aby skonfigurować aplikację do korzystania z serwera wiadomości, skopiuj jego pełny adres, w tym hasło, i dodaj go do aplikacji. Możesz używać swojego serwera razem z predefiniowanymi serwerami lub bez nich - możesz je usunąć lub wyłączyć.</p>
|
||||
<p>Możliwe jest również udostępnienie adresu swojego serwera znajomym, pozwalając im zeskanować kod QR z ustawień serwera - będzie on zawierał hasło serwera, dzięki czemu będą mogli również otrzymywać wiadomości za pośrednictwem twojego serwera.</p>
|
||||
<p><em>Uwaga</em>: Do obsługi haseł wymagany jest serwer SMP w wersji 4.0. Jeśli już posiadasz serwer, możesz dodać hasło do niego poprzez wpisanie hasła do pliku INI serwera.</p>
|
||||
<p><img src="./server_config_1.png" width="288"> <img src="./server_config_2.png" width="288"> <img src="./server_config_3.png" width="288"></p>
|
||||
<p><img src="/docs/server_config_1.png" width="288"> <img src="/docs/server_config_2.png" width="288"> <img src="/docs/server_config_3.png" width="288"></p>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||
@@ -931,7 +931,7 @@ window.addEventListener('click',(e)=>{
|
||||
<p>Niektóre ciągi nie wymagają tłumaczenia, ale nadal trzeba je skopiować - w interfejsie użytkownika weblate znajduje się odpowiedni przycisk:</p>
|
||||
</li>
|
||||
</ol>
|
||||
<img src="./images/weblate_1.png" alt="weblate: copy source to translation" width="100%">
|
||||
<img src="/docs/images/weblate_1.png" alt="weblate: copy source to translation" width="100%">
|
||||
<ol start="3">
|
||||
<li>
|
||||
<p>Weblate posiada również automatyczne sugestie, które mogą przyspieszyć ten proces. Czasami mogą być używane w niezmienionej formie, a czasami wymagają edycji - kliknij, aby użyć ich w tłumaczeniach.</p>
|
||||
@@ -964,7 +964,7 @@ window.addEventListener('click',(e)=>{
|
||||
</li>
|
||||
</ol>
|
||||
<p>Serdecznie dziękujemy! To ogromny wysiłek i wielka pomoc dla rozwoju sieci SimpleX.</p>
|
||||
<img src="./images/weblate_2.png" alt="weblate: automatic suggestions" width="100%">
|
||||
<img src="/docs/images/weblate_2.png" alt="weblate: automatic suggestions" width="100%">
|
||||
<h2 id="czeste-bledy-w-tlumaczeniu" tabindex="-1">Częste błędy w tłumaczeniu</h2>
|
||||
<ol>
|
||||
<li>
|
||||
|
||||
@@ -1019,7 +1019,7 @@ Connection to <twoje_ip_lub_domena> 5349 port [tcp/*] succeeded!
|
||||
</li>
|
||||
<li>
|
||||
<p>W sekcji <strong>Build up ICE Server List</strong> dodaj:</p>
|
||||
<img src="./stun_1.png">
|
||||
<img src="/docs/stun_1.png">
|
||||
<ul>
|
||||
<li><code>STUN: stun:<twoje_ip_lub_domena>:<port></code> kliknij <code>Add STUN</code></li>
|
||||
<li><code>TURN: turn:<twoje_ip_lub_domena>:<port></code>, <code>Username: <twój_login></code>, <code>Credential: <twoje_hasło></code> kliknij <code>Add TURN</code></li>
|
||||
@@ -1028,11 +1028,11 @@ Connection to <twoje_ip_lub_domena> 5349 port [tcp/*] succeeded!
|
||||
</li>
|
||||
<li>
|
||||
<p>Powinieneś zobaczyć swoje serwery w sekcji <strong>ICE server list</strong>. Jeśli wszystko jest skonfigurowane poprawnie, naciśnij <code>Start test</code>:</p>
|
||||
<img src="./stun_2.png">
|
||||
<img src="/docs/stun_2.png">
|
||||
</li>
|
||||
<li>
|
||||
<p>W sekcji <strong>Results</strong> powinieneś zobaczyć coś takiego:</p>
|
||||
<img src="./stun_3.png">
|
||||
<img src="/docs/stun_3.png">
|
||||
<p>Jeśli wyniki pokazują <code>srflx</code> i <code>relay</code>, wszystko jest skonfigurowane poprawnie!</p>
|
||||
</li>
|
||||
</ol>
|
||||
|
||||
@@ -1007,7 +1007,7 @@ window.addEventListener('click',(e)=>{
|
||||
<p>Subscribers hold their own received copies. Signed messages are independently verifiable without consulting the relay or owner. Unsigned content depends on cross-relay consistency or future transcript integrity mechanisms.</p>
|
||||
<h3 id="identity-and-ownership" tabindex="-1">Identity and ownership</h3>
|
||||
<p>A channel's identity is the SHA-256 hash of the genesis root public key, computed at creation time and never changed - even if relays are added, removed, or the channel link is rotated. It is self-authenticating: derived from a key pair that only the channel creator held. It is embedded in the channel's link, distributed in the profile to all members, and used as a binding prefix in all signed messages.</p>
|
||||
<p>Subscribers validate that the identity in the link matches the identity in the profile, preventing link substitution. Profile updates that attempt to change the identity are rejected. Full validation that the identity equals the hash of the root key is deferred: if current clients enforced this check, they would reject future rotated links as invalid. The identity is correctly managed today; validation will be enforced with the key rotation protocol. See the <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/docs/rfcs/2026-03-28-group-identity-binding.md">group identity binding RFC</a>.</p>
|
||||
<p>Subscribers validate that the identity in the link matches the identity in the profile, preventing link substitution. Profile updates that attempt to change the identity are rejected. Full validation that the identity equals the hash of the root key is deferred: if current clients enforced this check, they would reject future rotated links as invalid. The identity is correctly managed today; validation will be enforced with the key rotation protocol. See the <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/rfcs/2026-03-28-group-identity-binding.md">group identity binding RFC</a>.</p>
|
||||
<p>The root key does not sign messages directly. Instead, it authorizes owner keys through a signed chain. At creation, the owner generates a root key pair and a separate member key pair for signing. The member key is published as an authorization entry signed by the root key. New owners can be added by any previously authorized owner signing a new entry. Anyone retrieving the channel link can verify this chain without network access.</p>
|
||||
<p>The root key is a bootstrap key - it certifies owners, then need not be used again. All owners are cryptographically indistinguishable to subscribers (they all have equally valid authorization chains), which - provided multiple owners were signed by the root key - conceals the creator's identity.</p>
|
||||
<p>The channel link is the out-of-band trust anchor - relays and SMP routers cannot modify link content. All members announce their signing keys on joining. Owner keys are verifiable against the link. Role changes (promoting members to admin, moderator) are signed by owners at the protocol level.</p>
|
||||
@@ -1127,7 +1127,7 @@ window.addEventListener('click',(e)=>{
|
||||
<h3 id="current-gaps" tabindex="-1">Current gaps</h3>
|
||||
<ol>
|
||||
<li><strong>Cross-relay consistency detection.</strong> Duplicate messages are silently deduplicated without hash comparison. Designed but not implemented.</li>
|
||||
<li><strong>Link entity ID validation.</strong> Deferred to a future version with key rotation. See <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/docs/rfcs/2026-03-28-group-identity-binding.md">group identity binding RFC</a>.</li>
|
||||
<li><strong>Link entity ID validation.</strong> Deferred to a future version with key rotation. See <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/rfcs/2026-03-28-group-identity-binding.md">group identity binding RFC</a>.</li>
|
||||
<li><strong>Multi-relay UX.</strong> Protocol supports multiple relays per subscriber; no UX for monitoring relay-level delivery health. It will be added in v6.5.x.</li>
|
||||
</ol>
|
||||
<h2 id="future-work" tabindex="-1">Future work</h2>
|
||||
|
||||
@@ -1092,7 +1092,7 @@ brokerTs = 8*8 OCTET ; UTC system time
|
||||
<li>If a duplicate is found, the message is silently dropped (in channels with relays).</li>
|
||||
<li>In non-relay groups, duplicate detection triggers a <code>x.grp.mem.con</code> notification to the forwarding member.</li>
|
||||
</ul>
|
||||
<p>This is essentially cache coherence verification - comparing what was received from one cache node against another. TODO: Currently, deduplication only detects the presence of duplicates. The protocol design includes provisions for detecting differences between relay-delivered copies of the same message (hash comparison, UI indicators for discrepancies). This is described in the <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/docs/rfcs/2025-08-11-channels-forwarding.md">channels forwarding RFC</a> and is not yet implemented.</p>
|
||||
<p>This is essentially cache coherence verification - comparing what was received from one cache node against another. TODO: Currently, deduplication only detects the presence of duplicates. The protocol design includes provisions for detecting differences between relay-delivered copies of the same message (hash comparison, UI indicators for discrepancies). This is described in the <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/docs/rfcs/2025-08-11-channels-forwarding.md">channels forwarding RFC</a> and is not yet implemented.</p>
|
||||
<h3 id="channel-as-sender-messages" tabindex="-1">Channel-as-sender messages</h3>
|
||||
<p>Owners can send messages attributed to the channel rather than to themselves. When <code>asGroup = True</code> is set in the message container, the relay forwards the message with a channel-as-sender tag instead of attributing it to a specific member. On the subscriber side, such messages are displayed as coming from the channel (using the channel's profile image and name) rather than from a specific owner.</p>
|
||||
<p>This will be useful for channels with multiple owners (not yet implemented at application level) where the identity of the specific sender should not be visible to subscribers. The relay must respect this directive; ignoring it and revealing the sending owner's identity is a threat vector (detectable out-of-band by members communicating with the owner).</p>
|
||||
|
||||
|
After Width: | Height: | Size: 344 KiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 556 KiB |
@@ -0,0 +1,11 @@
|
||||
base: "SIMPLEX"
|
||||
colors:
|
||||
accent: "#ff70f0f9"
|
||||
accentVariant: "#ff1298a5"
|
||||
secondary: "#ff8b8786"
|
||||
secondaryVariant: "#ff2c464d"
|
||||
background: "#ff111528"
|
||||
menus: "#ff121c37"
|
||||
title: "#ff267be5"
|
||||
sentMessage: "#1e45b8ff"
|
||||
receivedMessage: "#20b1b0b5"
|
||||
@@ -818,13 +818,13 @@ window.addEventListener('click',(e)=>{
|
||||
<ul>
|
||||
<li>Include "Unofficial" for communities/events.</li>
|
||||
<li>Use logo unchanged (shape/colors), except grayscale if needed.</li>
|
||||
<li>Use icon or icon with "SimpleX" word. See logos <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/media-logos">here</a>.</li>
|
||||
<li>Use icon or icon with "SimpleX" word. See logos <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/media-logos">here</a>.</li>
|
||||
<li>Avoid modifications or implications of official status.</li>
|
||||
</ul>
|
||||
<h2 id="general-terms" tabindex="-1">General Terms</h2>
|
||||
<p>We reserve all trademark rights. For permissions, contact us via email or SimpleX. We may enforce against violations. Policy updates posted here.</p>
|
||||
<h2 id="note" tabindex="-1">Note</h2>
|
||||
<p>SimpleX Chat software is licensed under AGPLv3 - see <a href="https%3A//github.com/simplex-chat/simplex-chat/blob/stable/simplex-chat/LICENSE">LICENSE</a>. This policy covers only trademarks, not code use.</p>
|
||||
<p>SimpleX Chat software is licensed under AGPLv3 - see <a href="https://github.com/simplex-chat/simplex-chat/blob/stable/LICENSE">LICENSE</a>. This policy covers only trademarks, not code use.</p>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
|
||||