احتفظ بكلمات المرور والمعلومات الحساسة الأخرى من صناديق الوارد وسجل الدردشة.
ملحوظة
تخطي تعليمات التثبيت.
سر ONET - هو رابط يمكن عرضه مرة واحدة فقط. عنوان URL لاستخدام واحد.
جربها على onetimesecret.com!
عندما ترسل أشخاصًا حساسة للأشخاص مثل كلمات المرور والروابط الخاصة عبر البريد الإلكتروني أو الدردشة ، هناك نسخ من هذه المعلومات المخزنة في العديد من الأماكن. إذا كنت تستخدم رابطًا في وقت واحد بدلاً من ذلك ، فستستمر المعلومات لعرض واحد مما يعني أنه لا يمكن قراءته من قبل شخص آخر لاحقًا. يتيح لك ذلك إرسال معلومات حساسة بطريقة آمنة مع العلم أنه يراها شخص واحد فقط. فكر في الأمر مثل رسالة التدمير الذاتي.
هذا هو النسخة التي تم تطويرها وصيانتها بشكل نشط مع أحدث الميزات وتحديثات الأمان.
Ruby 3 بدون node.js: v0.15.0
Ruby 2.7 ، 2.6 (Legacy - غير مدعوم): v0.12.1
نوصي بشدة باستخدام أحدث إصدار مع Ruby 3+ للحصول على أفضل الأداء والأمان ومجموعة الميزات. يتم توفير إصدارات Legacy Ruby 2.x للرجوع إليها فقط ويجب تجنبها في بيئات الإنتاج.
هناك طرق متعددة لتشغيل OnetimesCret باستخدام Docker. اختر الطريقة التي تناسب احتياجاتك:
نحن نقدم صورًا مسبقًا على كل من سجل حاوية GitHub و Docker Hub.
# Pull from GitHub Container Registry
docker pull ghcr.io/onetimesecret/onetimesecret:latest
# OR, pull from Docker Hub
docker pull onetimesecret/onetimesecret:latestإذا كنت تفضل بناء الصورة بنفسك:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker build -t onetimesecret . بالنسبة للبيئات التي تتطلب دعمًا متعدد العمارة:
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret
docker buildx build --platform=linux/amd64,linux/arm64 . -t onetimesecretنقدم أيضًا إصدارًا "Lite" من صورة Docker ، والذي تم تحسينه للنشر السريع وتقليل استخدام الموارد. لاستخدام إصدار Lite:
# Pull the lite image
docker pull ghcr.io/onetimesecret/onetimesecret-lite:latest
# OR, build it locally
docker build -f Dockerfile-lite -t onetimesecret:lite .لمزيد من المعلومات حول صورة Lite Docker ، راجع وثائق Docker-lite.md.
بغض النظر عن كيفية الحصول على الصورة أو بناءها ، اتبع هذه الخطوات لتشغيل OneTimesCret:
ابدأ حاوية redis:
docker run -p 6379:6379 -d redis:bookwormوضع متغيرات البيئة الأساسية:
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://host.docker.internal:6379/0
export RACK_ENV=production ملاحظة: يقوم متغير COLONEL بتعيين بريد إلكتروني حساب المسؤول. إنها مزيج لعوب من "العقيد" (شخص مسؤول) و "kernel" (كما في Linux) ، ويمثل مسؤول النظام.
قم بتشغيل حاوية OnetimesCret:
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecret/onetimesecret:latest ملاحظة: استبدل onetimesecret/onetimesecret:latest باسم صورتك إذا قمت بإنشائها محليًا.
يجب الآن تشغيل OneTimesCret على http://localhost:3000 .
آه نعم ، مفارقة سودو الكلاسيكية! ها هي محاولتي للتعامل مع هذا بوضوح:
يغطي هذا الدليل تثبيت OneTimesCret يدويًا ، سواء كنت تعمل مع بيئة تطوير موجودة أو تبدأ من نظام جديد.
المكونات المطلوبة:
أولاً ، تحقق مما إذا كان لديك التبعيات المطلوبة:
ruby --version # Should be 3.1+
bundler --version # Should be 2.5.x
node --version # Should be 20+
pnpm --version # Should be 9.2+
redis-server -v # Should be 5+لتثبيت النظام الجديد ، اتبع هذه الخطوات:
مهم
إذا ابتداءً من الحد الأدنى من نظام (مثل حاوية دبيان جديدة) ، فقم بتثبيت sudo أولاً:
# Only if starting as root on a minimal system
apt update && apt install -y sudoتثبيت تبعيات النظام:
# For Debian/Ubuntu systems:
sudo apt update
sudo apt install -y git curl build-essential libyaml-dev libffi-dev redis-server ruby3.1 ruby3.1-dev
# Install package managers
sudo gem install bundler
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm install -g pnpm@latest
# Start Redis server
sudo service redis-server startملاحظة: إذا رأيت أخطاء متعلقة بالتدقيق عند تثبيت PNPM باستخدام SUDO ، فهذا أمر طبيعي في الحاويات أو أنظمة الحد الأدنى حيث تكون إمكانيات التدقيق محدودة.
git clone https://github.com/onetimesecret/onetimesecret.git
cd onetimesecret # Install Ruby dependencies
bundle install
# Install Node.js dependencies
pnpm installgit rev-parse --short HEAD > .commit_hash.txt
cp -p ./etc/config.example.yaml ./etc/config.yamlيمكنك تشغيل التطبيق بطريقتين:
الأفضل للإنتاج أو التطوير دون تغييرات الواجهة الأمامية:
pnpm run build:localetc/config.yaml : :development :
:enabled : false # For production
RACK_ENV=production bundle exec thin -R config.ru -p 3000 start
# Or for backend development
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startالأفضل لتطوير الواجهة الأمامية النشطة مع إعادة التحميل المباشر:
تمكين وضع التطوير في etc/config.yaml :
:development :
:enabled : trueبدء الخادم الرئيسي:
RACK_ENV=development bundle exec thin -R config.ru -p 3000 startابدأ خادم Vite Dev (في محطة منفصلة):
pnpm run devعند التشغيل في وضع التطوير (الخيار ب) ، يستخدم التطبيق خادم DEV في Vite لتحميل الأصول الديناميكي واستبدال الوحدة النمطية الساخنة. إليك كيف تعمل:
في وضع التطوير ( development.enabled: true
{{#frontend_development}}
< script type =" module " src =" {{ frontend_host }}/dist/main.ts " > </ script >
< script type =" module " src =" {{ frontend_host }}/dist/@vite/client " > </ script >
{{/frontend_development}} في وضع الإنتاج ( development.enabled: false
{{^frontend_development}}
{{{vite_assets}}}
{{/frontend_development}}يتيح هذا الإعداد ميزات مثل استبدال الوحدة الساخنة والتحديثات الفورية أثناء تطوير الواجهة الأمامية ، مع ضمان الأداء الأمثل في الإنتاج.
يتطلب OnEtimesCret ملف config.yaml لجميع التثبيتات. يمكن استخدام متغيرات البيئة لتجاوز إعدادات محددة ، ولكن يجب دائمًا وجود ملف config.yaml .
إنشاء ملف التكوين:
cp -p ./etc/config.example.yaml ./etc/config.yaml مراجعة وتحرير ./etc/config.yaml حسب الحاجة. على الأقل ، قم بتحديث المفتاح السري ودعمه بشكل آمن.
ملف ./etc/config.yaml هو طريقة التكوين الأساسية. يستخدم بناء جملة ERB لدمج متغيرات البيئة ، مما يسمح بالتكوين المرن:
---
:site :
:host : <%= ENV['HOST'] || 'localhost:7143' %>
:domains :
:enabled : <%= ENV['DOMAINS_ENABLED'] || false %>في هذا التنسيق:
HOST ) ، فسيتم استخدام قيمته. المجالات الرئيسية للتكوين في config.yaml :
لإعدادات سريعة أو نشرات الحاويات ، يمكنك استخدام متغيرات البيئة لتجاوز config.yaml إعدادات Yaml:
export HOST=localhost:3000
export SSL=false
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production لمختلف سيناريوهات النشر ، بما في ذلك إعدادات Docker والتطوير المحلي ، يمكنك استخدام ملف .env لتعيين متغيرات البيئة:
إنشاء ملف .env:
cp -p .env.example .env تحرير ملف .env مع التكوين المطلوب.
يعتمد الاستخدام على الإعداد الخاص بك:
للتنمية المحلية ، قم بتحميل المتغيرات قبل تشغيل التطبيق:
set -a
source .env
set +a لنشرات Docker ، يمكنك استخدام خيار --env-file :
docker run --env-file .env your-image-nameفي Docker-Cormse ، يمكنك تحديد ملف .env في Docker-corm.yml:
services :
your-service :
env_file :
- .envملف .env متعدد الاستخدامات ويمكن استخدامه في سيناريوهات النشر المختلفة ، مما يوفر المرونة في كيفية إدارة متغيرات البيئة الخاصة بك.
config.yaml مطلوب دائمًا ، حتى عند استخدام متغيرات البيئة..env ، ولكن ليس كلاهما ، لتجنب الالتباس.config.yaml ، فسيتم استخدام القيم الحرفية فقط في التكوين. مهم
استخدم قيمة آمنة للمفتاح SECRET كمتغير للبيئة أو site.secret etc/config.yaml بمجرد تعيين ، لا تغير هذه القيمة. قم بإنشاء وتخزين نسخة احتياطية في موقع آمن خارج الموقع. قد يؤدي تغيير السر إلى منع فك تشفير الأسرار الموجودة.
للحصول على قائمة كاملة بخيارات التكوين المتاحة ، راجع التعليقات في ملف config.example.yaml .
لإنشاء مفتاح سري آمن وعشوائي 256 بت (32 بايت) ، يمكنك استخدام الأمر التالي مع OpenSSL:
openssl rand -hex 32 إذا لم يتم تثبيت OpenSSL ، فيمكنك استخدام أمر dd كاحتياطي:
dd if=/dev/urandom bs=32 count=1 2> /dev/null | xxd -p -c 32 ملاحظة: بينما يوفر الأمر dd بديلاً معقولًا ، يوصى باستخدام OpenSSL لأغراض التشفير.
إذا واجهت الخطأ "اسم الحاوية"/onetimesecret "قيد الاستخدام بالفعل":
# If the container already exists, you can simply start it again:
docker start onetimesecret
# OR, remove the existing container
docker rm onetimesecret بعد إزالة الحاوية ، يمكنك تشغيل أمر docker run العادي مرة أخرى.
بالنسبة إلى Docker Compose Setup ، راجع Docker المخصص Compose Repo.
لتشغيل في وضع التصحيح:
ONETIME_DEBUG=true bundle exec thin -e dev start عند تشغيل خادم Vite في وضع التطوير ، سيتم إعادة تحميله تلقائيًا عند تغيير الملفات. تأكد من ضبط RACK_ENV على development أو development.enabled تم ضبط etc/config على false .
نستخدم إطار عمل pre-commit للحفاظ على جودة الرمز. لإعداده:
تثبيت ما قبل الالتزام:
pip install pre-commitقم بتثبيت خطافات GIT:
pre-commit installسيضمن ذلك أن يتم تشغيل السنانير قبل الالتزام قبل الالتزام ، مما يساعد على الحفاظ على جودة الرمز واتساقه.
لرؤية طبقات الصورة وتحسين البناء الخاص بك ، استخدم:
docker history < image_id >عند النشر في الإنتاج ، تأكد من ذلك:
مثال على نشر الإنتاج:
export HOST=example.com
export SSL=true
export [email protected]
export REDIS_URL=redis://username:password@hostname:6379/0
export RACK_ENV=production
docker run -p 3000:3000 -d --name onetimesecret
-e REDIS_URL= $REDIS_URL
-e COLONEL= $COLONEL
-e HOST= $HOST
-e SSL= $SSL
-e RACK_ENV= $RACK_ENV
onetimesecretتأكد من تأمين جميع المعلومات الحساسة بشكل صحيح وعدم تعرضها في البرامج النصية للنشر أو البيئة.
يقدم هذا القسم نظرة عامة على الخدمات المشابهة لمشروعنا ، وتسليط الضوء على ميزاته الفريدة وكيفية مقارنةها. قد تكون هذه البدائل مفيدة للمستخدمين الذين يبحثون عن وظائف محددة أو الرغبة في استكشاف خيارات مختلفة في نفس المجال. من خلال تقديم هذه المعلومات ، نهدف إلى منح مستخدمينا رؤية شاملة للخيارات المتاحة في مساحة مشاركة المعلومات الآمنة.
ملاحظة: اقترح مستشارنا القانوني الداخلي (Codium-PR-Agent-Pro BOT) إضافة هذه المقدمة وإخلاء المسؤولية في النهاية.
| عنوان URL | خدمة | وصف | ميزة مميزة |
|---|---|---|---|
| https://pwpush.com/ | دافع كلمة المرور | أداة تستخدم ملفات تعريف الارتباط للمتصفح لمساعدتك على مشاركة كلمات المرور والمعلومات الحساسة الأخرى. | روابط مؤقتة للتدمير الذاتي لمشاركة كلمة المرور |
| https://scrt.link/en | مشاركة سر | خدمة تتيح لك مشاركة المعلومات الحساسة بشكل مجهول. حاسم بالنسبة للصحفيين والمحامين والسياسيين والمبلغين عن المخالفات والأفراد المضطهدين. | مجهول ، تبادل الرسائل التدمير الذاتي |
| https://cryptgeon.com/ | Cryptgeon | خدمة لمشاركة الأسرار وكلمات المرور بشكل آمن. | يقدم مولدًا سريًا ومولدًا كلمة المرور والقبو السرية |
| https://www.vanish.so/ | تختفي | خدمة لمشاركة الأسرار وكلمات المرور بشكل آمن. | رسائل تدمير الذات مع تشفير قوي |
| https://password.link/en | password.link | خدمة لإرسال وتلقي معلومات حساسة بشكل آمن. | تأمين إنشاء الارتباطات لمشاركة المعلومات الحساسة |
| https://sebsauvage.net/ | sebsauvage.net | موقع ويب يقدم معلومات وخدمات مختلفة. | برنامج لاستعادة أجهزة الكمبيوتر المسروقة |
| https://www.sharesecret.co/ | SharesEcret | خدمة لمشاركة كلمات المرور بشكل آمن في Slack والبريد الإلكتروني. | تأمين كلمة المرور مشاركة مع سلاك وتكامل البريد الإلكتروني |
| https://teampassword.com/ | TeamPassword | مدير كلمة المرور للفرق. | إدارة كلمة مرور الفريق السريعة وسهلة الاستخدام وتأمين |
| https://secretshare.io/ | حصة سرية | خدمة لمشاركة كلمات المرور بشكل آمن. | تشفير قوي للبيانات في العبور والراحة |
| https://retriever.corgea.io/ | المسترد | خدمة لطلب الأسرار بشكل آمن. | طلب سري آمن واسترجاع مع التشفير |
| https://winden.app/s | ويندين | خدمة لمشاركة الأسرار وكلمات المرور بشكل آمن. | ينقل الملفات بشكل آمن مع تشفير شامل |
| https://www.snote.app/ | مخاط | مساحة عمل تركز على الخصوصية مع تشفير شامل. | تأمين التعاون في المشاريع والمهمة والمهام والملفات المشتركة |
| https://www.burnafterreading.me/ | حرق بعد القراءة | خدمة لمشاركة أنواع مختلفة من المعلومات الحساسة. | رسائل التدمير الذاتي مع تشفير عبارة مزارع Diceware |
| https://pvtnote.com/en/ | Pvtnote | خدمة لإرسال رسائل خاصة التدمير الذاتي. | تصميم نظيف مع رسائل التدمير الذاتي |
| https://k9crypt.xyz/ | K9Crypt | منصة رسائل آمنة ومجهولة. | تشفير من طرف إلى طرف مع حذف الرسائل لمدة ساعتين |
ملخص ، جلبه ، ومجمعه بواسطة Cohere Command R+، من تنسيقه من قبل Claude 3.5 Sonnet ، وتصحيحها بواسطة Github Copilot.
إن إدراج هذه الخدمات في هذه القائمة لا يعني تأييدًا. يتم تشجيع المستخدمين على إجراء أبحاثهم الخاصة والعناية الواجبة قبل استخدام أي من الخدمات المدرجة ، خاصة عند التعامل مع المعلومات الحساسة.