Oldweb.today (OWT) adalah sistem yang menghubungkan browser web yang ditiru ke arsip web, yang memungkinkan pengguna untuk menelusuri web lama, hari ini, seolah -olah!

(Tangkapan layar: https://oldweb.today/?browser=ns3-Mac#19960101/http://geocities.com/)
Oldweb.today memungkinkan pengguna untuk menelusuri web menggunakan salah satu dari beberapa browser yang ditiru serta emulator flash, semuanya berjalan sepenuhnya di browser!
Masukkan URL, pilih tanggal arsip, dan pilih browser untuk memulai!
Pengguna dapat menelusuri web langsung, situs web saat ini, atau terhubung ke arsip web / mesin wayback dan memuat konten langsung dari arsip.
Lihat The OldWeb.Today untuk daftar browser terbaru. Tujuannya adalah untuk mendukung umum (Netscape, IE, dll.) Serta browser lain yang kurang dikenal, tetapi terkenal dalam sejarah web.
Jika Anda ingin melihat browser didukung, atau ingin menyumbangkan browser, silakan buka masalah!
Sebagian besar versi Netscape dan IE tersedia di OldWeb.Today memiliki versi awal Java yang diinstal.
Java 1.0 harus bekerja di Netscape 3, dan Java 1.1 harus bekerja di Netscape 4 (Windows) dan IE 5 dan IE 6.
Netscape dan IE juga harus memiliki versi terbaru dari Flash yang diinstal. Untuk browser Mac, ini biasanya berarti Shockwave 4.
Browser IE 6 memiliki Flash 9, versi terbaru dari Flash yang berjalan pada Win98 yang diinstal.
Oldweb.today juga mendukung ruffle flash emulator secara langsung, menggunakan browser asli Anda.
Dalam mode ini, Anda dapat menelusuri situs web langsung atau diarsipkan, dengan ruffle emulator diaktifkan.
Versi saat ini berjalan sepenuhnya di JavaScript, menggunakan emulator untuk menjalankan Windows, MacOS, dan tumpukan jaringan lengkap. Semuanya berjalan di browser Anda, dan OldWeb.Today dapat di -host sebagai situs statis. Proxy CORS jarak jauh digunakan karena pembatasan CORS untuk mengakses arsip eksternal.
Versi OldWeb.Today bekerja dengan membangun dan menggabungkan sejumlah alat hebat yang dibuat oleh orang lain, termasuk:
Masing -masing emulator ini dimodifikasi (di sini dan di sini) untuk mendukung tumpukan jaringan JavaScript khusus menggunakan picotcp yang dibuat oleh emulasi sebagai pengembang layanan Rafael Gieshke dan Klaus Rechert:
Sistem ini lebih lanjut dimodifikasi dan diintegrasikan ke dalam OldWeb.today untuk terhubung untuk mengakhiri koneksi HTTP dari browser yang ditiru dan merespons dengan data HTTP dari permintaan fetch() reguler, baik untuk hidup web atau sumber arsip. Saat ini, hanya mendapatkan permintaan yang didukung dan hanya header panjang konten dan tipe konten yang diproksi kembali.
Setiap browser dikonfigurasi untuk terhubung melalui proxy HTTP ke IP khusus http://10.0.2.2/ yang dialihkan server JS HTTP ke halaman beranda yang sebenarnya. Dengan cara ini, gambar emulator memiliki halaman beranda tetap yang menyelesaikan ke halaman yang sebenarnya. Demikian pula, stempel waktu yang ditetapkan pada halaman digunakan oleh server proxy JS untuk memuat tanggal yang ditentukan dari arsip.
Ini memungkinkan mengubah datetime dan URL beranda tanpa memulai kembali emulator, hanya dengan memuat ulang halaman beranda di browser yang ditiru.
Tumpukan jaringan (dikompilasi ke WASM) berjalan dalam pekerja web yang terpisah. Emulator Basilisk dikompilasi dengan Emscripten dan juga berjalan dalam pekerja yang terpisah. Diperlukan SharedArrayBuffer untuk berkomunikasi di antara mereka. Emulator V86 berjalan di utas utama dan berkomunikasi melalui pekerja jaringan melalui Pesan Penyiaran ChiadcastChannel.
Untuk emulator mode / ruffle asli, tidak ada browser yang ditiru yang digunakan, tetapi emulator ruffle disuntikkan ke halaman yang dimuat untuk mengambil alih rendering flash apa pun yang mungkin ada di halaman.
OldWeb.Today membutuhkan Node dan manajer paket NPM/Benang untuk membangun dan memodifikasi.
Untuk berjalan secara lokal, instal pertama dengan yarn install
Opsi penyebaran yang disarankan untuk pengembangan adalah menjalankan server dev dengan proxy CORS lokal. Ini dapat dilakukan hanya dengan menjalankan server rollup dev dengan:
yarn run start-dev Ini akan memulai server web lokal (via rollup) dan Anda harus dapat mengakses oldweb.today melalui http://localhost:10001/ . Proxy lokal akan berjalan di http://localhost:10001/proxy/
Untuk produksi, penyebaran yang disarankan adalah berjalan menggunakan CloudFlare Workers, yang menangani proxy web langsung. Layanan gratis harus cukup untuk sebagian besar kasus penggunaan.
Untuk menggunakan opsi ini:
worker-site , salin wrangler.toml.sample to wrangler.toml .account_id dan name Anda sesuai instruksi konfigurasi.yarn run publish untuk diterbitkan ke titik akhir CloudFlare Worker Anda. Penyebaran yang lebih sederhana, OldWeb.today dapat digunakan sepenuhnya sebagai situs statis, dengan melayani konten di direktori ./site melalui server HTTP.
Namun, opsi ini tidak akan termasuk proxy CORS, yang diperlukan untuk memuat dari web langsung atau arsip jarak jauh.
Salah satu opsi adalah berjalan dengan CORS yang tersedia untuk umum di mana saja untuk menghubungkan ke web langsung dan arsip jarak jauh.
Karena proxy ini terbatas, opsi ini tidak disarankan untuk penyebaran produksi.
Penempatan ini masuk akal jika juga menjalankan arsip web lokal pada host yang sama (dan akses web langsung tidak diperlukan), menghapus kebutuhan akan proxy CORS.
Untuk menggunakan metode ini:
rollup.config.js , modifikasi CORS_PREFIX dan/atau ARCHIVE_PREFIX untuk menunjuk ke arsip lokal, misalnya (lihat di bawah untuk detail lebih lanjut): const CORS_PREFIX = "" ;
const ARCHIVE_PREFIX = "/wayback/" ; Jalankan yarn run build
Oldweb.today sekarang dapat dilayani dari ./site/ dari server http statis mana pun.
Perhatikan bahwa saat berjalan di CloudFlare, aset statis di site/assets dan skrip yang dibangun site/dist disajikan dari CDN terpisah (melalui DigitalOcean).
Jalur ini dapat diubah dengan membangun kembali setelah mengubah CDN_PREFIX di rollup.config.js
Aset dan skrip dapat di -host di penyimpanan web statis apa pun.
Jalur pemuatan di bawah ini dapat diubah dengan mengubah pengaturan di rollup.config.js dan rerunning yarn run build .
Saat ini, OldWeb.today mendukung pemuatan dari mesin Wayback Internet Archive dan langsung dari web langsung. Dukungan untuk tambahan / beberapa arsip direncanakan!
Sumber arsip dapat berupa arsip web apa pun yang mendukung gaya mesin wayback yang belum diketahui, misalnya: <prefix>/<timestamp>id_/<url> . Arsip harus mendukung pengembalian konten yang tidak dimodifikasi agar berfungsi.
Untuk menjalankan dengan arsip web yang berbeda, cukup ubah jalur ARCHIVE_PREFIX untuk menunjuk ke instance mesin wayback yang ingin Anda gunakan.
Jika memuat dari mesin wayback yang di -host pada domain yang sama, proxy CORS mungkin tidak diperlukan.
Misalnya, jika menjalankan Oldweb.today di host mywebarchive.example.com dan ada mesin wayback yang berjalan di https://mywebarchive.example.com/wayback/ , maka Anda dapat mengatur
CORS_PREFIX = ""
ARCHIVE_PREFIX = "/wayback/"Jika oldweb.today hotsed di situs yang berbeda, maka konfigurasi harus:
CORS_PREFIX = "/proxy/"
ARCHIVE_PREFIX = "https://mywebarchive.example.com/wayback/"Semua gambar emulator di -host dari bucket penyimpanan blok statis (saat ini di Digitalocean). Jika Anda ingin menjalankan dengan set gambar lokal/berbeda, Anda dapat mengatur:
IMAGE_PREFIX = "https://mybucket.example.com/images` Untuk mengubah assets dan jalur dist (untuk penyebaran cloudflare), Anda dapat mengatur:
CDN_PREFIX = "https://mybucket.example.com/site` Peramban yang tersedia dikonfigurasi dalam src/config.json , yang berisi nama browser, jenis emulator, gambar, keadaan disimpan (untuk v86) dan opsi lain atau setiap browser. config.json diinterpolasi dengan IMAGE_PREFIX dan disajikan dari site/assets/config.json .
Untuk menguji emulator lokal, buat entri dengan menggunakan IMAGE_PREFIX . Lihat config.json untuk detail lebih lanjut.
Versi "klasik" OldWeb.Today, yang menggunakan wadah dan emulator Docker yang berjalan di server, dapat ditemukan di sini: Classic.oldWeb.today Sumber: https://github.com/oldweb-today/netcapsule
Oldweb.today tersedia di bawah lisensi AGPL. Komponen lain (tercantum di atas) mungkin tersedia di bawah lisensi yang berbeda.
Lihat pemberitahuan.md untuk detail lebih lanjut.
Kontribusi pasti diterima, tetapi buka masalah sebelum menyumbangkan browser atau emulator tambahan.