Skip to content

v1.2.43 — گره، پیام‌رسان گوشی‌به‌گوشی بی‌سرور

Choose a tag to compare

@mlmvpn mlmvpn released this 28 Oct 18:56
· 1 commit to main since this release

گره، پیام‌رسان گوشی‌به‌گوشی بی‌سرور، و رفع کرش‌ها و هنگ‌های نسخهٔ ۱.۲.۴۲

افزوده‌شده

  • گره، پیام‌رسان گوشی‌به‌گوشی (کاشی تازهٔ «گره»). پیام‌رسانی با ظاهر و امکانات تلگرام که هیچ سروری ندارد: پیام مستقیم از گوشی شما به گوشی مخاطب می‌رود و همه‌چیز سرتاسری رمز می‌شود. بی شمارهٔ تلفن و ایمیل: هویت شما کلیدی است که روی خود گوشی ساخته می‌شود، با نامی مثل «ehsan·4821». افزودن مخاطب با QR یا لینک کارت، یا «افزودن از نزدیک» با بلوتوث یا وای‌فای و کد تأیید ۴ ایموجی. پیام روی یک وای‌فای مشترک حتی بی اینترنت، با بلوتوث وقتی کنار هم هستید، و روی اینترنت از راه گوشی‌ها و رایانه‌های داوطلب خود کاربران می‌رسد. گفت‌وگوی تکی، گروه با صاحب و مدیران، کانال (فقط مدیران می‌نویسند)، عکس، ویدیو، فایل و پیام صوتی، عکس پروفایل و عکس گروه و کانال، و پوشه‌های گفت‌وگو. اعلان پیام وقتی برنامه بسته است، و زبان همان زبان MLMVPN با فارسی کامل. گره در پروسهٔ جدای خودش اجرا می‌شود تا خطایش به VPN آسیب نزند.
  • ویجت گره در صفحهٔ اصلی گوشی. کاشی گره با شمار پیام‌های نخوانده (نشان قرمز) و نام فرستندهٔ آخرین پیام، و اینکه گره الان به کسی می‌رسد یا نه (وصل، از راه وای‌فای، از راه بلوتوث، در انتظار شبکه)؛ با لمس، گره باز می‌شود. از ویجت استدیو › «ویجت روش‌ها» یا فهرست ویجت‌های خود گوشی اضافه‌اش کنید. متن هیچ پیامی روی صفحهٔ اصلی نمی‌آید و اگر گره رمز داشته باشد، نام فرستنده هم نمی‌آید.
  • گره: لینک دعوت و کانال و گروه رسمی. گروه و کانال حالا لینک دعوت دارند («mlmchat://g/…»)، با تأیید مدیر یا بی آن؛ زدن روی لینک در هر گفت‌وگو صفحهٔ پیوستن را باز می‌کند. هر کاربر گره از اولین اجرا عضو کانال و گروه «MLMVPN رسمی» است (در کانال فقط مدیران پست می‌گذارند و در گروه همه می‌نویسند)؛ پست‌ها از گوشی به گوشی می‌رسند. این دو را نمی‌شود ترک یا حذف کرد؛ می‌شود بی‌صدا یا بایگانی‌شان کرد.
  • گره: رلهٔ گوگل، وقتی دو گوشی به هم نمی‌رسند. وقتی هیچ راهی بین دو گوشی نیست (مثلاً یکی ایرانسل و دیگری همراه اول)، پیام از «صندوقی» در حساب گوگل خود کاربر (یک Apps Script) رد می‌شود: روی ایرانسل هم کار می‌کند، راه رسیدن به گوگل را گوشی خودش پیدا می‌کند، و گوگل و صاحب صندوق فقط بایت‌های مهرشده می‌بینند. چند رله کنار هم، آزمایش با یک دکمه، آمار هر رله، و برای صاحب رله توقف و سقف دستگاه در روز (داده و حافظه › رله‌های گوگل). عکس و فایل هم از این راه می‌رود، در قطعه‌های ۱۶ کیلوبایتی هم‌اندازه.
  • گره: رلهٔ عمومی. صاحب رله می‌تواند با رضایت خودش رله‌اش را برای همه باز کند تا کاربرانی که رلهٔ خودشان را ندارند هم پیام بگیرند. گوشی بی رله خودش یکی دو رلهٔ عمومی قرض می‌گیرد، آن هم فقط بعد از اینکه خود رله بگوید عمومی است؛ هیچ‌کس جز صاحب رله نمی‌تواند آن را عمومی کند. خبر رله‌های عمومی همراه کانال رسمی گوشی‌به‌گوشی پخش می‌شود. برای رله‌ای که پیش از این نسخه ساخته شده، یک بار کد تازهٔ اسکریپت را جای کد قبلی بگذارید.
  • گره: شمار اعضا و عکس کانال و گروه رسمی. شمار اعضای این دو (همهٔ کاربرانی که اخیراً از گره استفاده کرده‌اند) گوشی‌به‌گوشی تخمین زده می‌شود، با حدود ۲٪ خطا و بی فاش شدن هویت کسی، و از راه رلهٔ گوگل هم پخش می‌شود. ورود و خروج کسی در گروه رسمی نشان داده نمی‌شود، فقط عدد عوض می‌شود. مدیرها حالا می‌توانند عکس این دو را بگذارند و عکس به همه می‌رسد.
  • گره: واکنش، و کانال و گروه رسمی درست‌تر. در گفت‌وگوی تکی، گروه، کانال و کانال و گروه رسمی حالا می‌شود به پیام واکنش داد (با نگه داشتن انگشت روی پیام یا دو بار زدن)؛ هر نفر یکی روی هر پیام، و خواننده‌های کانال هم. در رسمی‌ها: مدیرها نام و شرح را عوض می‌کنند و به همه می‌رسد؛ پستی که حذف شود از گوشی‌های دیگر هم می‌رود (پست‌هایی هم که پیش از این حذف شده بودند)؛ عکس و فایل در آن‌ها فرستاده می‌شود؛ کاربر تازه پست‌ها و شمار اعضا را در همان چند ثانیهٔ اول از اولین مخاطب می‌گیرد، نه ده دقیقه بعد؛ و شمار اعضا همان لحظه تازه می‌شود. رلهٔ گوگل: توقفِ رله دیگر پیام‌های خود صاحبش را نمی‌بندد، عمومی کردن رلهٔ متوقف دیگر «اسکریپت قدیمی» نمی‌گوید، و کد اسکریپت در برابر خرابی هنگام کپی مقاوم شد (برای رله‌ای که ساخته شده، یک بار کد تازه را جای کد قبلی بگذارید).
  • گره: تنظیمات گروه و کانال. شرح گروه و کانال، اختیارات پیش‌فرض اعضا (چه کسی متن، عکس، فایل، لینک و … بفرستد، چه کسی عضو بیفزاید یا سنجاق کند) و حذف گروه یا کانال برای همه کار می‌کند. ردیف‌هایی که سرور تلگرام لازم دارند (پیوند عمومی، بوست و رنگ، استیکر، آمار، ترجمه و …) پنهان شده‌اند.
  • زبان روسی و چینی (Русский، 简体中文). دو زبان تازه برای کل برنامه و گره، از تنظیمات › زبان اپلیکیشن؛ گره با «همان زبان MLMVPN» دنبالش می‌کند یا زبان خودش را می‌گیرد. در این نسخه منوها، دکمه‌ها و پیام‌ها ترجمه شده‌اند (حدود ۵۶۰۰ متن برنامه و همهٔ متن‌های خود گره)؛ بخشی از متن‌های داخل بعضی صفحه‌ها و صفحه‌های اصلی تلگرام در گره هنوز انگلیسی‌اند و در نسخه‌های بعد می‌آیند.
  • Outline: کلیدهای Shadowmere با برچسب و زمان به‌روزرسانی. Outline حالا همهٔ کلیدهای سایت shadowmere.xyz را هم می‌گیرد. Shadowmere همهٔ کلیدهایش را خودش بررسی می‌کند و فقط سالم‌ها را می‌دهد. چون این سایت در ایران فیلتر است، ۱۸۶ کلید آن (۲۵ اکتبر ۲۰۲۶) همراه برنامه می‌آید و فقط از داخل یکی از تونل‌های برنامه به‌روز می‌شود: هر بار که Outline وصل می‌شود خودکار، و با «به‌روزرسانی فهرست‌ها» وقتی تونل هر کاشی‌ای روشن است (Outline، V2Ray، WireGuard یا هر کاشی دیگر)؛ اگر هیچ تونلی روشن نباشد، برنامه می‌گوید اول یکی را روشن کنید. هر کدام از این کلیدها برچسب «shadowmere» را در نام و روی ردیف خود دارد، همراه زمان آخرین به‌روزرسانی‌اش در Shadowmere و درصد پایداری‌اش. ردیف «Shadowmere» در صفحهٔ Outline و برچسب «shadowmere» در فهرست سرورها فقط همین‌ها را نشان می‌دهد؛ «تست همهٔ shadowmere» (و «تست سریع») همه را پینگ می‌گیرد و «اتصال به سریع‌ترین» بعد از آن به سریع‌ترین سالم وصل می‌شود. هیچ پینگی خودکار گرفته نمی‌شود؛ فقط وقتی خودتان «تست» را بزنید.

تغییرکرده

  • ابزار ساخت تازه. برنامه با AGP 8.13، Kotlin 2.1 و compileSdk 36 ساخته می‌شود (برای کد گره). رفتار VPN با targetSdk 34 همان است که بود. حجم برنامه به خاطر گره بیشتر شده.
  • هستهٔ ایتر ۲.۴.۰. هستهٔ ایتر (Aether) که «وارپ»، صفحهٔ ایتر، پینگ کشور خروجی و تقویت بازی با آن کار می‌کنند، به نسخهٔ ۲.۴.۰ سازنده‌اش رسید: MASQUE جایی که API وارپ فیلتر است زودتر وصل می‌شود (دیگر در هر اتصال وارپ را از نو روشن نمی‌کند)، ساخت هویت وارپ اگر نشانی‌های خود API بسته باشد از راه لبه‌های کلادفلر هم امتحان می‌شود، اسکن MASQUE فقط گیت‌وی‌های سالم شناخته‌شده را روی همهٔ پورت‌ها می‌آزماید، و تونلی که ساعت‌ها کار کرده پس از قطعی فوراً به همان سرور برمی‌گردد.
  • ایتر: دو راه تازه برای اتصال و ساخت هویت وارپ. از روش‌های PattNG: وقتی MASQUE با HTTP/3 و HTTP/2 وصل نشود، صفحهٔ ایتر خودش دست‌دهی semi-python را همراه تکه‌کردن، و بعد همان دست‌دهی را از راه Xray با tlshello امتحان می‌کند و راهی را که وصل شد برای همان شبکه نگه می‌دارد. ساخت هویت وارپ (برای «ماسک»، «وایرگارد»، «وارپ در وارپ» و «وارپ») هم اگر ECH و راه مستقیم جواب ندهد همین دو راه را امتحان می‌کند و راه موفق هر شبکه را به خاطر می‌سپارد.

رفع‌شده

  • بسته شدن برنامه در پس‌زمینه به خاطر مصرف CPU. اندروید برنامه را در پس‌زمینه می‌بست وقتی پروسه‌ای (هستهٔ یک موتور مثل لنترن، تور یا گف، یا پروسهٔ آزمون) بعد از ترک صفحه و بی VPN روشن هنوز کار می‌کرد (حدود ۸۰ گزارش). حالا دو دقیقه بعد از رفتن برنامه به پس‌زمینه، اگر هیچ VPN یا سرویس پیش‌زمینه‌ای روشن نباشد، این پروسه‌ها بسته و اسکن متوقف می‌شود. وقتی VPN وصل است هیچ چیز دست نمی‌خورد.
  • هنگ‌های صفحهٔ اصلی و چند صفحهٔ دیگر. کارهای کند از نخ اصلی بیرون رفت: تصویر کاشی‌های صفحهٔ اصلی (حالا به اندازهٔ نمایش)، «آخرین روش» ویجت اتصال، فرمان قطع اتصال، فایل آمار ترافیک هنگام اتصال، آیکن برنامه‌ها در «ضد تحریم»، انتخاب بهترین کانفیگ در NPV، و توقف گیم بوستر. روی گوشی‌های کند این‌ها ۹ ثانیه یا بیشتر برنامه را قفل می‌کردند.
  • فنیکس روی گوشی‌های قدیمی‌تر وصل نمی‌شد. گواهی سرورهای Firefox VPN از ریشه‌ای (GlobalSign E46/R46) است که اندرویدهای قدیمی‌تر (مثلاً اندروید ۱۱) ندارند؛ برای همین روی این گوشی‌ها همهٔ اتصال‌ها شکست می‌خورد، در حالی که همان حساب روی گوشی تازه کار می‌کرد. حالا فنیکس این دو ریشه را خودش همراه دارد، کنار ریشه‌های خود گوشی.
  • هنگ کمتر روی گوشی‌های کند. دکمهٔ اتصال ویجت صفحهٔ اصلی، قطع تونل، کاغذدیواری صفحهٔ اصلی، صفحهٔ «اسکات» و آیکن برنامه‌ها در MAE دیگر نخ اصلی را معطل نمی‌کنند، و درخواست اتصالی که بی پیکربندی به سرویس تونل برسد دیگر برنامه را نمی‌بندد.
  • چند کرش دیگر. دستگاه‌هایی که پنجرهٔ اجازهٔ VPN ندارند (بعضی تی‌وی‌باکس‌ها و پروژکتورها) حالا پیام می‌گیرند؛ توقف وسط بررسی لنترن و سایفون برنامه را نمی‌بندد؛ پروتون روی گوشی بی WebView؛ URnetwork روی اندروید ۷؛ کپی فهرست خیلی بزرگ در اسکنر؛ هستهٔ GST ناسازگار؛ مرگ پروسهٔ هستهٔ Xray؛ و نام کانفیگی که «%» داشت.
  • چند ایراد گره. خطای «این بخش گره هنوز ساخته نشده» که هنگام ورود به کانال و گروه رسمی و صفحهٔ اطلاعاتشان یک لحظه می‌آمد؛ نمایش ندادن تصویر کوچک عکس پروفایل، گروه و کانال؛ گروه و کانال تازه که بعد از برگشتن در فهرست نبود؛ خط زیر نام مخاطب که بعد از پیام از راه رله «روی همین وای‌فای» می‌گفت؛ «پوسته‌های رنگی» که همیشه می‌چرخید (حالا پوسته‌ها و رنگ‌های داخلی، بی اینترنت)؛ دکمهٔ روز/شب که بعد از یک بار گیر می‌کرد؛ دکمهٔ سه‌نقطهٔ خالی تنظیمات؛ پنهان شدن بخش «نماد برنامه» و گزینه‌های حریم خصوصی بی‌پشتوانه؛ و پیام روشن وقتی کد اسکریپت رله روی گوگل خطا دارد.