প্রকল্প সম্পর্কে
PeerLink X হলো Flutter দিয়ে তৈরি একটি ক্রস-প্ল্যাটফর্ম মেসেঞ্জার, যা একটি বিকেন্দ্রীভূত নেটওয়ার্কিং কোরের ওপর ভিত্তি করে ডিজাইন করা হয়েছে। অ্যাপ্লিকেশনটি পিয়ার সেশনের জন্য (ওভারলে ট্র্যাফিকের ক্ষেত্রে ব্যবহৃত) WebRTC ডিরেক্ট ট্রান্সপোর্ট এবং অডিও/ভিডিও কলের জন্য TURN-রাউটেড WebRTC মিডিয়া ব্যবহার করে, যা একটি TURN-only পলিসি মেনে চলে। মেসেজ ডেলিভারির জন্য HTTP-এর মাধ্যমে রিলে-ভিত্তিক store-and-forward পদ্ধতি ব্যবহৃত হয়, যেখানে আইডেন্টিটি, সিগনেচার এবং সেশনের জন্য অ্যাপ্লিকেশন-লেভেল ক্রিপ্টোগ্রাফি প্রয়োগ করা হয়েছে।
ইউজার ইন্টারফেসে Contacts, Chats, Calls এবং Settings-এর জন্য কার্যকর সেকশন রয়েছে। মেসেজ রিসিট ডেলিভারি স্ট্যাটাস নির্দেশ করে: কনফার্মড স্টোরের জন্য একটি চেক, রিসিভারের স্থায়ী সেভের জন্য দুটি এবং পড়ার পর তিনটি চেক (গ্রুপ মেসেজের ক্ষেত্রে প্রথম অংশগ্রহণকারীর অ্যাকশনের পর চেক প্রদর্শিত হয়)। চ্যাট লিস্টে রিসিট ইন্ডিকেটর এবং টাইম ফরম্যাটিং (আজকের জন্য HH:MM, চলতি বছরের জন্য DD:MM এবং পূর্ববর্তী বছরগুলোর জন্য DD:MM:YY) প্রদর্শিত হয়। শুধুমাত্র ইমোজি সমৃদ্ধ মেসেজগুলো (১-৩টি ইমোজি) ব্যাকগ্রাউন্ড ছাড়াই বড় ফরম্যাটে রেন্ডার হয়।
স্টোরেজ এখানে পারসিস্টেন্ট: সেটিংস এবং আইডেন্টিটির জন্য সিকিউর স্টোরেজ, চ্যাট ডেটাবেসের জন্য Drift/SQLite এবং মিডিয়ার জন্য ফাইলসিস্টেম ব্যবহৃত হয়। সেটিংসের মাধ্যমে সেলফ-হোস্টেড ডেপ্লয়মেন্ট সমর্থিত, যেখানে স্টেজ-ভিত্তিক প্রগ্রেস, এন্ডপয়েন্ট কনফিগারেশন এবং বুটস্ট্র্যাপ, রিলে ও TURN সার্ভারের জন্য হেলথ চেক সুবিধা রয়েছে। অ্যাপটি ট্রান্সপোর্ট এবং কল সিগন্যালিংয়ের জন্য WebSocket-এর মাধ্যমে বুটস্ট্র্যাপ সিগন্যালিং ব্যবহার করে, একাধিক কানেকশন বজায় রাখে এবং অনলাইন/অফলাইন স্ট্যাটাসের জন্য প্রেজেন্স স্ন্যাপশট ব্যবহার করে।
প্রাইভেসি ফিচারের মধ্যে রয়েছে অ্যাপের অভ্যন্তরীণ কন্টাক্টস (সিস্টেম অ্যাড্রেস বুক নয়), তাই iOS/macOS বিল্ডগুলো কন্টাক্টস অ্যাক্সেসের অনুরোধ করে না। মডারেশনের মধ্যে রয়েছে Terms/EULA গ্রহণ, ডিফল্টভাবে কন্টাক্টস-অনলি মোড এবং রিপোর্টিং সিস্টেম যা শুধুমাত্র মেটাডেটা (মেসেজের বিষয়বস্তু নয়) পাঠায়। মডারেটরদের দ্বারা সেট করা ওয়ার্নিং এবং ব্যান ব্যবহারকারীর লোকেল অনুযায়ী প্রদর্শিত হয়।
সেটিংসের মাধ্যমে সার্ভার কনফিগারেশন (bootstrap, relay, TURN) হেলথ-সর্টেড কার্ডের মাধ্যমে ম্যানেজ করা হয়, ক্যাটাগরি অনুযায়ী স্টোরেজ ডিলিট করার সুবিধা রয়েছে এবং ইনভাইট ও সার্ভার কনফিগারেশনের জন্য ডিপ লিঙ্ক (peerlink:// এবং ফলব্যাক URL) দেওয়া আছে। পুশ নোটিফিকেশন রিলে পোলিংয়ের সাথে ইন্টিগ্রেটেড এবং অ্যাপটি Ed25519 সিগনেচার ও অ্যান্টি-রিপ্লে সহ একটি নির্দিষ্ট Push API কন্ট্রাক্ট ব্যবহার করে। গ্রুপ ফিচারের মধ্যে রয়েছে ইউনিফাইড ডেলিভারি, মিডিয়ার জন্য ব্লব ট্রান্সপোর্ট এবং মেম্বারশিপ পরিবর্তনের সময় কি-রোটেশন। নেটওয়ার্কের স্থিতিশীলতার জন্য কলগুলোতে TURN ব্যবহৃত হয়।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.