
وكيل HTTP/HTTPS عبر SSH
وكيل HTTP/HTTPS عبر SSH.
go install github.com/justmao945/mallory/cmd/mallory@latestالمسار الافتراضي هو $HOME/.config/mallory.json، يمكن تعيينه عند بدء البرنامج
mallory -config path/to/config.json
المحتوى:
id_rsa هو مسار ملف المفتاح الخاص بنا، يمكن إنشاؤه بواسطة ssh-keygenlocal_smart هو العنوان المحلي لخدمة وكيل HTTP مع كشف ذكي للمضيف الوجهةlocal_normal مشابه لـ local_smart لكن يرسل كل الحركة عبر خادم SSH البعيد دون كشف المضيف الوجهةremote هو العنوان البعيد لخادم SSHblocked هي قائمة من النطاقات التي تحتاج إلى استخدام الوكيل، أي نطاق آخر سيتصل بخادمه مباشرة{
"id_rsa": "$HOME/.ssh/id_rsa",
"local_smart": ":1315",
"local_normal": ":1316",
"remote": "ssh://[email protected]:22",
"blocked": [
"angularjs.org",
"golang.org",
"google.com",
"google.co.jp",
"googleapis.com",
"googleusercontent.com",
"google-analytics.com",
"gstatic.com",
"twitter.com",
"youtube.com"
]
}
سيتم إعادة تحميل قائمة الحظر في ملف الإعداد تلقائياً عند تحديثها، ويمكنك القيام بذلك يدوياً:
# إرسال إشارة لإعادة التحميل
kill -USR2 <pid of mallory>
# أو استخدم أمر إعادة التحميل بإرسال طلب HTTP
mallory -reload
localhost مع المنفذ 1315 لاستخدام قائمة الحظرhttp_proxy و https_proxy إلى localhost:1316 للاستخدام في الطرفيةmallory -suffix www.google.com
# تثبيته: go get github.com/justmao945/mallory/cmd/forward
# سيتم توجيه كل الحركة عبر المنفذ 20022 إلى destination.com:22
forward -network tcp -listen :20022 -forward destination.com:22
# يمكنك الاتصال بـ destination:22 عبر localhost:20022
ssh root@localhost -p 20022
بالنظر إلى ملف الإعداد التالي:
$ cat mallory.json
{
"id_rsa": "/tmp/id_rsa",
"local_smart": ":1315",
"local_normal": ":1316",
"remote": "ssh://[email protected]:22"
}
يمكنك تشغيل الحاوية (zoobab/mallory) بتركيب ملف الإعداد، مفتاح SSH، وربط المنفذين:
$ docker run -v $PWD/mallory.json:/root/.config/mallory.json -p 1316:1316 -p 1315:1315 -v $PWD/.ssh/id_rsa:/tmp/id_rsa zoobab/mallory
mallory: 2020/03/30 16:51:10 main.go:22: Starting...
mallory: 2020/03/30 16:51:10 main.go:23: PID: 1
mallory: 2020/03/30 16:51:10 config.go:103: Loading: /root/.config/mallory.json
mallory: 2020/03/30 16:51:10 main.go:30: Connecting remote SSH server: ssh://[email protected]:22
mallory: 2020/03/30 16:51:10 main.go:38: Local normal HTTP proxy: :1316
mallory: 2020/03/30 16:51:10 main.go:48: Local smart HTTP proxy: :1315
حالة استخدامي كانت الاتصال بمجموعة Kubernetes (Openshift) مثبتة خلف حصن SSH:
$ export http_proxy=http://localhost:1316
$ export https_proxy=https://localhost:1316
$ oc login https://master.mycluster.zoobab.com:8443
Authentication required for https://master.mycluster.zoobab.com:8443 (openshift)
Username: bhenrion
Password:
Login successful.