Nehan is a secure, open-source text sharing tool designed for maximum privacy and stability. It features a modern Glassmorphism design and supports multiple deployment methods.
It uses Client-Side Encryption to lock your text on your device using your personal password before sending it to the server. This means neither the storage provider (PasteHub) nor the proxy service can ever read your data.
🔗 Live Demo: https://itsyebekhe.github.io/Nehan/
نهان (Nehan) یک سامانه متنباز برای اشتراکگذاری امن متن و اطلاعات حساس است. هدف اصلی این پروژه، ایجاد راهکاری ساده، زیبا و کاملاً امن برای انتقال دادهها بدون نگرانی از خوانده شدن آنها توسط سرورها یا ابزارهای تحلیلی است.
این برنامه بر اساس معماری Zero-Knowledge (عدم آگاهی سرور) طراحی شده است. این یعنی متن شما پیش از خروج از مرورگر، در دستگاه شما رمزگذاری میشود و سرورهای ذخیرهسازی (PasteHub) تنها یک رشته کاراکترهای نامفهوم (Ciphertext) را دریافت میکنند. بدون داشتن «کلید رمزنگاری» شخصی شما، هیچکس در جهان قادر به باز کردن قفل متن نخواهد بود.
-
🔒 امنیت در سطح کلاینت:
- تمامی فرآیند رمزگذاری با الگوریتم قدرتمند AES-256 و توسط کتابخانه
CryptoJSمستقیماً در مرورگر کاربر انجام میشود. - سرور تنها نقش یک انبار ساده را بازی میکند و هیچ اطلاعاتی از محتوای پیام شما ندارد.
- تمامی فرآیند رمزگذاری با الگوریتم قدرتمند AES-256 و توسط کتابخانه
-
🎨 طراحی بصری مدرن (Glassmorphism):
- رابط کاربری جدید با طراحی شیشهای (Glassmorphism) و پسزمینههای شفاف و متحرک.
- انیمیشنهای نرم (Smooth Animations) برای ارائه تجربهای روان و حرفهای.
- پشتیبانی کامل از حالت تاریک (Dark Mode) و روشن (Light Mode) با تطبیق خودکار با سیستم عامل.
-
📱 وباپلیکیشن (PWA) و مولتیپلتفرم:
- قابلیت نصب روی گوشیهای آیفون و اندروید به عنوان یک اپلیکیشن بومی (Native App Experience).
- سازگاری کامل با تلگرام مینیاپ (WebApp) برای استفاده مستقیم از داخل چت تلگرام.
-
🖥️ پشتیبانی از سرور محلی (Local Server):
- اگر میخواهید امنیت را دوچندان کنید، میتوانید برنامه را روی کامپیوتر شخصی یا گوشی اندروید خود اجرا کنید.
- در این حالت، نیاز به هیچ پروکسی عمومی (مانند corsproxy.io) نخواهید داشت و ارتباط با سرور ذخیرهسازی از طریق لوکال هاست شما برقرار میشود.
- قابلیت اجرا روی اندروید با استفاده از Termux بدون نیاز به روت کردن گوشی.
-
🔑 مدیریت هوشمند کلید:
- امکان تولید کلیدهای تصادفی و ذخیره آنها در حافظه مرورگر (LocalStorage) برای سهولت استفاده.
- اگرچه پیشنهاد میشود برای امنیت بیشتر، کلید را در جایی امن یادداشت کنید.
مراحل ارسال پیام در نهان به شرح زیر است:
- ورود داده: شما متن محرمانه خود و یک "کلید شخصی" وارد میکنید.
- رمزگذاری (Local): برنامه با استفاده از کلید شما، متن را به یک کد طولانی و نامفهوم تبدیل میکند. این عمل در داخل مرورگر شما اتفاق میافتد.
- انتقال: کد رمز شده به سرور PasteHub ارسال میشود.
- ذخیره: سرور این کد را نگه میدارد. چون این کد با کلید شما قفل شده است، حتی ادمین PasteHub نمیتواند محتوا را بخواند.
- بازگشایی: گیرنده کد را میگیرد، کلید شخصی را وارد میکند و در مرورگر خود، متن اصلی را باز میکند.
شما میتوانید نهان را به دو روش استفاده کنید:
این روش برای کاربران عادی که دسترسی به سرور ندارند مناسب است. از یک پروکسی عمومی برای عبور از محدودیتهای شبکه استفاده میشود.
- در آیفون (iOS):
- سایت را در مرورگر Safari باز کنید.
- روی دکمه Share (مربع و فلش به بالا) کلیک کنید.
- گزینه Add to Home Screen را انتخاب کنید.
- در اندروید (Android):
- سایت را در مرورگر Chrome باز کنید.
- منوی سه نقطه (⋮) را بزنید.
- گزینه Install App یا Add to Home Screen را بزنید.
با این روش، برنامه روی دستگاه خود شما به عنوان سرور اجرا میشود. این روش نیازی به پروکسی خارجی ندارد و برای محیطهای اینترانتی یا مواقعی که اینترنت ناپایدار است بسیار عالی عمل میکند.
- نصب برنامه Node.js از وبسایت رسمی (نسخه ۱۸ یا جدیدتر ترجیح داده میشود).
- فایلهای پروژه (
index.htmlوserver.js) را در یک پوشه قرار دهید. - ترمینال (CMD یا PowerShell یا Terminal) را باز کنید و به پوشه پروژه بروید:
cd path/to/Nehan - دستور زیر را اجرا کنید:
node server.js
- مرورگر خود را باز کنید و به آدرس
http://localhost:3000بروید.
با این قابلیت، میتوانید یک وبسایت امن را روی گوشی خود میزبانی کنید (مثل داشتن هاست شخصی).
- اپلیکیشن Termux را از F-Droid یا Play Store نصب کنید.
- برنامه Termux را باز و دستورات زیر را وارد کنید:
pkg update && pkg upgrade pkg install nodejs - یک پوشه بسازید و فایلهای
server.jsوindex.htmlرا درون آن کپی کنید (یا با ابزارهای مدیریت فایل Termux آن را ایجاد کنید). - دستور اجرای سرور را وارد کنید:
node server.js
- اکنون مرورگر کروم گوشی خود را باز کنید و به آدرس
http://localhost:3000بروید.
- Zero-Knowledge Architecture: The server only stores encrypted gibberish. You hold the decryption key.
- Modern UI/UX: Beautiful Glassmorphism design with smooth animations and native Dark Mode support.
- Hybrid Deployment:
- Static Mode: Runs purely as an HTML file on GitHub Pages (uses CORS proxy).
- Local Server Mode: Run your own backend (Node.js) on PC/Android for zero external dependencies.
- Offline Capable: PWA capable, allowing to interface to load without internet.
- Persisted Settings: Remembers your Theme preference and Secret Key.
- Frontend: HTML5, CSS3 (Glassmorphism + Animations), Vanilla JavaScript.
- Backend (Optional): Node.js (Native HTTP/HTTPS) for local proxying.
- Encryption: CryptoJS (AES-256).
- Storage Backend: PasteHub.ir (Used as a dumb storage).
- Font: Vazirmatn.
- Encryption: When you click "Send", the app takes your text and your "Secret Key". It uses
CryptoJS.AES.encryptto turn text into ciphertext locally. - Upload:
- GitHub Pages Mode: App sends ciphertext to
corsproxy.io->PasteHub. - Local Server Mode: App sends ciphertext to your localhost ->
PasteHub.
- GitHub Pages Mode: App sends ciphertext to
- Retrieval: When downloading, the app fetches ciphertext.
- Decryption: The app uses the key stored in your browser to decrypt text locally and display it.
- Clone the repository.
- Upload
index.htmland assets to a static host. - Note: This mode uses
corsproxy.ioto bypass browser restrictions. Since data is encrypted before transmission, the proxy cannot read it.
Run the app on your own machine or Android phone using the included server.js.
For PC (Windows/Mac/Linux):
- Install Node.js.
- Place
index.htmlandserver.jsin the same folder. - Open terminal in that folder and run:
node server.js. - Open browser to
http://localhost:3000.
For Android (Termux):
- Install Termux.
- Run:
pkg update && pkg install nodejs. - Create a folder and place
server.jsandindex.htmlinside. - Run:
node server.js. - Open Chrome on Android to
http://localhost:3000.
- Proxy Traffic: In Static Mode (GitHub Pages), traffic is routed through
corsproxy.io. Payloads are encrypted before transmission. - Key Safety: If you lose your "Secret Key", your data is lost forever. There is no password recovery.
Distributed under the MIT License. See LICENSE for more information.
Designed with ❤️ for Privacy & Freedom.