<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Clark Fieseln</title>
    <description>The latest articles on Forem by Clark Fieseln (@clarkfieseln).</description>
    <link>https://forem.com/clarkfieseln</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3049770%2F2fc0f4ba-10ae-4637-975a-095c7e69b08c.png</url>
      <title>Forem: Clark Fieseln</title>
      <link>https://forem.com/clarkfieseln</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/clarkfieseln"/>
    <language>en</language>
    <item>
      <title>Endpoint Security: A Low-Cost Data Diode</title>
      <dc:creator>Clark Fieseln</dc:creator>
      <pubDate>Thu, 01 May 2025 12:38:34 +0000</pubDate>
      <link>https://forem.com/clarkfieseln/endpoint-security-a-low-cost-data-diode-26od</link>
      <guid>https://forem.com/clarkfieseln/endpoint-security-a-low-cost-data-diode-26od</guid>
      <description>&lt;p&gt;You’ve installed all security patches and updates on your system.&lt;/p&gt;

&lt;p&gt;You’ve run a complete system scan with updated antivirus software.&lt;/p&gt;

&lt;p&gt;You’ve tightened your firewall rules and started a VPN connection.&lt;/p&gt;

&lt;p&gt;On top of all that, you use a secure messenger with end-to-end encryption (E2EE).&lt;/p&gt;

&lt;p&gt;Now you can safely chat with your friends and family, right?&lt;/p&gt;

&lt;p&gt;Well... no.&lt;/p&gt;

&lt;p&gt;All these measures may still not effectively address threats and operational challenges.&lt;/p&gt;

&lt;p&gt;For example, end-to-end encryption does not directly mitigate risks at the communication endpoints themselves.&lt;/p&gt;

&lt;p&gt;Each user's computer can still be hacked to steal their cryptographic keys (enabling a MITM attack) or to simply read the recipient’s decrypted messages, both in real time and from log files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Weaknesses of Endpoint Security Measures
&lt;/h2&gt;

&lt;p&gt;The following table summarizes some of the weaknesses of the most common endpoint security measures:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Measure&lt;/th&gt;
&lt;th&gt;Weaknesses&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;VPN&lt;/td&gt;
&lt;td&gt;- Vulnerable to weak or outdated encryption protocols (e.g., PPTP)&lt;br&gt;- Susceptible to implementation flaws, misconfigurations, and unpatched software&lt;br&gt;- DNS and IP leaks&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;E2EE&lt;/td&gt;
&lt;td&gt;- Does not protect data on compromised endpoints; decrypted data is vulnerable on receiving devices&lt;br&gt;- Key management is complex; compromised keys mean compromised data&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sandbox&lt;/td&gt;
&lt;td&gt;- Evasion techniques: malware can detect sandbox environments and alter behavior or remain dormant, evading detection&lt;br&gt;- Time-limited analysis may miss delayed or time-triggered malware&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Firewall&lt;/td&gt;
&lt;td&gt;- Cannot detect lateral movement within the network&lt;br&gt;- Limited visibility into encrypted traffic&lt;br&gt;- May block legitimate traffic (false positives) or allow malicious traffic if rules are too permissive&lt;br&gt;- Limited protection against malware&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Antivirus&lt;/td&gt;
&lt;td&gt;- Limited protection against emerging threats: antivirus software often relies on predefined signatures to detect malware.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IDS&lt;/td&gt;
&lt;td&gt;- Passive: detects but does not prevent threats; requires manual response&lt;br&gt;- High volume of alerts and false positives can overwhelm security teams (alert fatigue)&lt;br&gt;- Limited visibility into encrypted traffic; cannot inspect encrypted packets&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IDP&lt;/td&gt;
&lt;td&gt;- Complexity in deployment and configuration; requires specialized expertise&lt;br&gt;- False positives may disrupt legitimate activities, eroding trust in the system&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Data Diode as a Complementary Endpoint Security Measure
&lt;/h2&gt;

