# সংযোগ, প্রক্সি এবং ডেটা সুরক্ষা

Canonical page: https://phishdestroy.github.io/TgWitness/bn/docs/reference/connection/

প্রমাণীকরণ, স্বয়ংক্রিয় প্রক্সি পুল, আইপি মোড, ফ্যালব্যাক নীতি, বাহ্যিক অনুরোধ এবং গোপন সঞ্চয়।

এই নথিটি TgWitness 0.7.0 এর কার্যপ্রণালী এবং এর সীমাবদ্ধতা বর্ণনা করে। প্রমাণীকরণ, উৎস অ্যাক্সেস, নেটওয়ার্ক সংযোগ এবং ক্যাপচার পরিপূর্ণতা পৃথক অবস্থা। সাইন-ইন ধাপ, ফাইল ফরম্যাট এবং একাধিক অ্যাকাউন্টের জন্য, [অ্যাকাউন্ট এবং সেশন ফরম্যাট](https://phishdestroy.github.io/TgWitness/bn/docs/reference/accounts/) দিয়ে শুরু করুন। ইভেন্ট নীতি এবং পুনরায় শুরু করার কার্যপ্রণালীর জন্য, [সংগ্রহ কীভাবে কাজ করে তা](https://phishdestroy.github.io/TgWitness/bn/docs/reference/collection/) দেখুন।

## প্রমাণীকরণ পদ্ধতি

**API আইডি এবং API হ্যাশ একটি অ্যাপ্লিকেশন সনাক্ত করে; এগুলো অ্যাকাউন্ট লগিনের বিকল্প নয়।** TgWitness-এ এগুলো ঐচ্ছিক। অগ্রাধিকার: ফর্মে প্রবেশ করানো একটি জোড়া, তারপর আমদানি করা অ্যাকাউন্ট JSON থেকে একটি, তারপর ওয়ার্কস্পেসে সংরক্ষিত জোড়া, তারপর 50-এর বিল্ট-ইন পুল public জোড়া, টেলিগ্রাম একটি প্রত্যাখ্যান করলে এলোমেলো ক্রমে চেষ্টা করা হয় এবং স্বয়ংক্রিয়ভাবে রোটেশন করা হয়। শুধুমাত্র টেলিগ্রাম ডেস্কটপ জোড়া (২০৪০) একটি মিলিত টেলিগ্রাম ডেস্কটপ ক্লায়েন্ট বিবরণ সহ পাঠানো হয়। [my.telegram.org](https://my.telegram.org) -এ API ডেভেলপমেন্ট টুলস থেকে আপনার নিজস্ব জোড়া আপনার সমস্ত অ্যাকাউন্টের সাথে ব্যবহার করা যেতে পারে; প্রতিটি অ্যাকাউন্টের নিজস্ব অনুমোদন থাকে।

| পদ্ধতি | প্রয়োজনীয়তা | টিজিউইটনেস সাপোর্ট |
| --- | --- | --- |
| ফোন, কোড, ঐচ্ছিক 2FA | অ্যাকাউন্ট অ্যাক্সেস; API জোড়া ঐচ্ছিক | প্যানেল লগইন |
| অথর কী হেক্স + DC আইডি | পূর্ণ ৫১২-অক্ষরের কী এবং DC ১–৫ | ডাইরেক্ট **অথ কী** ট্যাব; অনুমোদন সংরক্ষণের আগে ঐচ্ছিক ব্যবহারকারী আইডি যাচাই করা হয় |
| টেলিথন স্ট্রিংসেশন | একটি বৈধ সেশন স্ট্রিং | প্যানেল লগইন |
| টেলিথন SQLite `.session` | বন্ধ, সামঞ্জস্যপূর্ণ অনুলিপি | স্কিমা ৭/৮-এর সরাসরি প্যানেল আমদানি; ঐচ্ছিক অফলাইন CLI |
| পাইরোগ্রাম এসকিউএলআইটি `.session` | বন্ধ উৎপাদন ব্যবহারকারী সেশন | স্কিমা ২/৩-এর প্যানেল থেকে সরাসরি আমদানি |
| টেলিগ্রাম ডেস্কটপ TData ZIP | একটি আধুনিক অ্যাকাউন্ট; সুরক্ষিত থাকলে স্থানীয় পাসকোড | চেকসাম/ডিক্রিপশন যাচাইসহ ইন-মেমোরি রূপান্তর |
| অ্যাকাউন্ট JSON | সমর্থিত API/সেশন/কী ক্ষেত্রসমূহ | শুধুমাত্র মেটাডেটা API ক্রেডেনশিয়াল পূরণ করে; সেশন/কী বা ফোন/QR লগইন এখনও প্রয়োজন। |
| কিউআর লগইন | অনুমোদিত টেলিগ্রাম অ্যাপ থেকে নিশ্চিতকরণ | স্থানীয় QR জেনারেট, মেয়াদোত্তীর্ণ/পুনরায় চেষ্টা, ঐচ্ছিক 2FA |
| টিডিএলিব / পাইরোগ্রাম স্ট্রিংসেশন | অন্যান্য গ্রন্থাগার-নির্দিষ্ট ফরম্যাট | সমর্থনবিহীন |
| বট টোকেন | নিজের অ্যাক্সেস/আপডেট মডেল সহ একটি বট | এই সংগ্রাহক দ্বারা ব্যবহৃত হয়নি |

টেলিগ্রাম কোড ডেলিভারি বেছে নেয়; SMS নিশ্চিত নয়। একটি API হ্যাশ বাতিলকৃত সেশন ঠিক করতে বা ভুলে যাওয়া 2FA পাসওয়ার্ড প্রতিস্থাপন করতে পারে না। TgWitness লগইন কোড বা টেলিগ্রাম 2FA পাসওয়ার্ড ডিস্কে সংরক্ষণ করে না।

ব্যক্তিগত উৎসের জন্য, অ্যাকাউন্টে ইতিমধ্যেই অ্যাক্সেস থাকতে হবে। গ্রুপ ব্যবহারকারীর নাম অপ্রয়োজনীয়। প্রক্সি বা সেশন আমদানি সদস্যপদ বা প্রশাসক অধিকার প্রদান করে না। বর্তমান সদস্যপদ পূর্ব-যোগদানের ইতিহাসে অ্যাক্সেসের নিশ্চয়তা দেয় না।

## টেলিথন সেশন ফাইল আমদানি করুন

Telethon SQLite, Pyrogram SQLite, এবং Telegram Desktop TData বিভিন্ন ফরম্যাট ব্যবহার করে। প্যানেল সমর্থিত কাঠামোগুলো সনাক্ত ও রূপান্তর করে; ফাইলের নাম পরিবর্তন করা রূপান্তর নয়। **Files-এর** অধীনে একটি সেশন এবং এর সঙ্গী JSON নির্বাচন করুন, তারপর **Connect account** চাপুন। সর্বোচ্চ চারটি মিলিত ফাইল এবং মোট ৮ MiB গ্রহণ করা হয়। TData/JSON-এর বিবরণের জন্য [ফরম্যাট সীমা](https://phishdestroy.github.io/TgWitness/bn/docs/reference/accounts/) দেখুন। পাসকোড পুনরুদ্ধারের কোনো ব্যবস্থা নেই। ফোন/2FA বা QR লগইন একটি পৃথক অনুমোদন তৈরি করে।

ঐচ্ছিক শুধুমাত্র টেলিথনের কমান্ড-লাইন পথটি এখনও উপলব্ধ রয়েছে:

1. মূল সেশন ব্যবহার করে ক্লায়েন্টটি বন্ধ করুন এবং একটি সামঞ্জস্যপূর্ণ কপি তৈরি করুন। কনভার্টার অসম্পূর্ণ WAL/জার্নালযুক্ত ফাইলগুলো প্রত্যাখ্যান করে। চেক এড়ানোর জন্য সেই ফাইলগুলো মুছে ফেলার পরিবর্তে মূল ক্লায়েন্টটি সঠিকভাবে বন্ধ করুন।
2. TgWitness পরিবেশ থেকে চালান:

```
python -m tgwitness.sessions account.session --out account.tgwitness-session
```

1. **অ্যাকাউন্ট যোগ করুন → ফাইলস**-এ, ফলাফল লোড করুন অথবা এর স্ট্রিং পেস্ট করুন, এবং চালিয়ে যান।
2. প্রদর্শিত সংখ্যাত্মক অ্যাকাউন্ট আইডি পরীক্ষা করুন, উৎসগুলো নির্বাচন করুন এবং পর্যবেক্ষণ শুরু করুন।

রূপান্তরকারী SQLite শুধুমাত্র-পঠন (read-only) মোডে খোলে, কোনো স্কিমা আপগ্রেড বা নেটওয়ার্ক অনুরোধ করে না, এবং সেশন প্রিন্ট করে না। এটি স্কিমা সংস্করণ, টেবিল ধরন, একটি একক সেশন সারি, IP/পোর্ট/DC এবং কী দৈর্ঘ্য পরীক্ষা করে। CLI ইনপুট 64 MiB পর্যন্ত সীমাবদ্ধ; StringSession টেক্সট 4 KiB পর্যন্ত সীমাবদ্ধ। প্যানেল রূপান্তর প্রমাণীকৃত TgWitness সার্ভারে ফাইল আপলোড করে, সেগুলো মেমরিতে প্রক্রিয়া করে, এবং আপলোডকৃত মূল ফাইলগুলো সংরক্ষণ না করে সেই ব্রাউজারে মানসম্মত শংসাপত্র ফেরত পাঠায়। দূরবর্তী সার্ভারের জন্য HTTPS ব্যবহার করুন।

**রূপান্তরিত ফাইলটি একটি এনক্রিপ্ট না করা অ্যাকাউন্ট-অ্যাক্সেস গোপনীয়তা।** এটি সুরক্ষিত স্টোরেজে রাখুন এবং কখনই কমিট করবেন না বা কোনো তৃতীয় পক্ষের রূপান্তর সেবার কাছে পাঠাবেন না। TgWitness অনুমোদিত সেশনটি তার এনক্রিপ্টেড ভল্টে সংরক্ষণ করে। একটি সেশন কপি করলে আলাদা কোনো অনুমোদন তৈরি হয় না: ক্লোন করা auth কী ব্যবহার করে সমান্তরাল ক্লায়েন্ট চালাবেন না এবং স্বতন্ত্র আপডেট ডেলিভারি ধরে নেবেন না।

রূপান্তর অনুমোদন স্থানান্তর করে, মূল বার্তাগুলো নয়, এন্টিটি ক্যাশ বা একটি টেকসই আপডেট কার্সর। এটি প্রক্রিয়া পুনঃশুরুতে আপডেট পুনরুদ্ধার ঠিক করে না।

## এমটিপ্রোটো, টেলিথন এবং প্রক্সি

MTProto হল টেলিগ্রামের প্রোটোকল। Telethon হল Python ক্লায়েন্ট লাইব্রেরি যা TgWitness ব্যবহার করে। MTProxy হল একটি টেলিগ্রাম পরিবহন প্রক্সি; SOCKS5 এবং HTTP CONNECT সাধারণ টানেল প্রদান করে। কোনোটাই অ্যাকাউন্ট প্রামাণীকরণের বিকল্প নয়।

প্রতিটি ওয়ার্কস্পেসের জন্য পথটি সংরক্ষণ করুন: **অ্যাকাউন্ট → সেটিংস → সংযোগ সেটিংস →** সাইন ইন করার আগে **সংযোগ পথ পরিবর্তন করুন**। নতুন ওয়ার্কস্পেসগুলো ডিফল্টভাবে **Automatic MTProxy · পাবলিক লিস্ট** (IP লুকানোর বৈশিষ্ট্যসহ) ব্যবহার করে। বিদ্যমান ওয়ার্কস্পেসগুলো যেগুলো স্পষ্টভাবে Direct ব্যবহার করেছিল, সেগুলো Direct অনুমোদনকারী মোড ধরে রাখে।

## আইপি মোডসমূহ

রুট সংযোগটি নির্বাচন করে। আইপি মোড নির্ধারণ করে কখন সার্ভারের ঠিকানা প্রকাশ পেতে পারে। এই নিয়ন্ত্রণগুলো VPN ইনস্টল করে না বা সমস্ত মেশিন ট্র্যাফিক রাউট করে না।

| মোড | টেলিগ্রাম | বাহ্যিক অনুরোধসমূহ |
| --- | --- | --- |
| আইপি লুকান (`hide`) | প্রক্সি ব্যবহার করুন; যদি কোনোটিই কাজ না করে তবে অপেক্ষা করুন। সরাসরি কোনো বিকল্প নেই। | SOCKS5/HTTP আবশ্যক; প্রযোজ্য প্রক্সি ছাড়া অনুরোধ প্রত্যাখ্যান করুন। |
| ফ্যালব্যাক অনুমোদন করুন (`fallback`) | স্বয়ংক্রিয় MTProxy কনফিগার করা বিলম্বের পর Direct ব্যবহার করতে পারে, তারপর একটি কার্যকর প্রক্সিতে ফিরে আসে। | কনফিগার করা একটি বাহ্যিক প্রক্সি বা অ্যাকাউন্টের SOCKS5/HTTP রুট ব্যবহার করা অগ্রাধিকার; অন্যথায় Direct অনুমোদিত। |
| টানেল / ভিপিএন (`tunnel`) | সরাসরি পথ এবং তাৎক্ষণিক স্বয়ংক্রিয় পুল ব্যাকআপ অনুমোদিত। | যখন কোনো প্রযোজ্য প্রক্সি কনফিগার করা না থাকে, তখন ডাইরেক্ট অনুমোদিত। |

টানেল/VPN মোড ধরে নেয় যে আপনি সেই নেটওয়ার্কটি আলাদাভাবে পরিচালনা করছেন। কার্যকর টানেল ছাড়া গন্তব্যগুলো সার্ভারের নিজস্ব ঠিকানা দেখতে পারবে। অপশনের নামের পরিবর্তে আপনার প্রকৃত নেটওয়ার্ক অনুযায়ী মোড নির্বাচন করুন।

### একটি পথ বেছে নিন

| রুট | সেটিংস | সীমা |
| --- | --- | --- |
| স্বয়ংক্রিয় MTProxy | নির্মিত তালিকা বা অপারেটর ক্যাটালগ | একটি কার্যকর টেলিগ্রাম রুট বজায় রাখে; সরাসরি ফ্যালব্যাক আইপি মোডের উপর নির্ভর করে। |
| সরাসরি | টানেল/ভিপিএন মোড | টেলিথন হোস্টের নেটওয়ার্ক পথ ব্যবহার করে। |
| সক্স৫ | হোস্ট, পোর্ট, ঐচ্ছিক ব্যবহারকারীর নাম/पासওয়ার্ড | python-socks, রিমোট গন্তব্যে DNS সক্ষম |
| এইচটিটিপি কানেক্ট | হোস্ট, পোর্ট, ঐচ্ছিক ব্যবহারকারীর নাম/पासওয়ার্ড | সরল HTTP CONNECT; প্রক্সি নিজে TLS বাস্তবায়ন করা হয়নি। |
| এমটিপ্রক্সি | হোস্ট, পোর্ট, গোপন | পরীক্ষামূলক টেলিথন পরিবহন; ৩২টি হেক্সাডিসিমাল সংখ্যা বা `dd` + ৩২টি হেক্সাডিসিমাল সংখ্যা |

Fake TLS `ee` সিক্রেটগুলো প্রত্যাখ্যাত। Telethon 1.45-এর নরমালাইজেশন প্রিফিক্স এবং ডোমেইন সরিয়ে দিতে পারে, কিন্তু এতে Fake TLS বাস্তবায়িত হয় না। `tg://proxy?server=…&port=…&secret=…` বা `https://t.me/proxy?server=…&port=…&secret=…` পেস্ট করুন এবং **লিঙ্ক থেকে ফিল ফিল্ডস** নির্বাচন করুন। এটি সংযোগ বা সংরক্ষণ না করেই ক্ষেত্রগুলো যাচাই ও পূরণ করে; রুটটি আলাদাভাবে পর্যালোচনা ও সংরক্ষণ করুন। ম্যানুয়াল ক্ষেত্রগুলোও উপলব্ধ থাকবে। [টেলিগ্রাম প্রক্সি লিঙ্কগুলো](https://core.telegram.org/api/links#proxy-links) দেখুন।

### আপনার ইনস্টলেশন দ্বারা সরবরাহিত পাবলিক প্রক্সি

নির্মিত তালিকায় চারটি উৎস একত্রিত করা হয়েছে: [SoliSpirit/mtproto](https://github.com/SoliSpirit/mtproto), [zakky8/mtproto-proxy-pro](https://github.com/zakky8/mtproto-proxy-pro), [kort0881/telegram-proxy-collector](https://github.com/kort0881/telegram-proxy-collector) এবং [3yed-61/MTP-Collector](https://github.com/3yed-61/MTP-Collector)। সংযুক্ত স্ন্যাপশটে এন্ডপয়েন্ট তথ্য, উৎস বরাদ্দ এবং ডাউনলোড তারিখ রয়েছে। একজন প্রদানকারীর তালিকাভুক্তি এই নিশ্চয়তা দেয় না যে প্রক্সি কাজ করে বা প্রতিটি টেলিগ্রাম আপডেট পৌঁছে দেয়।

**স্বয়ংক্রিয় MTProxy** টেলিগ্রাম পরিবহন সংযোগযোগ্যতা পরীক্ষা করে, একটি কার্যকর প্রক্সি রাখে এবং তা ব্যর্থ হলে অন্য প্রক্সিতে স্যুইচ করে। যখন পর্যাপ্ত কার্যকর এন্ট্রি উপলব্ধ থাকে, তখন ওয়ার্কস্পেসগুলো ভিন্ন প্রক্সি পছন্দ করে; একটি অনন্য এক্সিট ঠিকানা নিশ্চিত নয়। ব্যর্থ প্রক্সিগুলো অন্য কোনো প্রচেষ্টা করার আগে বিশ্রাম নেয়। যদি কোনোটিই কাজ না করে, IP মোড নির্ধারণ করে সংগ্রহ অপেক্ষা করবে কিনা বা সরাসরি সংযোগ ব্যবহার করতে পারবে কিনা। প্রক্সি পরিবর্তন করলে অ্যাকাউন্ট পরিবর্তন হয় না বা এর জার্নাল মুছে যায় না। রুট পছন্দ এবং পরিবর্তনগুলি স্বাক্ষরিত জার্নালে রেকর্ড করা হয়।

স্বয়ংক্রিয় রুটগুলি সক্রিয় থাকাকালীন, তালিকাগুলি প্রতি ঘণ্টায় রিফ্রেশ হয় এবং পরিবহন যাচাইকরণ ডিফল্টরূপে প্রতি দশ মিনিটে চলে। এই সময়সীমাগুলি কনফিগারযোগ্য। **পাবলিক তালিকা আপডেট করার** অনুরোধ একটি রিফ্রেশ আহ্বান করে; শুধুমাত্র তালিকা দেখা সংরক্ষিত ম্যানুয়াল রুট পরিবর্তন করে না।

প্রতিটি ফিড প্রতিক্রিয়া আট সেকেন্ডের অনুরোধ টাইমআউট এবং ২০ সেকেন্ডের মোট ডাউনলোড সময়সীমা সহ ১ MiB-এ সীমাবদ্ধ; রিডাইরেক্ট প্রত্যাখ্যাত। প্রতি উত্স থেকে সর্বোচ্চ ৬৪টি সামঞ্জস্যপূর্ণ এন্ট্রি রাখা হয় এবং ডুপ্লিকেট অপসারণ করা হয়। পার্সার সমর্থিত হেক্সাডেসিমাল এবং base64url গোপনীয়তা এবং JSON ফিড গ্রহণ করে। নকল TLS `ee`, অবৈধ লিঙ্ক, ব্যক্তিগত/সংরক্ষিত IP লিটারাল এবং লোকাল হোস্টনেমগুলো এড়িয়ে যাওয়া হয়। হোস্টনেমগুলো ব্যবহারের আগে সমাধান ও যাচাই করা হয়, এবং নির্বাচিত IP সেই সংযোগের জন্য পিন করা হয়। স্বয়ংক্রিয় পুনঃপ্রাপ্তি হোস্টনেমটি আবার সমাধান করে; এটি আবার সমাধান করতে ম্যানুয়াল এন্ট্রি পুনরায় প্রয়োগ করুন।

ব্যর্থ, ফাঁকা বা অসামঞ্জস্যপূর্ণ ফিড প্রতিক্রিয়াগুলি পূর্ববর্তী সোর্স স্ন্যাপশট ধরে রাখে। আপডেটগুলো পারমাণবিক, ধারাবাহিক এবং প্রতি ওয়ার্কস্পেস প্রতি মিনিটে এক প্রচেষ্টায় সীমাবদ্ধ। একটি সফল ট্রান্সপোর্ট প্রব সংযোগ স্থাপন করে, অজ্ঞাতনামা বা ক্যাপচারের সম্পূর্ণতা নয়।

**টেলিগ্রাম ট্র্যাফিক এবং HTTPS অনুরোধগুলি ভিন্ন রুট ব্যবহার করে।** তালিকা ডাউনলোডগুলি একটি পৃথক HTTPS সংযোগ এবং সরবরাহিত external-request রুট ব্যবহার করে। `TGWITNESS_PROXY_FEED_PROXY` স্পষ্টভাবে সেই রুটটিকে একটি HTTP/SOCKS5 প্রক্সি দিয়ে ওভাররাইড করে; উভয় collector Compose ভ্যারিয়েন্টই এটিকে ফরওয়ার্ড করে। ব্যাকগ্রাউন্ড পুল প্রধান ওয়ার্কস্পেস অনুসরণ করে। কোনও টেলিগ্রাম সেশন, API ক্রেডেনশিয়াল, প্যানেল টোকেন বা বট টোকেন ফিড প্রদানকারীদের কাছে পাঠানো হয় না। প্রদানকারীর নাম, স্ন্যাপশট তারিখ এবং ডাউনলোড রুট **'তালিকাটি কোথা থেকে এসেছে**' শিরোনামের অধীনে প্রদর্শিত হয়।

একটি MTProxy শুধুমাত্র টেলিগ্রাম ট্র্যাফিক বহন করে। ওয়ার্কস্পেস HTTP অপারেশন যেমন টাইমস্ট্যাম্প, নোটিফিকেশন, অফ-সাইট কপি এবং সোর্স চেক, কনফিগার করা থাকলে একটি পৃথক SOCKS5/HTTP প্রক্সি ব্যবহার করে, অন্যথায় অ্যাকাউন্টের SOCKS5/HTTP রুট ব্যবহার করে। উভয় ক্ষেত্রেই না থাকলে, Hide IP অনুরোধটি প্রত্যাখ্যান করে; অন্য মোডগুলো Direct অনুমোদন করে। বাহ্যিক অনুরোধগুলি নিষ্ক্রিয় করা যেতে পারে। স্পষ্টভাবে কনফিগার করা ফিড-ডাউনলোড প্রক্সি একটি পৃথক অপারেটর ওভাররাইড হিসেবে থাকে। স্বাধীন সাক্ষী সেবা তার নিজস্ব রুট বজায় রাখে।

****স্বয়ংক্রিয় পুল পরামিতিসমূহ**** **প্যারামিটার → অটোম্যাটিক MTProxy**-এর অধীনে ব্যর্থতার সীমা, কুলডাউন, পরিকল্পিত রোটেশন, প্রক্সি শেয়ারিং এবং অনুমোদিত ফলব্যাক বিলম্ব কনফিগার করুন। | নিয়ন্ত্রণ | ডিফল্ট | | --- | --- | | প্রতিস্থাপনের আগে বিচ্ছিন্নতা | 10 মিনিটের মধ্যে 3 বার | | প্রতি সংযোগ প্রচেষ্টায় চেষ্টা করা প্রক্সি | 3 | | ব্যর্থতার পর প্রথম / সর্বোচ্চ বিরতি | 10 মিনিট / 6 ঘণ্টা | | পরিকল্পিত রোটেশন | নিষ্ক্রিয়; ব্যর্থ হলে চালু করুন | | প্রতি প্রক্সিতে অ্যাকাউন্ট | 0: পৃথক এন্ট্রি পছন্দ করুন, প্রয়োজনে শেয়ার করুন। একচেটিয়া এন্ট্রির জন্য 1 সেট করুন। | | অনুমোদিত ডিরেক্ট ফলব্যাকের আগে বিলম্ব | 10 মিনিট; Hide IP এখনও ডিরেক্ট প্রত্যাখ্যান করে | | ফিড রিফ্রেশ / ট্রান্সপোর্ট চেক | 60 / 10 মিনিট; প্রধান ওয়ার্কস্পেস মানগুলি শেয়ার্ড পুলে প্রযোজ্য | বিভিন্ন প্রক্সি ভিন্ন এক্সিট ঠিকানার নিশ্চয়তা দেয় না। এই সেটিংস টেলিগ্রামের সীমা অতিক্রম করে না বা অজ্ঞাতপরিচিতি প্রমাণ করে না।

পাবলিক তালিকা আপনার নিজস্ব অপারেটর ক্যাটালগ দিয়ে প্রতিস্থাপন করতে, নিচের ওভাররাইড কনফিগার করুন। এটি বাহ্যিক সাবস্ক্রিপশন সম্পূর্ণরূপে নিষ্ক্রিয় করে, এমনকি যখন এর `proxies` অ্যারে খালি থাকে তখনও।

[খালি ক্যাটালগটি](https://github.com/phishdestroy/TgWitness/blob/main/deploy/proxies.config.example) `proxy-config/proxies.json` -এ কপি করুন এবং আপনার স্থাপিত পাবলিক এন্ডপয়েন্টগুলো যোগ করুন:

```
{"format": "tgwitness-proxy-catalog-v1", "proxies": [
  {"id": "project-eu", "label": "Project EU",
   "link": "tg://proxy?server=REPLACE_HOST&port=443&secret=REPLACE_SECRET"}
]}
```

উদাহরণ মানগুলো প্রতিস্থাপন করতে হবে। সর্বোচ্চ ৩২টি স্বতন্ত্র এন্ট্রি গ্রহণ করা হয়। প্রমাণিত তালিকাটি শেয়ার্ড সিক্রেট ছাড়া লেবেল/হোস্ট/পোর্ট ফেরত দেয়; একটি নির্বাচন করলে তার ক্রেডেনশিয়াল ওয়ার্কস্পেস ভল্টে সংরক্ষিত হয়। স্পষ্ট পরিবহন পরীক্ষার আগ পর্যন্ত উপলব্ধতা পরীক্ষিত হয়নি। একটি ভুল ফরম্যাটের ক্যাটালগ ম্যানুয়াল কনফিগারেশন প্রয়োজন করে।

নেটিভ লঞ্চ: স্থানীয় JSON পাথে `TGWITNESS_PROXY_CATALOG` সেট করুন। ডকার:

```
docker compose -f compose.yaml -f deploy/compose/compose.proxies.yaml up -d --build
```

ওভারলে মাউন্ট `proxy-config` শুধুমাত্র পড়ার জন্য; ফাইলগুলো কন্টেইনার UID 10001 দ্বারা পড়ার যোগ্য হতে হবে। এই ডিরেক্টরি Git, Docker বিল্ড প্রসঙ্গ এবং সোর্স আর্কাইভ থেকে বাদ দেওয়া হয়েছে। এই ক্যাটালগ সংগ্রহকারী অ্যাকাউন্টগুলো কনফিগার করে; [উইটনেস বট](https://phishdestroy.github.io/TgWitness/bn/docs/reference/witness/) তার নিজস্ব HTTP/SOCKS5 রুট ব্যবহার করে, MTProxy নয়।

সরাসরি ফ্যালব্যাক উপরের আইপি মোড দ্বারা নিয়ন্ত্রিত হয়। কোনো রুট পরিবর্তন করার আগে পর্যবেক্ষণ বিরতি দিন। সেভ করলে পুরনো ক্লায়েন্টগুলো বিচ্ছিন্ন হয়ে যায় এবং অসম্পূর্ণ লগইন বাতিল হয়ে যায়; একটি নতুন ক্লায়েন্ট সেভ করা রুট ব্যবহার করে। অ্যাকাউন্টের জার্নাল/সেশন বাইন্ডিং বজায় থাকে। সেটিংস পূর্ববর্তী রুট প্রতিস্থাপন করে: এটি সম্পাদনা করার সময় প্রক্সি শংসাপত্র পুনরায় প্রবেশ করান।

`network.enc`-এ ক্রেডেনশিয়ালগুলো এনক্রিপ্ট করা হয়। API ব্যবহারকারীর নাম, পাসওয়ার্ড বা সিক্রেট ফেরত দেয় না। স্বাক্ষরিত রেকর্ডগুলোতে রুট টাইপ এবং ক্রেডেনশিয়াল উপস্থিত আছে কিনা তা থাকে, এন্ডপয়েন্ট এবং সিক্রেটগুলো বাদ দিয়ে। অপারেটর প্যানেলে এন্ডপয়েন্ট দেখতে পারে। সিক্রেট ফিল্ডগুলো সেভ, লক বা ওয়ার্কস্পেস পরিবর্তনের পর পরিষ্কার হয়ে যায়।

**টেলিগ্রাম সংযোগ পরীক্ষা**, লগইন করার আগেও উপলব্ধ, একটি অস্থায়ী অননুমোদিত টেলিগ্রাম সংযোগ পথের মাধ্যমে খোলে এবং বন্ধ করে। এটি কোনো আইপি-চেক ওয়েবসাইটের সাথে যোগাযোগ করে না। সফল হলে এটি পরিবহন সংযোগ স্থাপন করে, গ্রুপে প্রবেশাধিকার, সম্পূর্ণ ডেলিভারি বা অজ্ঞাতনামা নিশ্চিত করে না।

প্রক্সি টেলিগ্রাম ক্লায়েন্টের সংযোগগুলিতে প্রযোজ্য, যার মধ্যে টেলিগ্রাম DC মিডিয়া ডাউনলোডও রয়েছে। ব্রাউজার, pip, SSH এবং ম্যানুয়ালি চালিত TSA টুলগুলির আলাদা রুট রয়েছে। প্রক্সি হোস্টনেম স্থানীয়ভাবে রিসলভ করা যেতে পারে। `rdns` গন্তব্য হোস্টনেমকে প্রভাবিত করে; টেলিগ্রাম প্রায়ই সংখ্যামূলক DC IP সরবরাহ করে।

SOCKS5 এবং সাধারণ HTTP CONNECT নিজে থেকেই প্রক্সি ক্রেডেনশিয়াল বা ক্লায়েন্ট-থেকে-প্রক্সি টানেল এনক্রিপ্ট করে না। MTProto আলাদাভাবে টেলিগ্রাম ট্র্যাফিক সুরক্ষিত করে। অবিশ্বস্ত নেটওয়ার্কে প্রক্সির সাথে যোগাযোগের জন্য একটি উপযুক্ত নিরাপদ চ্যানেল ব্যবহার করুন। ব্যক্তিগত গ্রুপগুলো ক্লাউড চ্যাট; MTProto সেগুলোকে এন্ড-টু-এন্ড এনক্রিপ্টেড সিক্রেট চ্যাটে রূপান্তর করে না।

## এনক্রিপশন এবং স্বাক্ষর

| স্তর | বাস্তবায়িত | অপারেটরের দায়িত্ব |
| --- | --- | --- |
| টেলিগ্রাম ট্র্যাফিক | টেলিথন এমটিপ্রোটো | প্ল্যাটফর্মের বিশ্বাসযোগ্যতা, পথ এবং প্রাপ্যতা |
| ওয়েব প্যানেল | বাহক টোকেন, লুপব্যাক ডিফল্ট, অনুরোধ সীমা | দূরবর্তী অ্যাক্সেসের জন্য HTTPS বা SSH টানেল |
| গোপন কথা | API শংসাপত্র, সেশন, প্রক্সি শংসাপত্র এবং স্বাক্ষর ব্যক্তিগত কী-এর জন্য ফারনেট | ডিক্রিপশন কী এবং চলমান হোস্ট সুরক্ষিত রাখুন। |
| ভল্ট কী | স্থানীয় কী, অথবা নতুন ইনস্টলেশনের জন্য বাহ্যিক মাস্টার কী | সুরক্ষিত স্টোরেজ এবং কী ব্যাকআপ পৃথক করুন |
| বার্তা এবং সংযুক্তি | সাধারণ পাঠ্য অ্যাপ্লিকেশন সংরক্ষণ | এনক্রিপ্ট করা ডিস্ক/ভলিউম |
| জিআইপি/জসনএল/সিএসভি/এইচটিএমএল | অখণ্ডতা যাচাই, কোনো বিষয়বস্তু এনক্রিপশন নেই | রপ্তানি করা অনুলিপি এবং স্থানান্তরগুলি সুরক্ষিত করুন |
| উৎস এবং সময় | স্বাক্ষরিত জার্নাল, প্রক্রিয়া রসিদ, RFC 3161 টুলস | বিশ্বস্ত চাবি, স্বাধীন চেকপয়েন্ট/টিএসএ এবং হেফাজত প্রক্রিয়া |

অ্যাকাউন্টে **স্টোরেজ সুরক্ষা** এই অবস্থাগুলো দেখায়। প্যানেল টোকেন একটি অ্যাক্সেস সিক্রেট, এনক্রিপশন পাসওয়ার্ড নয়। এটি প্রশাসককে অ্যাক্সেস দেয়; [ইস্যুকৃত টোকেনগুলো](https://phishdestroy.github.io/TgWitness/bn/docs/reference/access/) অ্যাকাউন্ট এবং চ্যাটে সীমাবদ্ধ করা যেতে পারে। ওয়ার্কস্পেসগুলো হোস্ট প্রক্রিয়া শেয়ার করে এবং পৃথক ভাড়াটিয়া নয়।

স্পষ্টভাবে শুরু করা, বিচ্ছিন্ন একটি সিন্থেটিক ডেমো সরাসরি লুপব্যাক সংযোগের মাধ্যমে স্বয়ংক্রিয়ভাবে খোলা যেতে পারে। এটি একটি পৃথক প্রক্রিয়া-জীবনকাল সক্ষমতা ব্যবহার করে; এটি কনফিগার করা প্যানেল টোকেন প্রকাশ করে না বা বাস্তব ওয়ার্কস্পেসে অ্যাক্সেস প্রদান করে না। রিমোট, প্রক্সি বা ক্রস-অরিজিন অনুরোধগুলি এই স্বয়ংক্রিয়-প্রবেশ সক্ষমতা অর্জন/ব্যবহার করতে পারে না। এই সুবিধাটি প্রকৃত অ্যাকাউন্ট ডেটার জন্য প্রমাণীকরণ সীমানা অপসারণ করে না।

BitLocker, LUKS, FileVault বা একটি পরিচালিত এনক্রিপ্ট করা ভলিউম তাদের নিজ নিজ হুমকি মডেলের অধীনে স্টোরেজ সুরক্ষিত রাখতে পারে। একটি আনলক করা চলমান মেশিনের প্রশাসক এখনও ডেটা পড়তে পারেন। স্টোরেজ পরিকল্পনায় SQLite WAL/SHM, মিডিয়া, অস্থায়ী এক্সপোর্ট, সোয়াপ, ব্যাকআপ এবং ব্রাউজার ডাউনলোড অন্তর্ভুক্ত করুন। একটি ডকার ভলিউম শুধুমাত্র ভলিউম হওয়ার কারণে এনক্রিপ্ট করা হয় না। TgWitness SQLCipher বা অবজেক্ট এনক্রিপশন বাস্তবায়ন করে না।

## বাহ্যিক মাস্টার কী

**নতুন** ইনস্টলেশনের জন্য, মাস্টার কীটি ডেটা ডিরেক্টরির বাইরে রাখুন। এটি স্বয়ংক্রিয়ভাবে বিদ্যমান লোকাল-কি ভল্টকে মাইগ্রেট করে না। শুধুমাত্র সার্ভিস আইডেনটিটির জন্য অ্যাক্সেসযোগ্য একটি কী ডিরেক্টরি প্রস্তুত করুন, তারপর চালান:

```
python -m tgwitness.security create-master-key /private/keys/tgwitness-master.key
export TGWITNESS_VAULT_KEY_FILE=/private/keys/tgwitness-master.key
python -m tgwitness --data-dir /private/observations/new-case
```

ইনস্টল করা প্রকল্প পরিবেশ ব্যবহার করে PowerShell:

```
python -m tgwitness.security create-master-key E:\PrivateKeys\tgwitness-master.key
$env:TGWITNESS_VAULT_KEY_FILE = 'E:\PrivateKeys\tgwitness-master.key'
python -m tgwitness --data-dir E:\PrivateData\new-case
```

Docker-এ, ফাইলটি `/data`-এর বাইরে শুধুমাত্র-পঠন (read-only) হিসেবে মাউন্ট করুন, উদাহরণস্বরূপ `/run/secrets/tgwitness-master.key`-এ, এবং পরিবেশ ভেরিয়েবল (environment variable) সেই পথে সেট করুন। সার্ভিস UID-কে এটি পড়ার অনুমতি থাকতে হবে। পরিবেশ/কনফিগারেশন ফাইলের মাধ্যমে পথটি পাস করুন, কী-এর বাইট নয়।

প্রতিটি ওয়ার্কস্পেস একটি এলোমেলো পাবলিক সল্ট এবং HKDF-SHA256-এর মাধ্যমে প্রাপ্ত নিজস্ব ফারনেট কী পায়।`vault.external.json` ডেরিভেশন মেটাডেটা সংরক্ষণ করে, মাস্টার কী নয়। কোনো কী অনুপস্থিত বা ভুল থাকলে, নীরবে প্রতিস্থাপন না করে স্টার্টআপ ব্যর্থ হয়। পুনরুদ্ধারের জন্য সল্ট মেটাডেটা এবং মাস্টার কী উভয়ই সংরক্ষণ করুন।

সমস্ত ওয়ার্কস্পেস একই মাস্টার কী থেকে উদ্ভূত; এর দুর্বলতা পুরো ইনস্টলেশনকে প্রভাবিত করে। চলমান প্রক্রিয়া গোপনীয়তা ডিক্রিপ্ট করতে পারে। এটি কোনো HSM বা পাসওয়ার্ড KDF নয়। এলোমেলো কী-এর পরিবর্তে ইচ্ছামত মানব পাসওয়ার্ড গ্রহণ করা হয় না।

যথাযথ মাইগ্রেশন বাস্তবায়ন ও যাচাই না হওয়া পর্যন্ত বিদ্যমান ইনস্টলেশনে বিদ্যমান কীটি রেখে দিন।`vault.key` মুছে ফেলা বা মাস্টার কী প্রতিস্থাপন সেশন/স্বাক্ষর কী-তে অ্যাক্সেস ধ্বংস করতে পারে। এনক্রিপ্ট করা ব্যাকআপ এবং কীগুলো আলাদাভাবে সংরক্ষণ করুন এবং একটি বিচ্ছিন্ন পরিবেশে পুনরুদ্ধার পরীক্ষা করুন।

## উৎস এবং যাচাইয়ের পরিধি

২৬ অক্টোবর ২০২৬-এ পর্যালোচিত:

- https://core.telegram.org/api/auth
- https://core.telegram.org/api/obtaining_api_id
- https://docs.telethon.dev/en/stable/basic/signing-in.html
- https://docs.telethon.dev/en/stable/concepts/sessions.html
- https://core.telegram.org/mtproto/mtproto-transports
- https://github.com/telegramdesktop/tdesktop/blob/dev/Telegram/SourceFiles/storage/storage_account.cpp
- টেলিথন 1.45.0: SQLiteSession, StringSession, `Connection._proxy_connect`, `TcpMTProxy.normalize_secret` এবং ডাউনলোড পদ্ধতি।

স্থানীয় পরীক্ষাগুলো লুপব্যাক SOCKS5/HTTP CONNECT ফিক্সচার, সিন্থেটিক SQLite সেশন, রুট আইসোলেশন, সিক্রেট এক্সক্লুশন এবং মিসিং-কি রিফিউজাল কভার করে। এগুলো বাস্তব টেলিগ্রাম/প্রক্সি ইন্টারঅপারেবিলিটি বা লাইভ MTProxy আচরণ প্রতিষ্ঠা করে না। [VERIFICATION.md](https://phishdestroy.github.io/TgWitness/bn/docs/reference/verification/) এবং [LIVE_ACCEPTANCE.md](https://github.com/phishdestroy/TgWitness/blob/main/docs/internal/LIVE_ACCEPTANCE.md) দেখুন।
