Submarine
0.4دسکتاپ راه دور با کلیپ‌بورد مشترک و گزینه‌های سرعت

همهٔ سرورهای شما در یک برنامهٔ رمزگذاری‌شده

Submarine یک کلاینت SSH، SFTP، RDP، VNC و Telnet برای Windows، macOS، Linux و Android است. سرورها، رمزها و کلیدهای شما روی دستگاه خودتان رمزگذاری می‌شوند و فقط اگر خودتان بخواهید، بین دستگاه‌هایتان همگام‌سازی می‌شوند.

  • بدون تبلیغات
  • بدون ردیابی
  • بدون نسخهٔ پولی
  • بدون نیاز به حساب
WindowsmacOSLinuxAndroid
Submarine روی کامپیوتر: ترمینال SSH در سمت چپ و مرورگر فایل دوپنلی در سمت راست
رمزگذاری روی دستگاه شما SSH · SFTP · RDP · VNC · Telnet همگام‌سازی، فقط اگر بخواهید

یک برنامه به‌جای

ترمینالکلاینت SFTPمدیر تونلبرنامهٔ RDPنمایشگر VNCکلاینت TelnetSubmarine
امکانات

هر چه برای سرورهایتان لازم دارید، در یک پنجره

اتصال، انتقال فایل، هدایت پورت، پایش و اشتراک‌گذاری؛ روی هر کامپیوتری که با آن کار می‌کنید و روی گوشی‌تان.

ترمینال

تب‌ها، تقسیم صفحه، True color، تاریخچهٔ اسکرول ۱۰٬۰۰۰ خطی، طرح‌های رنگی و Nerd Fonts. جست‌وجو در آنچه ترمینال نشان می‌دهد با Ctrl+Shift+F، و در فرمان‌هایی که تایپ کرده‌اید با Ctrl+Shift+R.

Wall

چندین سرور کنار هم، و تایپ هم‌زمان در همهٔ آن‌ها.

SFTP دوپنلی

کشیدن و رها کردن، مقایسهٔ پوشه‌ها، ویرایش فایل‌های روی سرور، آرشیوها، sudo، و سرورهای بدون SFTP.

RDP و VNCجدید در نسخهٔ 0.4

دسکتاپ راه دور در یک تب، با کلیپ‌بورد مشترک، گزینه‌های سرعت و کیفیت، و نشانگری که نشان می‌دهد اتصال در چه وضعی است.

Telnetجدید در نسخهٔ 0.4

برای سوئیچ‌ها و روترهای قدیمی، و به‌روشنی علامت‌گذاری می‌شود که رمزگذاری نشده است.

تونل‌ها

هدایت پورت محلی، راه دور و SOCKS، با گزارش زندهٔ هر اتصال.

کلیدها و ایجنت‌هاجدید در نسخهٔ 0.4

فایل ‎~/.ssh/config شما، ایجنت‌های SSH، کلیدهای سخت‌افزاری، گواهی‌های OpenSSH، jump hostها و پراکسی‌ها.

پروفایل رمزگذاری‌شده

AES-256-GCM با کلیدی که با Argon2id ساخته می‌شود. اگر بخواهید، می‌توانید آن را با Windows Hello یا اثر انگشتتان باز کنید.

همگام‌سازی، اگر بخواهید

بین دستگاه‌هایتان؛ هر آیتم پیش از ارسال، روی خود دستگاه رمزگذاری می‌شود.

پروفایل‌های اشتراکی

سرورها را با تیمتان به اشتراک بگذارید. هر عضو کلید پروفایل را به شکلی دریافت می‌کند که برای خود او مهروموم شده است.

پایش

CPU، حافظه، دیسک و شبکه، هشدار وقتی سروری از دسترس خارج شود، سرویس‌ها و Docker.

فرمان‌ها و یادداشت‌ها

فرمان‌هایی را که زیاد اجرا می‌کنید نگه دارید و آن‌ها را در ترمینال بچسبانید یا اجرا کنید.

Android

همان پروفایل روی گوشی‌تان، با نوار کلید برای ترمینال.

وارد کردن

سرورهایتان را از PuTTY، MobaXterm و OpenSSH وارد کنید.

نگاهی دقیق‌تر

ساخته‌شده برای کارهایی که هر روز انجام می‌دهید