&lt;p&gt;What if you didn’t have to deal with such problems and time-consuming, ineffective measures in the first place?&lt;/p&gt;

&lt;p&gt;Endpoint hardening alone is not the appropriate paradigm to fully address endpoint security.&lt;/p&gt;

&lt;p&gt;Instead, a completely different and complementary approach is required.&lt;/p&gt;

&lt;p&gt;This is what the tool &lt;a href="https://dev.to/clarkfieseln/tea2adt-b6j"&gt;tea2adt&lt;/a&gt; addresses for several use cases, by providing an extremely low-cost solution based on audio data diodes and "enhanced" end-to-end encryption.&lt;/p&gt;

&lt;p&gt;Integrating a data diode with a secure offline device addresses critical gaps in endpoint-centric security by enforcing physically unidirectional data flow.&lt;/p&gt;

&lt;p&gt;This approach fundamentally redefines the communication architecture.&lt;/p&gt;

&lt;h3&gt;
  
  
  How Data Diodes Enhance Security Beyond Endpoint Hardening
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;1. Hardware-Enforced Unidirectional Flow&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Physically prevents reverse data transmission using fiber optics or audio connections, creating an air gap in one direction while allowing controlled data export or import.&lt;/li&gt;
&lt;li&gt;Unlike firewalls or VPNs, it cannot be bypassed via software exploits or protocol manipulation.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;2. Key Use Cases for Offline/Secure Devices&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Secure Backups: Transfer backups to offline storage without exposing primary systems to ransomware (e.g., nuclear plant control systems).&lt;/li&gt;
&lt;li&gt;Sensor Networks: Export IoT/OT sensor data from air-gapped industrial systems to monitoring platforms while blocking malware ingress.&lt;/li&gt;
&lt;li&gt;Classified Data Transfer: Government agencies use diodes to move intelligence between Top Secret and unclassified networks.&lt;/li&gt;
&lt;li&gt;Secure Chat!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;3. Operational Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Zero Trust at the Hardware Level: Eliminates the return path for attackers, even if endpoints are compromised.&lt;/li&gt;
&lt;li&gt;Compliance: Meets NIST AC-4(7) for one-way flow control and SC-7 for boundary protection.&lt;/li&gt;
&lt;li&gt;Ubiquity: &lt;strong&gt;tea2adt&lt;/strong&gt; can be used in almost any existing audio infrastructure!&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Data diodes provide physical verification of data flow constraints that software-based solutions cannot match, making them essential for protecting air-gapped systems and critical infrastructure.&lt;/p&gt;

&lt;h3&gt;
  
  
  tea2adt
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;tea2adt&lt;/strong&gt; is a free and open source Linux command-line utility for Chat, Remote Shell, Remote AI Prompt and File Transfer, that reads and writes encrypted data across peer-to-peer or broadcast audio connections, using &lt;strong&gt;minimodem&lt;/strong&gt; and &lt;strong&gt;gpg&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;It supports a flexible and low-cost implementation which addresses many use cases.&lt;/p&gt;

&lt;p&gt;Give it a try and improve security and privacy!&lt;/p&gt;

