
إدارة Onion Services الخاصة بك عبر CLI أو TUI على نظام تشغيل Unix-like مع شل متوافقة مع POSIX.
OnionJuggler هو مجموعة متطلبات بسيطة، مجموعة محمولة من النصوص البرمجية والوثائق لمساعدة مشغل الخدمة على إدارة (juggle) خدماته البصلية.
تحذير: لا تثق بهذا المستودع بعد، احتفظ بنسخة احتياطية من مفاتيح hs الخاصة بك في موقع آخر. هذا المشروع لم يتم إصداره بعد ويجب اعتباره مخصصًا للتطوير فقط.
رابط سريع لهذا المستودع: git.io/onionjuggler

بدأ هذا المشروع بعد رؤية نصوص OnionShare CLI python scripts الرائعة، والتي تتيح خدمات بصلية مؤقتة لا تلمس القرص ويمكن تشغيلها على Tails أو Whonix بسهولة. ثم بعد رؤية نص باش لخدمة البصل RaspiBlitz للـ Raspberry Pi، جاءت فكرة نقله إلى أي توزيعة دبيان. عندما نمت الفكرة، أصبح استخدام GNU Bash و Linux نقطة فشل واحدة 1 2، لذا فإن جعل النص متوافقًا مع POSIX ليكون متوافقًا مع أي نظام شبيه بيونكس كان هدفًا حاسمًا.
هدف هذا المشروع هو:
التخفيف من نقطة فشل واحدة:
Linux إلى BSD وأي نظام شبيه بيونكس آخر.Bash إلى أي شل POSIX مثل ksh و (y,d)ash و Zsh (محاكاة sh).Systemd إلى RC و OpenRC و SysVinit و Runit.تحرير ملف تكوين tor (torrc) ليس صعبًا، لكن الأتمتة تحل مشكلة التكوين الخاطئ وتوفر:
<HiddenServiceDir>/authorized_clients/<client>.auth. إذا تم تكوين أي عميل، لن تكون الخدمة قابلة للوصول بدون توثيق.<ClientOnionAuthDir>/<SOME_ONION>.auth_private الخاص بك.عام:
البرامج المطلوبة:
dash 0.5.4+، bash 2.03+، ksh 88+، mksh R28+، yash 2.29+، busybox ash 1.1.3+، zsh 3.1.9+ (zsh --emulate sh) إلخ.البرامج الاختيارية:
برامج التطوير:
تم اختباره بشكل أساسي على أنظمة دبيان، بما في ذلك Whonix.
يمكن أن يعمل على OpenBSD -
basez من المصدر، حيث أنه غير موجود في ports.بخصوص أنظمة التشغيل الأخرى، يرجى الاطلاع على etc/onionjuggler للتكوين المحدد مسبقًا لنظام تشغيلك. لم يتم اختبارها جميعًا.
git clone https://github.com/nyxnor/onionjuggler.git
cd onionjuggler
قم بتشغيل من داخل المستودع المستنسخ لإنشاء أدلة tor، إنشاء صفحات الدليل ونسخ البرامج النصية إلى المسار:
./configure.sh --install
لا يجب تعديل التكوين الافتراضي في /etc/onionjuggler/onionjuggler.conf، سيتم تعديله في كل تحديث. يجب أن تكون التكوينات المحلية الخاصة بك في /etc/onionjuggler/conf.d/*.conf، ومن هذا المجلد، سيتم تحليلها بترتيب معجمي، وسيتم استبدال القيم الافتراضية بالقيمة الأخيرة.
لكل تكوين وبرنامج نصي صفحة دليل خاصة به ورسالة مساعدة، وهي أفضل طريقة لتعلم onionjuggler بالكامل.
قبل تنفيذ أي برنامج نصي لإجراء تغييرات، يُوصى بمعرفة الخيارات التي تم تكوينها. يحتوي كل برنامج نصي على خيار --getconf الذي سيطبع التكوين الحالي الذي يقرأه onionjuggler:
onionjuggler-cli --getconf
من الممكن أيضًا الحصول على خيارات سطر الأوامر دون إجراء تغييرات، مفيد لمعرفة ما إذا كان التعيين صحيحًا:
onionjuggler-cli --getopt --service=example --hs-version=3
لاستخدام واجهة المستخدم النصية، فقط قم بتشغيل:
onionjuggler-tui
لإنشاء خدمة عبر واجهة الأوامر:
onionjuggler-cli --on --service=terminator --socket=tcp --hs-version=3 --port="80:127.0.0.1:80"
الكثير من الأمور الأخرى ممكنة، اقرأ صفحات الدليل.
dialog و whiptail.@all لتشمل جميع الخدمات أو العملاء اعتمادًا على الخيار --service أو --client، أو قائمة الوسائط المفعّلة [SERV1,SERV2,...] و [CLIENT1,CLIENT2,...]، سيقوم الأمر بالتكرار على المتغيرات وتطبيق التركيبة.