ترمینالی که پابه‌پای شما می‌آید

تب‌ها، تقسیم صفحه و Wall که چندین سرور را کنار هم نشان می‌دهد و با آن می‌توانید هم‌زمان در همهٔ آن‌ها تایپ کنید.

  • با Ctrl+Shift+F در آنچه ترمینال نشان می‌دهد جست‌وجو کنید، و با Ctrl+Shift+R در فرمان‌هایی که تایپ کرده‌اید (در Mac با Cmd+Shift). خود Ctrl+F و Ctrl+R همچنان در اختیار شل می‌مانند.
  • روی دکمهٔ + راست‌کلیک کنید تا ترمینالی با ورود جداگانه و روی اتصال جداگانهٔ خودش باز شود: فقط این بار، یا همیشه برای آن سرور.
  • True color، تاریخچهٔ اسکرول ۱۰٬۰۰۰ خطی، طرح‌های رنگی و Nerd Fonts.
Wall: سه سرور کنار هم در یک پنجره

فایل‌ها، کنار هم

SFTP دوپنلی، با کشیدن و رها کردن بین کامپیوتر شما و سرور.

  • دو پوشه را مقایسه کنید: فایل‌هایی که با هم فرق دارند، جدیدترند یا فقط در یک طرف هستند، علامت می‌خورند.
  • فایل‌های روی سرور را مستقیم ویرایش کنید، و روی خود سرور آرشیو بسازید و باز کنید.
  • با sudo در نقش root کار کنید، حتی روی سرورهایی که SFTP ندارند.
  • یک پوشهٔ محلی را روی سرور آینه کنید تا هر تغییری که در آن می‌دهید، همان موقع آن‌جا هم اعمال شود (روی کامپیوتر).
مقایسهٔ یک پوشهٔ محلی با یک پوشهٔ راه دور: فایل‌هایی که با هم فرق دارند علامت خورده‌اند

تونل، بدون خط فرمان

هدایت پورت محلی، راه دور و SOCKS، هر کدام با یک نام. اگر بخواهید، همراه با خود برنامه شروع به کار می‌کنند.

  • گزارش زندهٔ هر اتصالی که از یک تونل می‌گذرد.
  • از طریق jump hostها و پراکسی‌ها، مثل هر اتصال دیگری.
پنل هدایت پورت با سه تونل و وضعیت آن‌ها

با چیزهایی که از قبل دارید کار می‌کند

فایل ‎~/.ssh/config شما را می‌خواند و سرورها را از PuTTY، MobaXterm و OpenSSH وارد می‌کند.

  • از ایجنت SSH شما استفاده می‌کند: Pageant، ایجنت OpenSSH در Windows، 1Password، کلیدهای سخت‌افزاری.
  • گواهی‌های OpenSSH، jump hostها، و پراکسی‌های HTTP و SOCKS.
  • وقتی رمز ذخیره‌شده اشتباه است، یا رمزی ذخیره نشده، کادر درخواست رمز گزینهٔ Save password را پیشنهاد می‌دهد. رمز وقتی نگه داشته می‌شود که ورود موفق باشد.
فرم سرور جدید، با امکان وارد کردن از ‎~/.ssh/config

وقتی چیزی خراب شود، باخبر می‌شوید

CPU، حافظه، دیسک و شبکه را از طریق SSH زیر نظر دارد و وقتی سروری از دسترس خارج شود، به شما خبر می‌دهد.

  • لازم نیست چیزی روی سرور نصب کنید.
  • اطلاعات سرور، سرویس‌ها و کانتینرهای Docker، همه در یک جا.
پایش: سه سرور با نمودارهای زنده

اطلاعات ورود شما، پشت قفل

رمزها و کلیدها در یک پروفایل رمزگذاری‌شده نگه‌داری می‌شوند که فقط با رمز شما باز می‌شود.

  • AES-256-GCM، با کلیدی که Argon2id از رمز شما می‌سازد. خود رمز هیچ‌وقت ذخیره نمی‌شود.
  • باز کردن با Windows Hello، یا در Android با اثر انگشت. تا خودتان روشنش نکنید، خاموش است.
  • قفل کردن پروفایل همهٔ اتصال‌ها را می‌بندد، حتی اتصالی را که هنوز در حال ورود است.
