هذه هي قاعدة بيانات URL ذاكري، ومعيد التوجيه، ومحرك البحث.
تتمثل الوظيفة الأساسية لهذه الأداة في إعادة توجيه المستخدمين مباشرة إلى عنوان URL المرتبط بالكلمة الرئيسية التي كانوا يصلون إليها. من الصعب تذكر عناوين URL وكتابتها، ولكنها أسهل في الاستخدام إذا تمت تسميتها بإيجاز. يتم تسمية الروابط أو وضع علامة عليها ووضعها في قوائم تم تحديدها بواسطة الكلمات الرئيسية . هذه الكلمات الرئيسية عبارة عن سلاسل معروفة وبديهية يتوصل إليها المستخدمون والتي تصف القائمة أو الرابط المطلوب.
وتتمثل الوظيفة الثانوية في توفير مكان لتنظيم قوائم بأحدث الروابط لموضوع معين.
إذا أراد المستخدمون البحث عن معلومات عن كوكب المريخ، فيمكنهم كتابة go2 mars
في عنوان URL/شريط البحث بالمتصفح الخاص بهم. قد يؤدي هذا إلى إعادة التوجيه مباشرةً إلى رابط أو قائمة روابط حول الكوكب. تخيل أن هناك روابط أو مقالات متعددة حول المريخ موجودة في هذه القائمة. كيف يمكن للمستخدم الحصول على مزيد من المعلومات حول القمر فوبوس، من خلال الذهاب إليه مباشرة في عملية بحث واحدة؟ يمكن لأمناء القائمة وضع علامة على أحد الروابط الموجودة في القائمة باستخدام phobos
. الآن يمكن للمستخدمين كتابة go2 mars/phobos
في شريط البحث/عنوان URL الخاص بهم. أصبح هذا الرابط الآن بمثابة إعادة التوجيه الأساسية لأي شخص يبحث عن مزيد من المعلومات حول قمر المريخ.
يتبع معيد التوجيه go2 نموذجًا يشبه ويكيبيديا لإضافة البيانات وحذفها وتنظيمها بناءً على المجتمع. إذا اتفق المستخدمون بشكل جماعي على ما تعنيه الكلمات الرئيسية واتفقوا بدورهم على ما يجب أن تكون عليه قائمة تلك الكلمات الرئيسية، فإن النتيجة هي فهم المجموعة الأكثر دقة لهذه الكلمات الرئيسية التذكيرية في أي لحظة معينة. كلما زاد عدد الأشخاص الذين يستخدمون معيد التوجيه، زاد عدد المحررين لديك لتحديث الأمور.
لإعداد التطبيق، يجب إنشاء تكوين أولي وقاعدة بيانات ارتباط فارغة. للقيام بذلك، قم بتشغيل البرنامج النصي للتثبيت من سطر الأوامر.
./install.sh
سيؤدي هذا إلى وضع ملف godb.json
على القرص في الدليل الجذر للمشروع، ثم سيتم كتابة ملف التكوين العام go2config.json
في نفس الدليل. الإعدادات الافتراضية في ملف التكوين كافية للبدء، ولكن قم بإلقاء نظرة عليها لفهم الإعدادات المتاحة.
يحتاج معيد التوجيه إلى أن يتم تجميعه كخطوة ثانية وأخيرة من الإعداد. من المفترض أن تؤدي go build
البسيطة في جذر المشروع إلى إنشاء ملف قابل للتنفيذ. قم بتشغيل هذا الملف القابل للتنفيذ بدون وسائط لرؤية معيد التوجيه يبدأ، ويستمع على منفذ سريع الزوال.
تم تضمين Dockerfile
متعدد المراحل هنا لتسهيل عملية بناء الملف الثنائي وتوفير حاوية قابلة للتشغيل. حاوية البناء الأولية ضخمة وتم التخلص منها لصالح حاوية وقت تشغيل أصغر تعتمد على نظام Linux في جبال الألب. هناك ثلاثة عناصر لبناء الحاوية وتشغيلها: إنشاء قاعدة بيانات الارتباط واستمرارها وتشغيل الحاوية.
يمكن إنشاء الحاوية باستخدام: docker build -t go2redirector .
إذا كنت ترغب في فحص حاوية البناء نفسها للتحقق من/تصحيح أخطاء بيئة البناء، فيمكنك الوصول إليها عن طريق استهداف حاوية البناء بالاسم.
docker build --target builder -t go2build .
يمكنك إنشاء وحدة تخزين محليًا للمساحة الدائمة خارج الحاوية لـ godb.json
. سيسمح هذا للحاوية الخاصة بك باستخدام نفس godb في كل مرة يتم تنفيذها. اترك هذا الإجراء إذا كنت لا ترغب في حفظ قاعدة البيانات بين عمليات تشغيل الحاوية.
docker volume create go2
docker volume inspect go2
الآن قم بتشغيل الحاوية باستخدام وحدة التخزين. سيؤدي هذا إلى تشغيل الحاوية في الوضع الخفي وإزالتها عندما تتوقف.
docker run --rm -p 8080:8080 -d -v go2:/home/gouser/data go2redirector
لاحظ أنه ليس لديك استخدام لحجم مثل هذا. قد يعمل أيضًا ربط الربط بدليل موجود آخر.
سوف يستمع معيد التوجيه إلى 0.0.0.0:8080
داخل الحاوية، بدلاً من الإعداد الافتراضي 127.0.0.1
من go2config.json (الافتراضي).
لرؤية السجلات من الحاوية، تتم إعادة توجيهها جميعًا إلى stdout، حتى تتمكن من عمل docker logs <name of running container>
يجب أن يتم تشغيل go2redirector على localhost:8080
الآن. يمكنك القيام بذلك مباشرة، أو لتسهيل الأمور، يمكنك تكوين متصفحك باستخدام كلمة رئيسية بحث جديدة مثل go2
.
يحتوي كل متصفح على إجراء تكوين مختلف قليلاً لتمكين محركات البحث عن الكلمات الرئيسية.
localhost:8080
(أو أي عنوان URL تقوم بتشغيل معيد التوجيه عليه) في Firefox.go2
go2
.http://localhost:8080/?keyword=%s
الآن يمكن استخدام متصفحك للوصول إلى go2redirector مثل محرك البحث. قم بتعيين الكلمة الأساسية على go2
واستخدم مربع البحث
go2 wiki/es
إذا تمت إعادة توجيه متصفحك إلى النسخة الإسبانية من ويكيبيديا، فأنت جاهز تمامًا.
.
بادئة لأي كلمة رئيسية./
في إدخال مستخدم سلسلة إعادة التوجيه. على سبيل المثال، قد يحتوي go2 planets/mars/weather
على حقول "planets" (الكلمة الأساسية)، و"mars" (العلامة)، و"weather" المعلمة.يبدأ تنظيم قائمة الروابط باختيار كلمة رئيسية بديهية. هذا هو الاسم الذي سيتذكره الأشخاص بقائمة الروابط هذه. فكر في الكلمة الرئيسية ومدى عموميتها. وهل ينطبق على القوائم المحتملة الأخرى؟ إذا كان الأمر كذلك، فربما يمكنك التوصل إلى اسم كلمة رئيسية أكثر تحديدًا أو الجمع بين القائمتين.
العلامة هي اسم للرابط ضمن قائمة الروابط. العلامة هي الحقل الثاني (الاختياري) الذي يكتبه المستخدم في إعادة توجيه go2. إذا كانت لديك قائمة بأقمار المريخ، فيمكنك وضع علامة على أحدها بـ "phobos" والآخر بـ "deimos"، مما يؤدي إلى إعادة توجيه مثل go2 mars/phobos
للانتقال مباشرة إلى أي رابط يصف ذلك القمر. العلامات اختيارية. إذا تم تحديد حقل ثانٍ من قبل المستخدم، يحاول معيد التوجيه تحديد موقع علامة في القائمة بهذا الاسم. إذا فشل في العثور على واحد، فسيتم التعامل مع الحقل الثاني كمعلمة بديلة للارتباط.
إذا تمت إضافة رابط باستخدام عنوان URL لدينا بالفعل رابط له ضمن بعض الكلمات الرئيسية الأخرى، فإننا نسمح لك بإنشاء رابط جديد تمامًا لأنه قد يكون لديك عنوان آخر وارتباطات مختلفة للكلمات الرئيسية. إذا حاولت إضافة رابط مكرر، فسوف تظهر لك كلمات رئيسية أخرى تستخدم الرابط بالفعل عند النظر إلى صفحة النقاط.
يعد حقل الإدخال الموجود أعلى يسار صفحة الفهرس هو نقطة الدخول الرئيسية للتطبيق. هذا هو الحقل الذي يمكن للمستخدمين كتابة مجموعات الكلمات الرئيسية/العلامة/المعلمات فيه للوصول إلى إعادة التوجيه أو إنشاء مجموعات جديدة.
يمكن أن يكون للارتباطات تاريخ محدد يحدد عمر الارتباط في قاعدة بيانات الارتباط. بشكل افتراضي، لا تنتهي صلاحية الروابط أبدًا. يمكن للمستخدمين إدخال فترات حياة الارتباط المختلفة. الأكثر تميزًا بين جميع فترات عمر الارتباط المحدد هو "النسخ بعد القراءة" وهو بالضبط ما يبدو عليه الأمر. سيقوم التطبيق بتدمير الرابط بعد أن يستخدمه شخص واحد كإعادة توجيه. يعد هذا مفيدًا للروابط التي ستستخدمها أو تشاركها مرة واحدة فقط. يجب عليك تحديد عمر معقول للارتباط إذا لم يكن سيستمر إلى الأبد. هذا هو الشكل السلبي للتنظيم في التطبيق، حيث تتم إزالة الروابط عند حلول تاريخ انتهاء صلاحيتها.
لفرض الوصول إلى صفحة القائمة الخاصة بكلمة رئيسية (بغض النظر عن سلوك القائمة)، ما عليك سوى بادئة تلك الكلمة الرئيسية بنقطة أو لاحقتها بشرطة مائلة للأمام. سيؤدي القيام بذلك إلى عرض صفحة القائمة حيث يمكن تغيير الروابط أو وضع علامة عليها.
يمكن أن تحتوي الروابط الموجودة في القائمة على {1}
في أي مكان في عنوان URL لتكون بمثابة سلسلة بديلة لمعلمة موضعية واحدة يوفرها المستخدم. في الوقت الحالي، ندعم معلمة واحدة فقط، ولكن هذا قد يتغير إذا كان هناك سبب مقنع لمعلمتين أو أكثر. في الإصدار السابق من معيد التوجيه، كانت هذه الأنواع من الروابط ذات البدائل تسمى الروابط "الخاصة" واستخدمت {*}
كسلسلة بديلة. على سبيل المثال، يمكن أن تحتوي الكلمة الرئيسية go2 planets
على عدد قليل من الروابط الموسومة بأسماء الكواكب المختلفة. يمكن أن يحتوي كل عنوان URL لرابط على السلسلة البديلة {1}.
بالنسبة لإدخال المستخدم لـ go2 planets/mars/weather
سيحدد go2redirector الكلمة الأساسية planets
، ويبحث عن الرابط الموسوم بـ mars
، ويحصل على عنوان URL الخاص به وهو www.nasa.gov/planets/mars/{1}.php
.php، ويقوم بإجراء الاستبدال بـ www.nasa.gov/planets/mars/weather.php
. وأخيرًا، ستتم إعادة توجيه المستخدم إلى عنوان URL هذا.
أحتاج إلى كل المساعدة التي يمكنني الحصول عليها لجعل مستوى المبتدئين الخاص بي يبدو أجمل. هناك ميزات جديدة نريد إضافتها ولا يوجد عدد كافٍ من الأشخاص للقيام بذلك. إذا كنت ترغب في المساهمة، فما عليك سوى تفرع المستودع وإرسال تقرير العلاقات العامة! قم بتقديم أي طلبات تحسين أو أخطاء في أداة تعقب المشكلات هنا في مشروع go2redirector.
راجع CONTRIBUTING.md
لمزيد من المعلومات.
تم تصميم معيد التوجيه الأصلي f5go بواسطة Saul Pwanson، بمساعدة Bryce Bockman وTreebird(tm).