
خدمة اكتشاف النطاقات الفرعية تعتمد على واجهة برمجة التطبيقات أولاً، تستخدم سجلات الشفافية للشهادات (Certificate Transparency) لإجراء تعداد سريع وسلبي للنطاقات الفرعية عبر واجهة REST API مع إخراج بصيغة JSON أو نص عادي.
‼️ تم نقل مكون الخادم إلى https://github.com/elmasy-com/columbus.
مشروع Columbus هو خدمة اكتشاف نطاقات فرعية تعتمد على واجهة برمجة التطبيقات أولاً، وهي خدمة تعداد نطاقات فرعية سريعة للغاية مع ميزات متقدمة.
استرجع Columbus 638 نطاقًا فرعيًا لـ tesla.com في 0.231 ثانية.
افتراضيًا، يعيد Columbus النطاقات الفرعية فقط في مصفوفة سلسلة JSON:
curl 'https://columbus.elmasy.com/lookup/github.com'
لكننا فكرنا في محبي Bash، لذا إذا كنت لا تريد التعامل مع JSON وتريد قائمة مفصولة بأسطر جديدة، فقم بتضمين الرأس Accept: text/plain.
DOMAIN="github.com"
curl -s -H "Accept: text/plain" "https://columbus.elmasy.com/lookup/$DOMAIN" | \
while read SUB
do
if [[ "$SUB" == "" ]]
then
HOST="$DOMAIN"
else
HOST="${SUB}.${DOMAIN}"
fi
echo "$HOST"
done
لمزيد من المعلومات، راجع الميزات أو توثيق API.
حاليًا، يتم الحصول على المدخلات من شفافية الشهادات.
Usage of columbus-server:
-check
Check for updates.
-config string
Path to the config file.
-version
Print version informations.
-check: التحقق من أحدث إصدار على GitHub.
يطبع up-to-date ويعيد 0 إذا لم تكن هناك حاجة للتحديث.
يطبع أحدث علامة (مثل: v0.9.1) ويعيد 1 إذا كان هناك إصدار جديد متاح.
في حالة الخطأ، يطبع رسالة الخطأ ويعيد 2.
git clone https://github.com/elmasy-com/columbus-server
make build
إنشاء مستخدم جديد:
adduser --system --no-create-home --disabled-login columbus-server
إنشاء مجموعة جديدة:
addgroup --system columbus
إضافة المستخدم الجديد إلى المجموعة الجديدة:
usermod -aG columbus columbus-server
نسخ الملف الثنائي إلى /usr/bin/columbus-server.
جعله قابلًا للتنفيذ:
chmod +x /usr/bin/columbus-server
إنشاء دليل:
mkdir /etc/columbus
نسخ ملف الإعدادات إلى /etc/columbus/server.conf.
تعيين الصلاحيات إلى 0600.
chmod -R 0600 /etc/columbus
تعيين مالك ملف الإعدادات:
chown -R columbus-server:columbus /etc/columbus
تثبيت ملف الخدمة (مثال: /etc/systemd/system/columbus-server.service).
cp columbus-server.service /etc/systemd/system/
إعادة تحميل systemd:
systemctl daemon-reload
بدء تشغيل Columbus:
systemctl start columbus-server
إذا أردت أن يبدأ Columbus تلقائيًا:
systemctl enable columbus-server