اطلاعات ورود ذخیره‌شده و کلیدهای SSH در پروفایل رمزگذاری‌شده

روی گوشی هم هست

همان پروفایل روی Android، با همان رمزگذاری.

  • ترمینال با نوار کلید برای Ctrl، Alt، Esc، Tab و کلیدهای جهت‌نما.
  • انتقال فایل و تونل‌ها.
  • دسکتاپ راه دور با لمس، بزرگ‌نمایی، کلیپ‌بورد مشترک، نشانگر اتصال و گزینه‌های سرعت. گوشی هیچ فایلی را با سرور RDP به اشتراک نمی‌گذارد.
Submarine روی گوشی Android: ترمینال SSH با نوار کلید
جدید در نسخهٔ 0.4

دسکتاپ راه دور، درست کنار ترمینال‌هایتان

VNC و کلاینت داخلی RDP در یک تب باز می‌شوند، مستقیم یا از طریق یکی از سرورهای SSH شما. RDP می‌تواند در برنامهٔ RDP خود کامپیوترتان هم باز شود.

یک دسکتاپ راه دور با RDP در یک تب Submarine، با Paste، نشانگر اتصال (Good با تأخیر ۶ میلی‌ثانیه)، Files و Settings در نوار آن
یک دسکتاپ VNC در یک تب Submarine، با علامتی که می‌گوید رمزگذاری نشده است
پنل Speed and quality در تب یک دسکتاپ راه دور

ببینید اتصال در چه وضعی است

نشانگری در تب، همراه با مقدار تأخیر، می‌گوید اتصال Good، Fair، Weak یا Not answering است. پنل آن نشان می‌دهد چه مقدار داده در هر جهت می‌رود، و وقتی اتصال ضعیف است، پیشنهاد می‌دهد دادهٔ کمتری مصرف شود.

تصویر واضح، یا دادهٔ کمتر

تعداد رنگ‌ها و وضوح تصویر را انتخاب کنید، و برای VNC، این‌که تصویر هر چند وقت یک بار به‌روز شود؛ یا یکی از گزینه‌های آماده مثل Less data را بزنید. تبی که دیده نمی‌شود تصویرش را متوقف می‌کند، تا وقتی کسی آن را نمی‌بیند، چیزی فرستاده نشود.

کلیپ‌بورد مشترک

متنی که روی دسکتاپ راه دور کپی می‌کنید به کلیپ‌بورد شما می‌آید، و کلیپ‌بورد شما فقط وقتی به آن‌جا می‌رود که چیزی را بچسبانید. VNC فقط متن ساده را منتقل می‌کند.

اشتراک فایل از طریق RDP

کلاینت داخلی RDP می‌تواند یک پوشه یا یک درایو کامل را به اشتراک بگذارد؛ اگر بخواهید، فقط‌خواندنی. روی کامپیوتر، نه روی گوشی. این انتخاب روی همین دستگاه می‌ماند و هیچ‌وقت همگام‌سازی نمی‌شود.

برنامهٔ RDP خودتان، بدون تایپ رمز

از طریق یک سرور SSH، برنامهٔ RDP شما هر بار به همان نشانی محلی وصل می‌شود، بنابراین چیزهایی که به خاطر سپرده است (یک گواهی مورد اعتماد، اطلاعات ورود ذخیره‌شده) دوباره پیدا می‌شوند. در Windows، برنامهٔ Remote Desktop Connection رمز ذخیره‌شده را هم دریافت می‌کند، به شکل رمزگذاری‌شده، در فایلی که پس از خوانده شدن حذف می‌شود.

از طریق سرورهای SSH شما

RDP، VNC و Telnet همگی می‌توانند از طریق یکی از سرورهای SSH شما برقرار شوند. اتصال‌هایی که رمزگذاری نشده‌اند، به‌روشنی علامت‌گذاری می‌شوند.