&lt;h2&gt;
  
  
  Links
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Article on dev.to&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://dev.to/clarkfieseln/tea2adt-b6j"&gt;https://dev.to/clarkfieseln/tea2adt-b6j&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PyPi Project&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://pypi.org/project/tea2adt" rel="noopener noreferrer"&gt;https://pypi.org/project/tea2adt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub Project&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/ClarkFieseln/tea2adt" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Documentation&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/ClarkFieseln/tea2adt/blob/main/doc/documentation.md" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt/blob/main/doc/documentation.md&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Screenshots&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://github.com/ClarkFieseln/tea2adt/tree/main/screenshots" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt/tree/main/screenshots&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Videos&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://www.youtube.com/playlist?list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac" rel="noopener noreferrer"&gt;https://www.youtube.com/playlist?list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac&lt;/a&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>opensource</category>
    </item>
    <item>
      <title>"Enhanced"-end-to-end encryption (E-E2EE) to increase security and privacy</title>
      <dc:creator>Clark Fieseln</dc:creator>
      <pubDate>Thu, 17 Apr 2025 07:56:37 +0000</pubDate>
      <link>https://forem.com/clarkfieseln/tea2adt-b6j</link>
      <guid>https://forem.com/clarkfieseln/tea2adt-b6j</guid>
      <description>&lt;p&gt;&lt;strong&gt;tea2adt&lt;/strong&gt; is a free and open source Linux command-line utility for Chat, Remote Shell, Remote AI Prompt and File Transfer, that reads and writes encrypted data across peer-to-peer or broadcast audio connections, using &lt;a href="https://github.com/kamalmostafa/minimodem" rel="noopener noreferrer"&gt;minimodem&lt;/a&gt; and &lt;a href="https://github.com/gpg/gnupg" rel="noopener noreferrer"&gt;gpg&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is a powerful tool that can be combined with any audio infrastructure (like PSTN, cellular network, internet, radio, walkie-talkies) to provide a secure communication channel through an audio tunnel.&lt;/p&gt;

&lt;p&gt;The audio interfaces behave like data-diodes, each allowing unidirectional data transmission only, thus preventing data-leaks and malware-injection.&lt;/p&gt;

&lt;p&gt;This enables an "enhanced"-end-to-end encryption (E-E2EE) which notably increases security and privacy, especially when the end devices are completely offline (air-gapped-system), thus providing an effective barrier against "legal or illegal" client-side-scanning!&lt;/p&gt;

&lt;p&gt;See also &lt;a href="https://www.codeproject.com/Articles/5295970/Audio-Chat-for-Quite-Good-Privacy-AC4QGP" rel="noopener noreferrer"&gt;https://www.codeproject.com/Articles/5295970/Audio-Chat-for-Quite-Good-Privacy-AC4QGP&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  pip install tea2adt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;or with git:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  git clone https://github.com/ClarkFieseln/tea2adt.git

  cd tea2adt_source

  chmod +x tea2adt

  chmod +x *.sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;during first execution you will be asked to install dependencies: minimodem, gpg, bc, tmux, ...&lt;/p&gt;

&lt;p&gt;but you can also install them yourself with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  sudo apt install minimodem
  sudo apt install gpg
  sudo apt install bc
  sudo apt install tmux
  ...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to use (pip installation)
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Chat/Messenger
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -c
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;enter and confirm password&lt;/p&gt;

&lt;p&gt;On the other device a chat, a remote shell or a remote AI prompt can be started.&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote Shell
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then enter and confirm password&lt;/p&gt;

&lt;p&gt;On the other device a chat shall be started to command the remote shell.&lt;/p&gt;

&lt;p&gt;Note that this is technically a "reverse shell" which gives access to your system!&lt;/p&gt;

&lt;h3&gt;
  
  
  Remote AI Prompt
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -l
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;then enter and confirm password&lt;/p&gt;

&lt;p&gt;On the other device a chat shall be started to interact with the remote AI prompt.&lt;/p&gt;

&lt;p&gt;With this option you may remotely access your local, secure, and self-hosted AI (like ollama) in a secure way!&lt;/p&gt;

&lt;h3&gt;
  
  
  File Transfer
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -f
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;enter and confirm password&lt;/p&gt;

&lt;p&gt;On the other device a file transfer shall be started.&lt;/p&gt;

&lt;h3&gt;
  
  
  Probe
&lt;/h3&gt;

&lt;p&gt;To check connectivity and adjust volumes if required.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -p
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In addition, a separate terminal will be opened to read unencrypted probe messages being sent by the other side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Configuration
&lt;/h2&gt;

