OldWeb.Today (OWT) هو نظام يربط متصفحات الويب المحاكاة بمحفوظات الويب ، مما يسمح للمستخدمين بتصفح الويب القديم ، اليوم ، كما كان!

(لقطة شاشة: https://oldweb.today/؟browser=ns3-mac#19960101/http://geocities.com/)
يتيح OldWeb.Today للمستخدمين تصفح الويب باستخدام أحد المتصفحات العديدة المقاهي بالإضافة إلى محاكي فلاش ، وكلها تعمل بالكامل في المتصفح!
أدخل عنوان URL ، واختر تاريخ الأرشيف ، وحدد متصفحًا للبدء!
يمكن للمستخدمين إما تصفح الويب المباشر أو مواقع الويب الحالية أو الاتصال بأرشفة الويب / آلات Wayback وتحميل المحتوى مباشرة من الأرشيف.
راجع OldWeb.Today للحصول على أحدث قائمة المتصفحات. الهدف من ذلك هو دعم المشترك (Netscape ، IE ، إلخ ..) بالإضافة إلى المتصفحات الأخرى الأقل شهرة ، ولكن البارزة في تاريخ الويب.
إذا كنت ترغب في رؤية متصفح مدعوم ، أو ترغب في المساهمة في متصفح ، فيرجى فتح مشكلة!
معظم إصدارات Netscape و IE المتوفرة في OldWeb.Today لديها إصدارات مبكرة من Java مثبتة.
يجب أن تعمل Java 1.0 في Netscape 3 ، ويجب أن تعمل Java 1.1 في Netscape 4 (Windows) و IE 5 و IE 6.
يجب أن يكون لدى Netscape و IE أيضًا أحدث إصدار مدعوم من Flash مثبت. بالنسبة لمتصفحات MAC ، هذا يعني عادة الصدمة 4.
يحتوي IE 6 Browser على Flash 9 ، وهو أحدث إصدار من Flash الذي يعمل على Win98 مثبت.
يدعم OldWeb.Today أيضًا محاكي Flash Flash مباشرةً ، باستخدام متصفحك الأصلي.
في هذا الوضع ، يمكنك تصفح أي موقع ويب مباشر أو مؤشف ، مع تمكين محاكي Ruffle.
يعمل هذا الإصدار الحالي بالكامل في JavaScript ، باستخدام المحاكيات لتشغيل Windows و MacOS ومكدس شبكة كامل. كل شيء يعمل في متصفحك ، ويمكن استضافة OldWeb.Today كموقع ثابت. يتم استخدام وكيل CORS عن بُعد بسبب قيود CORS للوصول إلى المحفوظات الخارجية.
إصدار OldWeb.Today يعمل عن طريق البناء على عدد من الأدوات الرائعة التي أنشأها آخرون ، بما في ذلك: بما في ذلك: بما في ذلك:
تم تعديل كل من هذه المحاكيات (هنا وهنا) لدعم مكدس شبكة JavaScript مخصص باستخدام PICOTCP التي تم إنشاؤها بواسطة مضاهاة كمطوري خدمة Rafael Gieshke و Klaus Rechert:
تم تعديل هذا النظام ودمجه في OldWeb.Today للاتصال بإنهاء اتصالات HTTP من المتصفحات المحاكاة والاستجابة مع بيانات HTTP من طلب fetch() العادي ، إما للعيش على الويب أو مصدر أرشيف. في الوقت الحالي ، يتم دعم الطلبات فقط ، ولا يتم عرض سوى الرؤوس ذات الطابع القياسي لطول المحتوى ونوع المحتوى.
يتم تكوين كل متصفح للاتصال عبر وكيل HTTP إلى IP الخاص http://10.0.2.2/ الذي يعيد توجيه خادم JS HTTP إلى الصفحة الرئيسية الفعلية. وبهذه الطريقة ، تحتوي صورة المحاكي على صفحة رئيسية ثابتة تحل إلى الصفحة الفعلية. وبالمثل ، يتم استخدام الطابع الزمني المحدد على الصفحة بواسطة خادم JS Proxy لتحميل التاريخ المحدد من الأرشيف.
يسمح هذا بتغيير DateTime وعنوان URL للصفحة الرئيسية دون إعادة تشغيل المحاكي ، ببساطة عن طريق إعادة تحميل الصفحة الرئيسية في المتصفح المحاكاة.
يتم تشغيل مكدس الشبكة (تم تجميعه إلى WASM) في عامل ويب منفصل. يتم تجميع محاكي Basilisk باستخدام emscripten ويعمل أيضًا في عامل منفصل. هناك حاجة إلى مشاركة في التواصل بينهما. يعمل محاكي V86 في الخيط الرئيسي ويتواصل عبر عامل الشبكة عبر رسائل BroudcastChannel.
بالنسبة للوضع الأصلي / محاكي الكشكش ، لا يتم استخدام أي متصفح محاكاة ، ولكن يتم حقن محاكي الكشكش في صفحات محملة لتولي أي وميض قد يكون موجودًا على الصفحة.
يتطلب OldWeb.Today عقدة ومدير حزمة NPM/YARN للبناء والتعديل.
لتشغيل محليًا ، قم بالتثبيت أولاً مع yarn install
يتمثل خيار النشر الموصى به للتطوير في تشغيل خادم DEV مع وكيل CORS محلي. يمكن القيام بذلك ببساطة عن طريق تشغيل خادم Rollup Dev مع:
yarn run start-dev سيبدأ هذا خادم ويب محلي (عبر Rollup) ويجب أن تكون قادرًا على الوصول إلى OldWeb.Today عبر http://localhost:10001/ . سيتم تشغيل الوكيل المحلي على http://localhost:10001/proxy/
بالنسبة للإنتاج ، يتم تشغيل النشر الموصى به باستخدام CloudFlare Comply ، الذي يتولى وكيل الويب المباشر. يجب أن تكون الخدمة المجانية كافية لمعظم حالات الاستخدام.
لاستخدام هذا الخيار:
worker-site ، نسخ wrangler.toml.sample إلى wrangler.toml .account_id name وفقًا لتعليمات التكوين.yarn run publish للنشر إلى نقطة نهاية CloudFlare للعامل. يمكن نشر OldWeb.Today على النشر الأكثر بساطة ، من خلال خدمة المحتوى في دليل ./site عبر خادم HTTP.
ومع ذلك ، لن يتضمن هذا الخيار وكيل CORS ، وهو مطلوب للتحميل من الويب المباشر أو أرشيف بعيد.
يتمثل أحد الخيارات في التشغيل باستخدام وكيل CORS المتوفر للجمهور للاتصال بالواقع الحية والأرشيفات عن بُعد.
نظرًا لأن هذا الوكيل محدود ، لا ينصح بهذا الخيار لنشر الإنتاج.
هذا النشر أمر منطقي إذا كان تشغيل أرشيف ويب محلي على نفس المضيف (وليس هناك حاجة إلى الوصول إلى الويب المباشر) ، مما يؤدي إلى إزالة الحاجة إلى وكيل CORS.
لاستخدام هذه الطريقة:
rollup.config.js ، قم بتعديل CORS_PREFIX و/أو ARCHIVE_PREFIX للإشارة إلى أرشيف محلي ، على سبيل المثال (انظر أدناه لمزيد من التفاصيل): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; قم بتشغيل yarn run build
يمكن الآن تقديم OldWeb.Today من ./site/ من أي خادم HTTP ثابت.
لاحظ أنه عند التشغيل على CloudFlare ، يتم تقديم الأصول الثابتة في site/assets والبرامج النصية المصممة من site/dist من CDN منفصل (عبر DigitaloCean).
يمكن تغيير هذا المسار عن طريق إعادة البناء بعد تغيير CDN_PREFIX في rollup.config.js
يمكن استضافة الأصول والبرامج النصية على أي تخزين ثابت على الويب.
يمكن تغيير مسارات التحميل أدناه عن طريق تغيير الإعدادات في rollup.config.js وإعادة تشغيل yarn run build .
حاليًا ، يدعم OldWeb.Today التحميل من آلة Wayback Archive الخاصة بالإنترنت ومباشرة من الويب المباشر. يتم التخطيط لدعم المحفوظات الإضافية / المتعددة!
يمكن أن يكون مصدر الأرشيف هو أي أرشيف ويب يدعم عناوين URL لآلة الجهاز غير المكتسب ، على سبيل المثال: <prefix>/<timestamp>id_/<url> . يجب أن يدعم الأرشيف إرجاع المحتوى غير المعدل حتى يعمل.
لتشغيل مع أرشيف ويب مختلف ، ما عليك سوى تغيير مسار ARCHIVE_PREFIX للإشارة إلى مثيل جهاز Wayback الذي ترغب في استخدامه.
إذا تم التحميل من جهاز Wayback الذي تم استضافته على نفس المجال ، فقد لا يكون وكيل CORS ضروريًا.
على سبيل المثال ، إذا كان تشغيل oldweb.today على مضيف mywebarchive.example.com وهناك جهاز تيبس يعمل على https://mywebarchive.example.com/wayback/ ، ثم يمكنك ضبط
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"إذا كان OldWeb.today ساخنًا على موقع مختلف ، فيجب أن يكون التكوين:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"يتم استضافة جميع صور المحاكي من دلو تخزين كتلة ثابتة (حاليًا على الرقمية). إذا كنت ترغب في الركض مع مجموعة محلية/مختلفة من الصور ، يمكنك ضبط:
IMAGE_PREFIX = "https://mybucket.example.com/images` لتغيير assets ومسارات dist (لنشر CloudFlare) ، يمكنك ضبط:
CDN_PREFIX = "https://mybucket.example.com/site` يتم تكوين المتصفحات المتاحة في src/config.json ، والتي تحتوي على اسم المتصفح ، ونوع المحاكي ، والصور ، والحالة المحفوظة (ل V86) وخيارات أخرى أو كل متصفح. يتم تشكيل config.json مع IMAGE_PREFIX ويتم تقديمه من site/assets/config.json .
لاختبار محاكي محلي ، قم بإنشاء إدخال w/o باستخدام IMAGE_PREFIX . انظر config.json لمزيد من التفاصيل.
يمكن العثور على الإصدار "الكلاسيكي" من OldWeb.Today ، الذي يستخدم حاويات Docker والمحاكيات التي تعمل على الخادم ، هنا: Classic.oldweb.today المصدر: https://github.com/oldweb-today/netcapsule
OldWeb.Today متاح بموجب ترخيص AGPL. قد تكون المكونات الأخرى (المدرجة أعلاه) متاحة بموجب تراخيص مختلفة.
انظر إشعار. md لمزيد من التفاصيل.
من المؤكد أن المساهمات موضع ترحيب ، ولكن يرجى فتح مشكلة قبل المساهمة بالمتصفحات أو المحاكيات الإضافية.