کلاینت داخلی RDP آزمایشی است و تا وقتی آن را برای یک سرور انتخاب نکنید (Open in: Submarine's tab) خاموش است. تا آن موقع، RDP در برنامهٔ RDP کامپیوترتان باز می‌شود. در Android، کلاینت داخلی به کار می‌رود.

حریم خصوصی از پایه

داده‌های شما مال خودتان است. ما نمی‌توانیم آن‌ها را بخوانیم.

داده‌های شما پیش از ذخیره شدن، و پیش از آن‌که از دستگاهتان خارج شوند، رمزگذاری می‌شوند. ما دقیقاً منتشر می‌کنیم که سرورمان چه چیزهایی را می‌تواند ببیند و چه چیزهایی را نمی‌تواند.

رمزگذاری روی دستگاه شما

پروفایل‌ها با AES-256-GCM رمزگذاری می‌شوند. کلید با Argon2id از رمز شما ساخته می‌شود. خود رمز هیچ‌وقت ذخیره یا ارسال نمی‌شود.

همگام‌سازی اختیاری است

اگر آن را روشن کنید، هر آیتم اول روی دستگاه شما رمزگذاری می‌شود. سرور فقط نسخهٔ رمزگذاری‌شده را نگه می‌دارد. البته بعضی جزئیات پیرامون آن را می‌بیند، مثل نشانی ایمیل شما و این‌که چه زمانی همگام‌سازی می‌کنید، و ما همهٔ آن‌ها را فهرست کرده‌ایم.

بدون ردیابی

بدون تبلیغات، بدون آمارگیری، بدون گزارش خرابی. برنامه فقط با سرورهای شما، با سرور همگام‌سازی (اگر وارد حساب شوید) و با GitHub برای بررسی نسخهٔ جدید ارتباط برقرار می‌کند.

چطور کار می‌کند و چطور خودتان بررسی‌اش کنید

رایگان

رایگان. واقعاً.

نه نسخهٔ پولی، نه دورهٔ آزمایشی، نه تبلیغات، و نه نیازی به حساب.

  • Submarine رایگان و متن‌باز است و با مجوز MIT منتشر می‌شود.
  • به حساب نیازی ندارید. حساب فقط برای همگام‌سازی اختیاری بین دستگاه‌هایتان است.
  • سرویس همگام‌سازی هم رایگان است، با محدودیت‌هایی منصفانه: برای هر حساب ۵ مگابایت دادهٔ رمزگذاری‌شده، ۲۰٬۰۰۰ آیتم و ۱۰۰ پروفایل.
  • کد منبع عمومی است. می‌توانید آن را بخوانید، برنامه را خودتان بسازید، یا از سرور همگام‌سازی خودتان استفاده کنید.
دانلود

دریافت Submarine

همهٔ فایل‌ها از صفحهٔ نسخه‌های منتشرشدهٔ پروژه در GitHub دانلود می‌شوند.

Windows

Windows 10 و 11 · نصب‌کننده (‎.exe یا ‎.msi)

دانلود

macOS

Apple Silicon (M1 و جدیدتر) · ‎.dmg

دانلود

Linux

بسته‌های ‎.deb و ‎.rpm، بستهٔ Arch و AppImage

دانلود

Android

Android 7.0 و بالاتر · ‎.apk

دانلود

این صفحه نسخهٔ 0.4 را توصیف می‌کند که در آخرین مرحلهٔ آزمایش است و هنوز منتشر نشده است. تا وقتی منتشر شود، دکمه‌های «دانلود» نسخهٔ 0.3.8 را می‌دهند. نسخهٔ 0.3.8 ترمینال، انتقال فایل، تونل‌ها، پایش و همگام‌سازی را دارد، اما دسکتاپ راه دور، Telnet، قفل‌گشایی با Windows Hello و اثر انگشت، ایجنت‌های SSH، مقایسهٔ پوشه‌ها و بقیهٔ چیزهایی را که 0.4 اضافه می‌کند ندارد. از نسخهٔ 0.4، برای Windows یک نسخهٔ پرتابل ‎.zip هم ارائه می‌شود.

فایل دانلودشده را بررسی کنید

  • از نسخهٔ 0.4 به بعد، هر نسخهٔ منتشرشده یک فایل SHA256SUMS دارد که checksum هر فایل دانلودی در آن آمده است.
  • از نسخهٔ 0.4 به بعد، برنامهٔ Android با کلید سازنده امضا شده است. اثر انگشت SHA-256 گواهی آن e9e350dc9f8628bee461be3424c0c2b2180f00685cc380de80c86808ae669f1c است.
  • نسخه‌های Windows و macOS هنوز امضای کد ندارند، برای همین ممکن است سیستم شما بار اولی که آن‌ها را باز می‌کنید هشدار بدهد.
راهنما

پرسش و پاسخ

آیا Submarine واقعاً رایگان است؟

بله. برنامه رایگان و متن‌باز است و با مجوز MIT منتشر می‌شود؛ نه نسخهٔ پولی دارد، نه تبلیغات. سرویس همگام‌سازی هم، در حد محدودیت‌های بالا، رایگان است.

آیا به حساب نیاز دارم؟

نه. همه‌چیز بدون حساب کار می‌کند. فقط اگر بخواهید پروفایل‌ها را بین دستگاه‌هایتان همگام‌سازی کنید، به حساب نیاز دارید.

آیا سرور همگام‌سازی می‌تواند رمزهای من را بخواند؟

نه. هر آیتم پیش از آپلود روی دستگاه شما رمزگذاری می‌شود و کلید هیچ‌وقت به دست سرور نمی‌رسد. البته سرور بعضی جزئیات پیرامون داده‌های شما را می‌بیند، مثل نشانی ایمیل شما، زمان همگام‌سازی‌ها و این‌که چند آیتم دارید. صفحهٔ امنیت همهٔ آن‌ها را فهرست کرده است.

اگر رمز پروفایلم را فراموش کنم، چه می‌شود؟

در آن صورت هیچ‌کس نمی‌تواند آن پروفایل را باز کند، حتی ما. راهی برای بازیابی وجود ندارد، چون رمز هیچ‌جا ذخیره نمی‌شود. آن را جای امنی نگه دارید.

می‌توانم از RDP، VNC و Telnet استفاده کنم؟

بله، از نسخهٔ 0.4. VNC صفحه را در یک تب نشان می‌دهد و کلیپ‌بورد را به اشتراک می‌گذارد (متن ساده). RDP یا در برنامهٔ RDP کامپیوترتان باز می‌شود، یا در یک تب با کلاینت داخلی آزمایشی، که کلیپ‌بورد را به اشتراک می‌گذارد و روی کامپیوتر، یک پوشه یا یک درایو را هم. در تب Submarine، هر دو نشان می‌دهند اتصال در چه وضعی است، و می‌گذارند با پایین آوردن کیفیت تصویر، دادهٔ کمتری مصرف کنید. Telnet در یک تب ترمینال باز می‌شود. هر سه می‌توانند از طریق یک سرور SSH برقرار شوند، و Telnet و VNC ساده با علامت «رمزگذاری‌نشده» مشخص می‌شوند.

دسکتاپ راه دور چه چیزی از کامپیوتر من دریافت می‌کند؟

متن کلیپ‌بورد، وقتی در تب آن چیزی می‌چسبانید، و پیش از آن هیچ چیز. متنی که روی سرور کپی شود، تا وقتی Share the clipboard روشن است، به کلیپ‌بورد شما می‌آید. فایل‌ها فقط اگر برای کلاینت داخلی RDP یک پوشه یا یک درایو انتخاب کنید، روی کامپیوتر. این انتخاب‌ها روی دستگاه شما نگه داشته می‌شوند و هیچ‌وقت همگام‌سازی نمی‌شوند؛ بنابراین هیچ‌کدام از کسانی که پروفایلی را با آن‌ها به اشتراک می‌گذارید نمی‌توانند آن‌ها را روشن کنند.

روی چه سیستم‌هایی اجرا می‌شود؟

Windows 10 و 11، macOS روی Apple Silicon (M1 و جدیدتر)، Linux (بسته‌های ‎.deb و ‎.rpm، بستهٔ Arch و AppImage) و Android 7.0 یا بالاتر.

می‌توانم از سرور همگام‌سازی خودم استفاده کنم؟

بله. در برنامه، Cloud sync را باز کنید و سرور همگام‌سازی را تغییر دهید. کد سرور ما منتشر نشده است؛ بنابراین سرور خودتان باید همان API را ارائه کند. این API در کد منبع برنامه توضیح داده شده است.

چطور حسابم را حذف کنم؟

در برنامه (نسخهٔ 0.4 و بالاتر)، از Delete account…‎ در Cloud sync استفاده کنید. این کار را در صفحهٔ حذف حساب هم می‌توانید انجام دهید.