&lt;p&gt;Adapt the configuration as required using the 'terminal GUI' with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -g
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0twmdosf5h84vzp38ax.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff0twmdosf5h84vzp38ax.jpg" alt="plot" width="540" height="1080"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternatively, you may change the configuration by editing the files in the cfg folder directly. The 'Location' can be found with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  tea2adt -d
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The most important settings are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;baud&lt;/li&gt;
&lt;li&gt;keepalive_time_sec&lt;/li&gt;
&lt;li&gt;retransmission_timeout_sec&lt;/li&gt;
&lt;li&gt;split_tx_lines&lt;/li&gt;
&lt;li&gt;volume_microphone&lt;/li&gt;
&lt;li&gt;volume_speaker_left&lt;/li&gt;
&lt;li&gt;volume_speaker_right&lt;/li&gt;
&lt;li&gt;llm_cmd&lt;/li&gt;
&lt;li&gt;text_to_speech&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to use (git installation)
&lt;/h2&gt;

&lt;p&gt;When installed with git, tea2adt may be called with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;  python3 tea2adt.py -c
  # or
  ./tea2adt -c
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is an example to start a chat, but this is the same for any other option.&lt;/p&gt;

&lt;p&gt;For more information check the &lt;a href="https://github.com/ClarkFieseln/tea2adt/blob/main/doc/documentation.md" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Features
&lt;/h2&gt;

&lt;p&gt;on top of the audio modem provided by minimodem and encryption provided by GPG, tea2adt offers a reliable transport layer and many other features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;modes: chat, remote-shell, remote-AI-prompt, file transfer (future: sniffer)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;text-to-speech (TTS): synthesize speech from the text received in the chat&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;full-duplex communication&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;retransmit messages automatically after communication errors&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;split big messages into smaller data chunks in order to increase the probability of reception, thus reducing retransmissions&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;[keepalive] messages&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;redundant transmission of "data-messages"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;composition of piped commands hidden to the user&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;tmp folder located in a configurable path beneath $HOME, independent of the current path.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;probe, to check volume on receiver and adjust manually if needed (very high and very low volumes may produce signal distortions)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;"braodcast" transmissions also possible, e.g. when ACKs are deactivated use-case: walkie-talkie, Radio station, ...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;several configuration options: preamble, trailer, delays, cipher algorithm, confidence, log to file, verbose, etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Possible Abuses
&lt;/h2&gt;

&lt;p&gt;please don't do the following if you are not allowed (it might be illegal!):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;exfiltrate data over the air or cable to a nearby or remote computer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;remote control over the air or cable from a nearby or remote computer&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;exfiltrate data from a computer evading classical auditing (be aware that if you do this on your employer's computer you might be infringing the law!)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;use the tool as a "side-channel" for covert communication e.g. to spread or inject malware, even worse when combined with steganography (e.g. low volumes, data hidden in noise)&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Typical Configuration
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jczh5xykdst3nq0k2kf.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9jczh5xykdst3nq0k2kf.jpg" alt="plot" width="800" height="565"&gt;&lt;/a&gt;&lt;br&gt;
A: tea2adt in offline PC (Alice)&lt;/p&gt;

&lt;p&gt;D: tea2adt in offline PC (Bob)&lt;/p&gt;

&lt;p&gt;B, C: smartphone with call session (mobile, messenger app, etc.)&lt;/p&gt;

&lt;p&gt;diodes: audio connections (sink/speaker -&amp;gt; source/microphone)&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication in Linux over Linphone
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7n4ro4p6lu8c5bp18n7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft7n4ro4p6lu8c5bp18n7.jpg" alt="plot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A: tea2adt in offline PC (Alice)&lt;/p&gt;

&lt;p&gt;D: tea2adt in offline PC (Bob)&lt;/p&gt;

&lt;p&gt;B, C: smartphone with &lt;a href="https://www.linphone.org" rel="noopener noreferrer"&gt;Linphone&lt;/a&gt; call session&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication in Termux over qTox
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa59lkroc790bf0cv74bc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa59lkroc790bf0cv74bc.jpg" alt="plot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A: tea2adt in offline smartphone with Termux (Alice)&lt;/p&gt;

