
एन्क्रिप्टेड पुश-टू-टॉक वॉइस और टेक्स्ट संचार टोर हिडन सर्विसेज पर एंड-टू-एंड एन्क्रिप्शन, कॉन्फ़िगरेबल सिफर, ग्रुप कॉल के लिए रिले मोड, और एंटी-फोरेंसिक डेटा डिस्ट्रक्शन के साथ।
# TerminalPhone Tor हिडन सर्विसेज़ पर एन्क्रिप्टेड पुश-टू-टॉक वॉइस संचार। TerminalPhone एक एकल, स्व-निहित Bash स्क्रिप्ट है जो Tor नेटवर्क पर दो या अधिक पक्षों के बीच अनाम, एंड-टू-एंड एन्क्रिप्टेड वॉइस और टेक्स्ट संचार प्रदान करती है। यह वॉकी-टॉकी की तरह काम करती है: आप एक वॉइस संदेश रिकॉर्ड करते हैं, और इसे संपीड़ित, एन्क्रिप्ट और एक इकाई के रूप में दूरस्थ पक्ष को प्रसारित किया जाता है। आप कॉल के दौरान एन्क्रिप्टेड टेक्स्ट संदेश भी भेज सकते हैं। कोई सर्वर अवसंरचना नहीं, कोई खाते नहीं, कोई फ़ोन नंबर नहीं। आपका Tor हिडन सर्विस `.onion` पता ही आपकी पहचान है। --- ## विषय-सूची - [विशेषताएँ](#features) - [इंस्टॉलेशन](#installation) - [Linux](#linux) - [macOS](#macos) - [Termux (Android)](#termux-android) - [क्विक स्टार्ट](#quick-start) - [उपयोग](#usage) - [मेनू विकल्प](#menu-options) - [इन-कॉल नियंत्रण](#in-call-controls) - [CLI मोड](#cli-mode) - [यह कैसे काम करता है](#how-it-works) - [सुरक्षा मॉडल](#security-model) - [कॉन्फ़िगरेशन](#configuration) - [समस्या निवारण](#troubleshooting) - [लाइसेंस](#license) --- ## विशेषताएँ - **वॉकी-टॉकी पुश-टू-टॉक मोड** -- एक पूरा वॉइस संदेश रिकॉर्ड करें और छोड़ने पर इसे प्रसारित करें। - **इन-कॉल एन्क्रिप्टेड चैट** -- कॉल के दौरान एन्क्रिप्टेड टेक्स्ट संदेश भेजें और प्राप्त करें। संदेश टाइप करने के लिए `T` दबाएँ। - **कॉलर ID** -- कनेक्ट होने पर दोनों पक्ष स्वचालित रूप से `.onion` पते का आदान-प्रदान करते हैं। दूरस्थ पता कॉल हेडर में प्रदर्शित होता है। - **ऑटो-हैंगअप डिटेक्शन** -- जब एक पक्ष हैंग अप करता है, तो दूसरे को तुरंत सूचित किया जाता है और कॉल स्वचालित रूप से समाप्त हो जाती है। - **कॉन्फ़िगर करने योग्य सिफर** -- शक्ति के अनुसार रैंक किए गए 21 चयनित सिफरों में से चुनें (256-बिट → 128-बिट)। इसमें AES, ChaCha20, Camellia, और ARIA परिवार शामिल हैं। कमज़ोर सिफर (DES, RC4, ECB मोड) शामिल नहीं हैं। - **लाइव सिफर नेगोशिएशन** -- कनेक्ट होने पर दोनों पक्ष सिफर जानकारी का आदान-प्रदान करते हैं। कॉल हेडर में हरे (मेल) या लाल (बेमेल) संकेतकों के साथ स्थानीय और दूरस्थ दोनों सिफर दिखाए जाते हैं, जो वास्तविक समय में अपडेट होते हैं। - **मिड-कॉल सेटिंग्स** -- कॉल के दौरान सेटिंग्स तक पहुँचने के लिए `S` दबाएँ। अपना सिफर तुरंत बदलें; दूरस्थ पक्ष का डिस्प्ले स्वचालित रूप से अपडेट हो जाता है। - **Snowflake ब्रिज जानकारी** -- सेंसरशिप परिहार के लिए Snowflake का उपयोग करते समय, कॉल पेज Tor के लॉग से पार्स किया गया ब्रिज डिस्क्रिप्टर नाम, फिंगरप्रिंट, और ट्रांसपोर्ट कनेक्शन स्थिति प्रदर्शित करता है। - **ऑटो-लिसन** -- सक्षम होने पर, Tor बूट होने पर एक बैकग्राउंड लिसनर स्वचालित रूप से शुरू हो जाता है। आने वाली कॉल का पता लगाया जाता है और मुख्य मेनू से स्वीकार किया जाता है, बिना मैन्युअल रूप से "Listen for calls" चुनने की आवश्यकता के। कॉल समाप्त होने के बाद, लिसनर पुनः आरंभ हो जाता है। - **कॉन्फ़िगर करने योग्य PTT कुंजी** -- सेटिंग्स मेनू के माध्यम से डिफ़ॉल्ट स्पेसबार से पुश-टू-टॉक कुंजी को किसी भी कुंजी में बदलें। - **संदेश आँकड़े** -- कॉल स्क्रीन भेजे और प्राप्त संदेशों के लिए एन्क्रिप्टेड पेलोड आकार प्रदर्शित करती है, जो यथास्थान अपडेट होता है। - **दूरस्थ PTT स्थिति** -- कॉल स्क्रीन दूरस्थ पक्ष की स्थिति के लिए एक स्थिर संकेतक दिखाती है: "Idle" (हरा) या "● Recording" (लाल)। ऑडियो डेटा आने पर, प्लेबैक शुरू होने से पहले ही तुरंत रीसेट हो जाता है। - **PTT चाइम** -- दूरस्थ पक्ष के रिकॉर्डिंग शुरू करने पर वैकल्पिक अधिसूचना ध्वनि। sox से उत्पन्न पाँच अंतर्निहित प्रीसेट (tone, double, chirp, ding, click), साथ ही एक कस्टम 2-सेकंड चाइम रिकॉर्ड करने की क्षमता। सेटिंग्स के माध्यम से कॉन्फ़िगर करने योग्य। - **कनेक्टिंग एनिमेशन** -- दूरस्थ पते पर कॉल करते समय, कॉल इंटरफ़ेस लोड होने तक एक चक्रीय एनिमेशन चलता है। - **वॉइस चेंजर** -- आउटगोइंग ऑडियो पर वॉइस प्रभाव लागू करें। इसमें 6 प्रीसेट (deep, high, robot, echo, whisper) और पिच शिफ्ट, ओवरड्राइव, फ्लेंजर, इको, हाईपास फ़िल्टर, और ट्रेमोलो के साथ एक पूरी तरह से कॉन्फ़िगर करने योग्य कस्टम मोड शामिल है। Opus एन्कोडिंग से पहले sox का उपयोग करके प्रभाव संसाधित किए जाते हैं। - **वॉल्यूम PTT (Termux)** -- प्रायोगिक मोड जो आपको वॉल्यूम डाउन बटन को डबल-टैप करके रिकॉर्डिंग टॉगल करने देता है, भले ही Termux बैकग्राउंड में हो। इसके लिए `jq` आवश्यक है (मांग पर इंस्टॉल किया जाता है)। प्रत्येक ट्रिगर के बाद वॉल्यूम स्वचालित रूप से बहाल हो जाता है। - **Tor हिडन सर्विस** -- प्रत्येक इंस्टेंस अपनी स्वयं की Tor हिडन सर्विस चलाता है। आपका `.onion` पता एक स्थायी, रूटेबल एंडपॉइंट के रूप में कार्य करता है। किसी पोर्ट फ़ॉरवर्डिंग या सार्वजनिक IP की आवश्यकता नहीं। - **एंड-टू-एंड एन्क्रिप्शन** -- Tor नेटवर्क में प्रवेश करने से पहले सभी ऑडियो और टेक्स्ट को एक कॉन्फ़िगर करने योग्य सिफर (डिफ़ॉल्ट: AES-256-CBC) का उपयोग करके एन्क्रिप्ट किया जाता है, जिसमें प्री-शेयर्ड सीक्रेट से PBKDF2 कुंजी व्युत्पत्ति होती है। - **पासफ़्रेज़-संरक्षित सीक्रेट** -- साझा सीक्रेट को उपयोगकर्ता द्वारा चुने गए पासफ़्रेज़ (AES-256-CBC, 100,000 PBKDF2 पुनरावृत्तियाँ) का उपयोग करके आराम की स्थिति में एन्क्रिप्ट किया जा सकता है। मौजूदा प्लेनटेक्स्ट सीक्रेट का स्वचालित रूप से पता लगाया जाता है और माइग्रेट करने का प्रस्ताव दिया जाता है। - **कम बैंडविड्थ** -- 16kbps, 8kHz मोनो पर Opus कोडेक। एक सामान्य 10-सेकंड का वॉइस संदेश 20KB से कम होता है, जो Tor की क्षमता के भीतर है। - **QR कोड शेयरिंग** -- विकल्प 3 आपके `.onion` पते को टर्मिनल में स्कैन करने योग्य QR कोड के रूप में प्रदर्शित कर सकता है। यदि `qrencode` इंस्टॉल नहीं है, तो आपको इसे इंस्टॉल करने के लिए कहा जाता है। QR कोड अल्टरनेट स्क्रीन बफ़र पर रेंडर होता है और खारिज होने पर नष्ट हो जाता है। एक नोट चेतावनी देता है कि कुछ QR स्कैनर स्वचालित रूप से `http://` जोड़ देते हैं; डायल करते समय यह प्रीफ़िक्स स्वचालित रूप से हटा दिया जाता है। - **अपारदर्शी अस्थायी फ़ाइलें** -- सभी अस्थायी फ़ाइलें सामान्य `.tmp` एक्सटेंशन और यादृच्छिक हेक्स पहचानकर्ताओं का उपयोग करती हैं। फ़ाइलसिस्टम पर कोई फ़ाइल प्रकार या समय मेटाडेटा लीक नहीं होता। - **सर्किट हॉप डिस्प्ले** -- कॉल के दौरान आपके Tor सर्किट पथ का ऑप्ट-इन डिस्प्ले, जो रिले नाम और पूर्ण देश नाम दिखाता है। हर 60 सेकंड में स्वचालित रूप से रीफ़्रेश होता है। सेटिंग्स → Tor Settings के माध्यम से कॉन्फ़िगर करने योग्य। - **देशों को बाहर रखें** -- अपने Tor सर्किट से विशिष्ट देशों को बाहर रखें। Five Eyes, Nine Eyes, और Fourteen Eyes गठबंधनों के लिए प्रीसेट, या कस्टम देश कोड दर्ज करें। torrc में `StrictNodes` के साथ `ExcludeNodes` का उपयोग करता है। - **HMAC प्रोटोकॉल प्रमाणीकरण** -- साझा सीक्रेट का उपयोग करके सभी प्रोटोकॉल संदेशों (वॉइस, टेक्स्ट, नियंत्रण संकेत) का वैकल्पिक HMAC-SHA256 हस्ताक्षर। प्रति संदेश एक यादृच्छिक नॉन्स शामिल किया जाता है, और रीप्ले को अस्वीकार करने के लिए देखे गए नॉन्स को ट्रैक किया जाता है। अहस्ताक्षरित, जाली, या रीप्ले किए गए संदेशों को चुपचाप छोड़ दिया जाता है। मिड-कॉल डीसिंक को रोकने के लिए कॉल शुरू होने पर HMAC स्थिति फ़्रीज़ कर दी जाती है। सेटिंग्स → Security के माध्यम से कॉन्फ़िगर करने योग्य। - **हटाने से पहले अधिलेखन** -- सेटिंग्स → Security में एक वैकल्पिक टॉगल जो हटाने से पहले प्रत्येक अस्थायी फ़ाइल को `/dev/urandom` से यादृच्छिक डेटा से अधिलेखित करता है। फ़ाइल का आकार पढ़ा जाता है, उतने बाइट्स यादृच्छिक डेटा `conv=notrunc` का उपयोग करके `dd` के साथ फ़ाइल पर लिखे जाते हैं, लेखन को `sync` के साथ स्टोरेज डिवाइस पर फ़्लश किया जाता है, और फिर फ़ाइल को `rm` के साथ हटा दिया जाता है। सभी संवेदनशील रनटाइम फ़ाइलों को कवर करता है: कच्ची PCM रिकॉर्डिंग, Opus-एन्कोडेड ऑडियो, एन्क्रिप्टेड पेलोड, डिक्रिप्टेड इनबाउंड ऑडियो और चैट, वॉइस इफ़ेक्ट इंटरमीडियरी, सिफर और HMAC कुंजी सामग्री, नॉन्स लॉग, सेशन फ़्लैग, PID फ़ाइलें, नेम्ड पाइप, रोटेशन पर Tor हिडन सर्विस कुंजियाँ, और रिले सेशन डेटा। निर्देशिकाओं के लिए, अंदर की सभी फ़ाइलें पुनरावर्ती रूप से अधिलेखित की जाती हैं। एक अंतर्निहित परीक्षण विकल्प एक नमूना फ़ाइल बनाता है, मूल सामग्री को प्लेनटेक्स्ट और हेक्स में दिखाता है, इसे अधिलेखित करता है, और अधिलेखित हेक्स प्रदर्शित करता है ताकि उपयोगकर्ता नेत्रहीन पुष्टि कर सके कि डेटा नष्ट हो गया है। डिफ़ॉल्ट रूप से बंद — अधिकांश उपयोगकर्ताओं के लिए, मानक `rm` पूरी तरह से ठीक है। TerminalPhone की अस्थायी फ़ाइलें छोटी और अल्पकालिक होती हैं, और डिस्क स्थान आमतौर पर सामान्य सिस्टम गतिविधि द्वारा जल्दी से पुनः उपयोग किया जाता है। यह सुविधा उन उपयोगकर्ताओं के लिए है जो फ़ॉरेंसिक रिकवरी के विरुद्ध सुरक्षा की एक अतिरिक्त परत चाहते हैं। नोट: SSD और फ़्लैश स्टोरेज पर, वियर लेवलिंग का मतलब है कि अधिलेखन विभिन्न भौतिक NAND सेल पर पड़ सकता है — फ़्लैश मीडिया पर पूर्ण-डिस्क एन्क्रिप्शन ही एकमात्र विश्वसनीय रक्षा है। पारंपरिक HDD पर, अधिलेखन उसी भौतिक स्थान पर डेटा को बदल देता है और सभी सॉफ़्टवेयर-आधारित रिकवरी के विरुद्ध प्रभावी है। - **रिले मोड (ग्रुप ब्रिज)** -- एक ज़ीरो-नॉलेज रिले चलाएँ जो N अनाम कॉलरों को ब्रिज करता है। रिले एन्क्रिप्टेड ऑडियो और चैट को डिक्रिप्ट किए बिना अग्रेषित करता है, इसके लिए किसी साझा सीक्रेट या ऑडियो हार्डवेयर की आवश्यकता नहीं होती। क्लाइंट `RELAY:1` हैंडशेक के माध्यम से रिले मोड का स्वचालित रूप से पता लगाते हैं और लाइव ग्रुप कॉलर गणना प्रदर्शित करते हैं। एक कॉलर के जाने से दूसरे डिस्कनेक्ट नहीं होते। ऑपरेटर डैशबोर्ड कॉलर गणना, अपटाइम, और डेटा थ्रूपुट दिखाता है। - **सिंगल-हॉप Tor मोड** -- रिले ऑपरेटरों के लिए वैकल्पिक कम-विलंबता मोड। हिडन सर्विस के लिए 3 के बजाय 1 Tor हॉप का उपयोग करता है, कम विलंबता के लिए सर्वर अनामिका का त्याग करता है। उन रिले ऑपरेटरों के लिए आदर्श जिन्हें अपना IP छिपाने की आवश्यकता नहीं है। - **पोर्ट कॉन्फ़िगरेशन** -- सेटिंग्स → Tor Settings के माध्यम से लिसन पोर्ट और SOCKS पोर्ट को एक साथ कॉन्फ़िगर करें। एक ही डिवाइस पर अलग-अलग Tor प्रक्रियाओं के साथ कई इंस्टेंस चलाने में सक्षम बनाता है। मुख्य रूप से उन रिले ऑपरेटरों के लिए उपयोगी जो अपनी ही ग्रुप कॉल में शामिल होना चाहते हैं -- एक इंस्टेंस पर रिले चलाएँ, दूसरे इंस्टेंस पर SOCKS पोर्ट बदलें, और एक कॉलर के रूप में डायल करें। - **क्रॉस-प्लेटफ़ॉर्म** -- मानक Linux वितरणों, macOS, और Termux के माध्यम से Android पर चलता है। प्लेटफ़ॉर्म-विशिष्ट ऑडियो बैकएंड पारदर्शी रूप से संभाले जाते हैं। - **रूट की आवश्यकता नहीं** -- PTT इनपुट टर्मिनल रॉ मोड का उपयोग करता है। किसी विशेष अनुमति या कर्नेल मॉड्यूल की आवश्यकता नहीं। - **एकल स्क्रिप्ट** -- एक Bash फ़ाइल। कोई बिल्ड सिस्टम नहीं, कोई रनटाइम नहीं, कोई फ़्रेमवर्क नहीं। --- ## इंस्टॉलेशन ### Linux **समर्थित वितरण:** Debian/Ubuntu (apt), Fedora/RHEL (dnf), Arch (pacman)।``` bash git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh ``` मेनू से विकल्प **7** चुनें ताकि सभी निर्भरताएँ स्वचालित रूप से इंस्टॉल हो जाएँ। निम्नलिखित पैकेज इंस्टॉल किए जाएँगे: | पैकेज | उद्देश्य | |---|---| | `tor` | ओनियन रूटिंग और हिडन सर्विस | | `opus-tools` | वॉइस कम्प्रेशन (Opus कोडेक) | | `sox` | ऑडियो प्रोसेसिंग यूटिलिटीज़ | | `socat` | Tor SOCKS प्रॉक्सी के माध्यम से द्विदिशात्मक TCP रिले | | `openssl` | AES-256-CBC एन्क्रिप्शन और डिक्रिप्शन | | `alsa-utils` | ऑडियो रिकॉर्डिंग और प्लेबैक (`arecord`, `aplay`) | ### macOS``` bash git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh ``` सभी निर्भरताओं को स्वचालित रूप से इंस्टॉल करने के लिए विकल्प **7** चुनें। यदि [Homebrew](https://brew.sh) इंस्टॉल नहीं है, तो स्क्रिप्ट पहले इसे इंस्टॉल करेगी, फिर निम्नलिखित पैकेज इंस्टॉल करेगी: | पैकेज | उद्देश्य | |---|---| | `tor` | ओनियन रूटिंग और हिडन सर्विस | | `opus-tools` | वॉइस कम्प्रेशन (Opus कोडेक) | | `sox` | ऑडियो रिकॉर्डिंग और प्लेबैक (`rec`, `play`) | | `socat` | Tor SOCKS प्रॉक्सी के माध्यम से द्विदिशात्मक TCP रिले | | `openssl` | AES-256-CBC एन्क्रिप्शन और डिक्रिप्शन | **नोट:** macOS रिकॉर्डिंग (`rec`) और प्लेबैक (`play`) दोनों के लिए ALSA के बजाय `sox` का उपयोग करता है। किसी अतिरिक्त ऑडियो पैकेज की आवश्यकता नहीं है। **Apple Silicon (M1/M2/M3+):** यदि आपका टर्मिनल संयोग से Rosetta 2 (एक `x86_64` प्रोसेस) के अंतर्गत चल रहा है जबकि Homebrew नेटिव ARM प्रीफ़िक्स (`/opt/homebrew`) में इंस्टॉल है, तो `brew install` सामान्यतः `Cannot install under Rosetta 2 in ARM default prefix` के साथ विफल हो जाता है। निर्भरता इंस्टॉलर अब इसका पता लगाता है और स्वचालित रूप से Homebrew को `arch -arm64` के अंतर्गत पुनः चलाता है, इसलिए विकल्प **7** इस बात की परवाह किए बिना काम करता है कि स्क्रिप्ट कैसे लॉन्च की गई थी। ### Termux (Android) TerminalPhone Termux के माध्यम से Android डिवाइस का समर्थन करता है। Android की सैंडबॉक्स्ड ऑडियो आर्किटेक्चर के कारण, दो अतिरिक्त घटक आवश्यक हैं। **चरण 1: Termux इंस्टॉल करें** F-Droid से [Termux](https://f-droid.org/en/packages/com.termux/) इंस्टॉल करें। Play Store संस्करण का उपयोग न करें, क्योंकि यह पुराना है और अब अपडेट प्राप्त नहीं करता। **चरण 2: Termux:API ऐप इंस्टॉल करें** F-Droid से [Termux:API](https://f-droid.org/en/packages/com.termux.api/) इंस्टॉल करें। यह एक अलग Android एप्लिकेशन है (Termux पैकेज नहीं) जो Termux और Android सिस्टम API के बीच एक ब्रिज प्रदान करता है। TerminalPhone को डिवाइस माइक्रोफ़ोन और मीडिया प्लेबैक तक पहुँचने के लिए इसकी आवश्यकता होती है। डिवाइस पर Termux:API ऐप इंस्टॉल किए बिना, `termux-microphone-record` और `termux-media-player` कमांड काम नहीं करेंगे, और ऑडियो रिकॉर्डिंग और प्लेबैक चुपचाप विफल हो जाएँगे। Termux:API ऐप इंस्टॉल करने के बाद, संकेत मिलने पर इसे माइक्रोफ़ोन अनुमतियाँ दें। **चरण 3: Termux के अंदर Termux:API पैकेज इंस्टॉल करें**```bash pkg install termux-api ``` यह उन कमांड-लाइन उपयोगिताओं को इंस्टॉल करता है जो Termux:API ऐप के साथ संचार करती हैं। **चरण 4: TerminalPhone चलाएँ**```bash git clone https://gitlab.com/here_forawhile/terminalphone.git cd terminalphone bash terminalphone.sh ``` सभी शेष निर्भरताओं को स्थापित करने के लिए विकल्प **7** चुनें। इंस्टॉलर पहले किसी भी पैकेज लिंकिंग समस्या को हल करने के लिए `pkg upgrade` चलाएगा, फिर `tor`, `opus-tools`, `sox`, `socat`, `openssl-tool`, `ffmpeg`, और `termux-api` स्थापित करेगा। **Termux-विशिष्ट निर्भरताएँ:** | पैकेज | उद्देश्य | |---|---| | `termux-api` | Android माइक्रोफ़ोन और मीडिया प्लेयर के लिए CLI ब्रिज | | `ffmpeg` | Opus एन्कोडिंग के लिए Android की M4A रिकॉर्डिंग को रॉ PCM में परिवर्तित करता है | --- ## त्वरित शुरुआत``` 1. Run: bash terminalphone.sh 2. Install deps: Select option 7 3. Start Tor: Select option 8 (wait for 100% bootstrap) 4. Set shared secret: Select option 4 (both parties must use the same secret) 5. Share your .onion address with the other party (option 3) To receive a call: Select option 1 (Listen for calls) To make a call: Select option 2 (Call an onion address) ``` दोनों पक्षों के पास कॉल शुरू करने से पहले Tor चालू होना चाहिए और समान साझा गुप्त कॉन्फ़िगर होना चाहिए। --- ## उपयोग ### मेनू विकल्प``` 1 Listen for calls Wait for an incoming connection 2 Call an onion address Connect to a remote .onion endpoint 3 Show my onion address Display your .onion address (with optional QR code) 4 Set shared secret Configure the pre-shared encryption key 5 Test audio (loopback) Record and play back audio locally 6 Show status Display Tor, secret, and connection status 7 Install dependencies Install all required packages 8 Start Tor Start the Tor process and hidden service 9 Stop Tor Stop the Tor process 10 Restart Tor Stop and restart Tor 11 Rotate onion address Generate a new .onion address (destroys the old one) 12 Settings Configure Opus quality, PTT chime, Snowflake, auto-listen, PTT key, voice changer, security, Tor settings 13 Relay mode Start a zero-knowledge group bridge for N callers 0 Quit Stop Tor and exit ``` ### इन-कॉल नियंत्रण **फुल डुप्लेक्स मोड (WebSockets):** | कुंजी | क्रिया | |---|---| | M | माइक्रोफ़ोन म्यूट / अनम्यूट करें। | | T | इन-कॉल एन्क्रिप्टेड टेक्स्ट संदेश भेजें। | | Q | कॉल समाप्त करें और मेनू पर वापस जाएँ। | **पुश-टू-टॉक मोड (Linux / macOS):** | कुंजी | क्रिया | |---|---| | SPACE दबाए रखें | वॉइस संदेश रिकॉर्ड करें। छोड़ने पर स्वतः भेज दिया जाता है। | --- [Read more](https://gitlab.com/here_forawhile/terminalphone)