Repositori ini menyediakan biner Chromium yang dikompilasi untuk AWS Lambda, kompatibel dan diuji dengan Playwright dan Puppeteer.
Kami menawarkan biner ARM_64
dan X86_64
, serta dukungan untuk Amazon Linux 2 (NodeJS 16 & 18) dan Amazon Linux 2023 (NodeJS 20+).
Sudah menggunakan Dalang atau Penulis Drama? Tidak perlu menambahkan paket NPM tambahan ke proyek Anda!
Cukup atur variabel lingkungan yang sesuai di Lambda dan Penulis Drama/Dalang akan secara otomatis mengunduh binari kami yang kompatibel dengan Lambda. Alternatifnya, Anda dapat mengunduh dan menginstal binari kami secara manual.
Untuk instalasi otomatis, atur variabel lingkungan dan Penulis Drama/Dalang akan secara otomatis mengunduh biner yang kompatibel (detail).
Untuk instalasi melalui lapisan Lambda, unduh file zip yang benar yang berisi Chromium dan dependensi yang diperlukan, lalu unggah sendiri ke Lambda (detail).
Kami berusaha keras untuk menyediakan versi Chromium yang kompatibel segera setelah dirilis secara resmi. Namun, kompilasi, debugging, dan pengujian build ini memerlukan banyak sumber daya dan memerlukan daya komputasi serta upaya manusia yang signifikan. Untuk memastikan kami dapat terus menyediakan layanan ini, kami memerlukan langganan pro atau pembayaran satu kali untuk akses ke 5 versi terbaru.
Versi Kromium | Versi Penulis Drama yang Kompatibel | Versi Dalang yang Kompatibel | Unduhan ARM | Unduh X86 |
---|---|---|---|---|
130.0.6723 | v1.48.0 , v1.48.1 , v1.48.2 | v23.6.0 | Unduh AL2* Unduh AL2023* | Unduh AL2* Unduh AL2023* |
129.0.6668 | v1.47.0 , v1.47.1 , v1.47.2 | v23.4.0 , v23.4.1 , v23.5.0 , v23.5.1 , v23.5.2 , v23.5.3 | Unduh AL2* Unduh AL2023* | Unduh AL2* Unduh AL2023* |
128.0.6613 | v1.46.0 , v1.46.1 | v23.2.0 , v23.2.1 , v23.2.2 , v23.3.0 , v23.3.1 | Unduh AL2* Unduh AL2023* | Unduh AL2* Unduh AL2023* |
127.0.6533 | v1.45.0 , v1.45.1 , v1.45.2 , v1.45.3 | v22.14.0 , v22.15.0 , v23.0.0 , v23.0.1 , v23.0.2 , v23.1.0 , v23.1.1 | Unduh AL2* Unduh AL2023* | Unduh AL2* Unduh AL2023* |
126.0.6478 | v22.11.0 , v22.11.1 , v22.11.2 , v22.12.0 , v22.12.1 , v22.13.0 , v22.13.1 | Unduh AL2* Unduh AL2023* | Unduh AL2* Unduh AL2023* | |
125.0.6422 | v1.44.0 , v1.44.1 | v22.10.0 , v22.10.1 , v22.9.0 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 |
124.0.6367 | v1.43.0 , v1.43.1 | v22.7.0 , v22.7.1 , v22.8.0 , v22.8.1 , v22.8.2 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 |
123.0.6312 | v1.42.0 , v1.42.1 | v22.6.0 , v22.6.1 , v22.6.2 , v22.6.3 , v22.6.4 , v22.6.5 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 |
122.0.6261 | v22.2.0 , v22.3.0 , v22.4.0 , v22.4.1 , v22.5.0 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 | |
121.0.6167 | v1.41.0 , v1.41.1 , v1.41.2 | v21.10.0 , v21.11.0 , v21.9.0 , v22.0.0 , v22.1.0 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 |
120.0.6099 | v1.40.0 , v1.40.1 | v21.8.0 | Unduh AL2 Unduh AL2023 | Unduh AL2 Unduh AL2023 |
*Mengakses 5 binari rilis utama Chromium terbaru memerlukan langganan pro atau pembayaran satu kali.
Baik Puppeteer maupun Playwright memiliki fungsionalitas bawaan untuk mengunduh browser yang kompatibel dari CDN. Daripada menggunakan CDN default, kami menetapkan variabel lingkungan untuk menginstruksikan Puppeteer/Playwright mengunduh browser dari files.chromiumforlambda.org
. Di Lambda, hanya direktori /tmp yang dapat ditulis, jadi kita perlu menyimpan browser di sana.
Jika Anda belum menginstal Playwright: npm install playwright-core@
.
Konfigurasikan variabel lingkungan berikut. Selain itu, Anda dapat memilih untuk mengonfigurasi PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW
yang digunakan Penulis Drama untuk mengaktifkan mode tanpa kepala yang baru.
PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (jika Anda menggunakan NodeJS 16/18 di ARM64)PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023 /arm64 # (jika Anda menggunakan NodeJS 20 di ARM64)PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (jika Anda menggunakan NodeJS 16/18 di x86_64)PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (jika Anda menggunakan NodeJS 20 di x86_64)PLAYWRIGHT_BROWSERS_PATH=/tmp
// Pastikan: // - Anda menggunakan versi Playwright yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah menyetel process.env.PLAYWRIGHT_CHROMIUM_DOWNLOAD_HOST dan process.env.PLAYWRIGHT_BROWSERS_PATH.import { chromium } dari "playwright-core";export const handler = async () => { const install = memerlukan('playwright-core/lib/server').installBrowsersForNpmInstall; menunggu instal(['chromium']); const browser = menunggu chromium.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process'], }); halaman const = menunggu browser.newPage(); // kode Penulis Drama Anda seperti biasa}
Jika Anda belum menginstal Puppeteer: npm install puppeteer@
.
Konfigurasikan variabel lingkungan berikut.
PUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (jika Anda menggunakan NodeJS 16/18 di ARM64)PUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023 /arm64 # (jika Anda menggunakan NodeJS 20 di ARM64)PUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (jika Anda menggunakan NodeJS 16/18 di x86_64)PUPPETEER_CHROME_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (jika Anda menggunakan NodeJS 20 di x86_64)PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (jika Anda menggunakan NodeJS 16/18 di ARM64)PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/arm64 # (jika Anda menggunakan NodeJS 20 di ARM64)PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (jika Anda menggunakan NodeJS 16/18 di x86_64)PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023/x86_64 # (jika Anda menggunakan NodeJS 20 di x86_64)PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (jika Anda menggunakan yang baru mode tanpa kepala)PUPPETEER_SKIP_CHROME_DOWNLOAD=true # (jika Anda menggunakan mode tanpa kepala yang lama)PUPPETEER_CACHE_DIR=/tmp
// Pastikan: // - Anda menggunakan versi Puppeteer yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah menetapkan process.env.PUPPETEER_CHROME_DOWNLOAD_BASE_URL, process.env.PUPPETEER_CHROME_HEADLESS_SHELL_DOWNLOAD_BASE_URL dan process.env.PUPPETEER_CACHE_DIR.impor dalang dari "dalang";ekspor const handler = async() => { const install = require(`dalang/internal/node/install.js`).downloadBrowser; menunggu pemasangan() const browser = menunggu dalang.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-sandbox'],tanpa kepala : 'shell' |.true // true meluncurkan browser dalam mode tanpa kepala yang baru, 'shell' meluncurkan shell yang dikenal sebagai mode tanpa kepala yang lama. }); halaman const = menunggu browser.newPage(); // kode Dalangmu seperti biasa}
Jika Anda belum menginstal Puppeteer: npm install puppeteer@
.
Konfigurasikan variabel lingkungan berikut.
PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (jika Anda menggunakan NodeJS 16/18 di ARM64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023 /arm64 # (jika Anda menggunakan NodeJS 20 aktif ARM64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (jika Anda menggunakan NodeJS 16/18 di x86_64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux -2023/x86_64 # (jika Anda menggunakan NodeJS 20 di x86_64)PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (jika Anda menggunakan mode tanpa kepala yang baru)PUPPETEER_SKIP_CHROME_DOWNLOAD=true # (jika Anda menggunakan mode tanpa kepala yang lama)PUPPETEER_CACHE_DIR=/tmp
// Pastikan: // - Anda menggunakan versi Puppeteer yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah menetapkan process.env.PUPPETEER_DOWNLOAD_BASE_URL dan process.env.PUPPETEER_CACHE_DIR.import dalang dari "puppeteer";export const handler = async () => { const install = require(`dalang/internal/node/install.js`).downloadBrowser; menunggu pemasangan() const browser = menunggu dalang.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-sandbox'],tanpa kepala : 'shell' |.true // true meluncurkan browser dalam mode tanpa kepala yang baru, 'shell' meluncurkan shell yang dikenal sebagai mode tanpa kepala yang lama. }); halaman const = menunggu browser.newPage(); // kode Dalangmu seperti biasa}
Jika Anda belum menginstal Puppeteer: npm install puppeteer@
.
Konfigurasikan variabel lingkungan berikut.
PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/arm64 # (jika Anda menggunakan NodeJS 16/18 di ARM64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2023 /arm64 # (jika Anda menggunakan NodeJS 20 aktif ARM64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux-2/x86_64 # (jika Anda menggunakan NodeJS 16/18 di x86_64)PUPPETEER_DOWNLOAD_BASE_URL=https://files.chromiumforlambda.org/amazon-linux -2023/x86_64 # (jika Anda menggunakan NodeJS 20 di x86_64)PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD=true # (jika Anda menggunakan mode tanpa kepala yang baru)PUPPETEER_SKIP_CHROME_DOWNLOAD=true # (jika Anda menggunakan mode tanpa kepala yang lama)PUPPETEER_CACHE_DIR=/tmp
// Pastikan: // - Anda menggunakan versi Puppeteer yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah menetapkan process.env.PUPPETEER_DOWNLOAD_BASE_URL dan process.env.PUPPETEER_CACHE_DIR.import dalang dari "puppeteer";export const handler = async () => { const install = require(`dalang/internal/node/install.js`).downloadBrowser; menunggu pemasangan() const browser = menunggu dalang.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-sandbox'],tanpa kepala : true |. 'new' // 'new' meluncurkan browser dalam mode tanpa kepala yang baru, true meluncurkan shell yang dikenal sebagai mode tanpa kepala yang lama. }); halaman const = menunggu browser.newPage(); // kode Dalangmu seperti biasa}
Lapisan Lambda adalah arsip file .zip yang berisi kode atau data tambahan. Anda dapat menggunakan lapisan Lambda untuk mengemas browser Chromium dengan fungsi Anda. Karena batasan ukuran, Chromium hanya dapat digunakan dengan mode headless yang lama (melalui biner chrome-headless-shell). Sayangnya biner Chromium lengkap yang digunakan dalam mode tanpa kepala baru terlalu besar untuk dipasang melalui sebuah lapisan.
Anda dapat mengunduh headless_shell-*.zip yang cocok dengan versi Penulis Drama/Dalang Anda dan mengunggahnya sebagai lapisan.
Jika Anda belum menginstal Playwright: npm install playwright-core@
.
Pastikan variabel lingkungan PLAYWRIGHT_CHROMIUM_USE_HEADLESS_NEW
tidak disetel karena mode tanpa kepala yang baru tidak didukung melalui lapisan.
// Pastikan: // - Anda menggunakan versi Playwright yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah mengunggah file headless_shell-*.zip sebagai lapisan Lambda dan mengonfigurasi Lambda Anda untuk menggunakan lapisan tersebut.import { chromium } from "playwright-core";export const handler = async () => { const browser = menunggu chromium.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process'],executablePath: '/opt/chrome-headless -shell-linux64/chrome-tanpa kepala-shell' }); halaman const = menunggu browser.newPage(); // kode Penulis Drama Anda seperti biasa}
Jika Anda belum menginstal Puppeteer: npm install puppeteer@
.
// Pastikan: // - Anda menggunakan versi Puppeteer yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah mengunggah file headless_shell-*.zip sebagai lapisan Lambda dan mengonfigurasi Lambda Anda untuk menggunakan lapisan tersebut.import dalang dari "dalang";export const handler = async () => { const browser = menunggu dalang.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-sandbox'],tanpa kepala : 'shell',executablePath: '/opt/chrome-headless-shell-linux64/chrome-headless-shell' }); halaman const = menunggu browser.newPage(); // kode Dalangmu seperti biasa}
Jika Anda belum menginstal Puppeteer: npm install puppeteer@
.
// Pastikan: // - Anda menggunakan versi Puppeteer yang didukung (lihat https://github.com/chromium-for-lambda/binaries?tab=readme-ov-file#versions).// - Anda telah mengunggah file headless_shell-*.zip sebagai lapisan Lambda dan mengonfigurasi Lambda Anda untuk menggunakan lapisan tersebut.import dalang dari "dalang";export const handler = async () => { const browser = menunggu dalang.launch({args: ['--use-gl=angle', '--use-angle=swiftshader', '--single-process', '--no-sandbox'],tanpa kepala : benar, jalur yang dapat dieksekusi: '/opt/chrome-headless-shell-linux64/chrome-headless-shell' }); halaman const = menunggu browser.newPage(); // kode Dalangmu seperti biasa}
Kami menguji biner kami secara menyeluruh sebelum dipublikasikan. Namun jangan ragu untuk membuat masalah jika Anda mengalami perilaku yang tidak terduga.
Biner kami dikompilasi dalam tindakan Github. Artinya, Anda dapat mengikuti dengan tepat cara biner Chromium kami dibuat, mulai dari sumber hingga penerapan. Ini berarti Anda dapat memverifikasi integritas dan kualitas biner kami, dan memiliki pemahaman yang lebih baik tentang proses pembuatannya.
Instalasi otomatis menggunakan variabel lingkungan untuk mengonfigurasi Playwright/Puppeteer untuk mengunduh binari yang kompatibel dengan Lambda dari CDN kami. Instalasi manual memerlukan pengunduhan file zip yang benar yang berisi dependensi yang diperlukan dan pengunggahan ke Lambda secara manual melalui lapisan Lambda.
Biner Chromium untuk Amazon Linux 2 (AL2) dan Amazon Linux 2023 (AL2023) berbeda karena dikompilasi dengan versi kernel dan dependensi Linux yang berbeda.
Perbedaan utamanya adalah:
Versi kernel: AL2 didasarkan pada kernel 4.14, sedangkan AL2023 didasarkan pada kernel 5.10. Ini berarti binari AL2023 dikompilasi dengan versi kernel yang lebih baru, yang dapat memberikan dukungan lebih baik untuk perangkat keras dan fitur yang lebih baru.
Versi ketergantungan: Dependensi yang digunakan untuk membangun biner Chromium, seperti glibc, libstdc++, dan perpustakaan lainnya, juga berbeda antara AL2 dan AL2023. Perbedaan ini dapat mempengaruhi kompatibilitas dan fungsionalitas browser Chromium.
Jika Anda menggunakan Amazon Linux 2 (AL2), Anda harus mengunduh binari Chromium yang dikompilasi khusus untuk AL2. Jika Anda menggunakan Amazon Linux 2023 (AL2023), Anda harus mengunduh binari Chromium yang dikompilasi khusus untuk AL2023.
Jika Anda menggunakan Node.js, harap perhatikan bahwa:
Runtime Node.js 16 dan 18 Lambda menggunakan Amazon Linux 2 (AL2)
Runtime Node.js 20 menggunakan Amazon Linux 2023 (AL2023)
Ya. Silakan lihat ini.