&lt;p&gt;D: tea2adt in offline smartphone with Termux (Bob)&lt;/p&gt;

&lt;p&gt;B, C: PC with qTox call session&lt;/p&gt;

&lt;h2&gt;
  
  
  Communication in Linux over Walkie Talkies
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9evq5way0qkhiwklp76n.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9evq5way0qkhiwklp76n.jpg" alt="plot" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Split Configuration
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fituu7p8uy80k55zyo8oc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fituu7p8uy80k55zyo8oc.jpg" alt="plot" width="800" height="487"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A: tea2adt in offline PC (Alice)&lt;/p&gt;

&lt;p&gt;D: tea2adt in offline PC (Bob)&lt;/p&gt;

&lt;p&gt;B1, B2, C1, C2: waklie-talkie&lt;/p&gt;

&lt;h2&gt;
  
  
  Text-to-speech (TTS)
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=fSdJY9vLBVk&amp;amp;list=PLX24fhcibpHUx7ej_Tp4neobJUqOkqliN&amp;amp;index=12" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft4u2r6m9wn8pjfe71bfg.jpg" alt="Text-to-speech" width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The text received in the chat is synthesized to speech and output to a separate audio interface.&lt;/p&gt;

&lt;p&gt;Text-to-speech demo video: &lt;a href="https://www.youtube.com/watch?v=-ikTdBzhCSw&amp;amp;list=PLX24fhcibpHUx7ej_Tp4neobJUqOkqliN&amp;amp;index=10" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=-ikTdBzhCSw&amp;amp;list=PLX24fhcibpHUx7ej_Tp4neobJUqOkqliN&amp;amp;index=10&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Remote AI Prompt
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=6jYEBNAay64&amp;amp;list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac&amp;amp;index=1&amp;amp;pp=gAQBiAQB" rel="noopener noreferrer"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8qxq5h197i8jyc9qi03r.jpg" alt="Text-to-speech" width="800" height="262"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With this option you may remotely access your local, secure, and self-hosted AI (like ollama) in a secure way!&lt;/p&gt;

&lt;p&gt;Remote AI prompt, demo video: &lt;a href="https://www.youtube.com/watch?v=6jYEBNAay64&amp;amp;list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac&amp;amp;index=1&amp;amp;pp=gAQBiAQB" rel="noopener noreferrer"&gt;https://www.youtube.com/watch?v=6jYEBNAay64&amp;amp;list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac&amp;amp;index=1&amp;amp;pp=gAQBiAQB&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations
&lt;/h2&gt;

&lt;p&gt;The data transfer is usually done at low rates, typical of audio systems. Therefore, this tool is not adequate to transmit big files which may take a long time to complete.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hints
&lt;/h2&gt;

&lt;p&gt;Avoid using tools like PulseEffects, they may produce glitches!&lt;/p&gt;

&lt;p&gt;In PuseEffects you may check the 'Add to Block List' option for minimodem and qtox.&lt;/p&gt;

&lt;h2&gt;
  
  
  PyPi Project
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://pypi.org/project/tea2adt" rel="noopener noreferrer"&gt;https://pypi.org/project/tea2adt&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  GitHub Project
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ClarkFieseln/tea2adt" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Documentation
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ClarkFieseln/tea2adt/blob/main/doc/documentation.md" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt/blob/main/doc/documentation.md&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Screenshots
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/ClarkFieseln/tea2adt/tree/main/screenshots" rel="noopener noreferrer"&gt;https://github.com/ClarkFieseln/tea2adt/tree/main/screenshots&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Videos
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/playlist?list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac" rel="noopener noreferrer"&gt;https://www.youtube.com/playlist?list=PLX24fhcibpHXllvUgFUw6Ly9cwQcTcKac&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;(c) 2025 Clark Fieseln&lt;/p&gt;

&lt;p&gt;tea2adt is licensed under the MIT license. See LICENSE for details.&lt;/p&gt;

</description>
      <category>security</category>
      <category>cybersecurity</category>
      <category>linux</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
