Compare commits
5 Commits
contributo
...
contributo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aff403b116 | ||
|
|
50a11a5f50 | ||
|
|
145711bdc7 | ||
|
|
0e4958aa10 | ||
|
|
99653868c7 |
15
.github/README.md
vendored
15
.github/README.md
vendored
@@ -1180,13 +1180,6 @@ Huge thanks to these wonderful people, who sponsor me on GitHub, their support h
|
|||||||
<sub><b>Brian McGonagill</b></sub>
|
<sub><b>Brian McGonagill</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td align="center">
|
|
||||||
<a href="https://github.com/arcestia">
|
|
||||||
<img src="https://avatars.githubusercontent.com/u/7936962?u=41e34bb816ad09323e1650f3efc0bec4fb2bc5dd&v=4" width="80;" alt="arcestia"/>
|
|
||||||
<br />
|
|
||||||
<sub><b>Laurensius Jeffrey</b></sub>
|
|
||||||
</a>
|
|
||||||
</td>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/vlad-tim">
|
<a href="https://github.com/vlad-tim">
|
||||||
<img src="https://avatars.githubusercontent.com/u/11474041?u=eee43705b54d2ec9f51fc4fcce5ad18dd17c87e4&v=4" width="80;" alt="vlad-tim"/>
|
<img src="https://avatars.githubusercontent.com/u/11474041?u=eee43705b54d2ec9f51fc4fcce5ad18dd17c87e4&v=4" width="80;" alt="vlad-tim"/>
|
||||||
@@ -1201,8 +1194,6 @@ Huge thanks to these wonderful people, who sponsor me on GitHub, their support h
|
|||||||
<sub><b>HeliXZz</b></sub>
|
<sub><b>HeliXZz</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/mryesiller">
|
<a href="https://github.com/mryesiller">
|
||||||
<img src="https://avatars.githubusercontent.com/u/24632172?u=0d20f2d615158f87cd60a3398d3efb026c32f291&v=4" width="80;" alt="mryesiller"/>
|
<img src="https://avatars.githubusercontent.com/u/24632172?u=0d20f2d615158f87cd60a3398d3efb026c32f291&v=4" width="80;" alt="mryesiller"/>
|
||||||
@@ -1210,6 +1201,8 @@ Huge thanks to these wonderful people, who sponsor me on GitHub, their support h
|
|||||||
<sub><b>Göksel Yeşiller</b></sub>
|
<sub><b>Göksel Yeşiller</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/sushibait">
|
<a href="https://github.com/sushibait">
|
||||||
<img src="https://avatars.githubusercontent.com/u/26634535?v=4" width="80;" alt="sushibait"/>
|
<img src="https://avatars.githubusercontent.com/u/26634535?v=4" width="80;" alt="sushibait"/>
|
||||||
@@ -1245,8 +1238,6 @@ Huge thanks to these wonderful people, who sponsor me on GitHub, their support h
|
|||||||
<sub><b>Terminal Trove</b></sub>
|
<sub><b>Terminal Trove</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/st617">
|
<a href="https://github.com/st617">
|
||||||
<img src="https://avatars.githubusercontent.com/u/128325650?v=4" width="80;" alt="st617"/>
|
<img src="https://avatars.githubusercontent.com/u/128325650?v=4" width="80;" alt="st617"/>
|
||||||
@@ -1254,6 +1245,8 @@ Huge thanks to these wonderful people, who sponsor me on GitHub, their support h
|
|||||||
<sub><b>st617</b></sub>
|
<sub><b>st617</b></sub>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
<td align="center">
|
<td align="center">
|
||||||
<a href="https://github.com/hudsonrock-partnerships">
|
<a href="https://github.com/hudsonrock-partnerships">
|
||||||
<img src="https://avatars.githubusercontent.com/u/163282900?u=5f2667f7fe5d284ac7a2da6b0800ea8970b0fcbf&v=4" width="80;" alt="hudsonrock-partnerships"/>
|
<img src="https://avatars.githubusercontent.com/u/163282900?u=5f2667f7fe5d284ac7a2da6b0800ea8970b0fcbf&v=4" width="80;" alt="hudsonrock-partnerships"/>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import puppeteer from 'puppeteer-core';
|
import puppeteer from 'puppeteer-core';
|
||||||
import chromium from 'chrome-aws-lambda';
|
import chromium from 'chrome-aws-lambda';
|
||||||
import middleware from './_common/middleware.js';
|
import middleware from './_common/middleware.js';
|
||||||
import { exec } from 'child_process';
|
import { execFile } from 'child_process';
|
||||||
import { promises as fs } from 'fs';
|
import { promises as fs } from 'fs';
|
||||||
import path from 'path';
|
import path from 'path';
|
||||||
import pkg from 'uuid';
|
import pkg from 'uuid';
|
||||||
@@ -20,32 +20,37 @@ const directChromiumScreenshot = async (url) => {
|
|||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const chromePath = process.env.CHROME_PATH || '/usr/bin/chromium';
|
const chromePath = process.env.CHROME_PATH || '/usr/bin/chromium';
|
||||||
const command = `${chromePath} --headless --disable-gpu --no-sandbox --screenshot=${screenshotPath} "${url}"`;
|
const args = [
|
||||||
|
'--headless',
|
||||||
|
'--disable-gpu',
|
||||||
|
'--no-sandbox',
|
||||||
|
`--screenshot=${screenshotPath}`,
|
||||||
|
url
|
||||||
|
];
|
||||||
|
|
||||||
|
console.log(`[DIRECT-SCREENSHOT] Executing: ${chromePath} ${args.join(' ')}`);
|
||||||
|
|
||||||
console.log(`[DIRECT-SCREENSHOT] Executing command: ${command}`);
|
execFile(chromePath, args, async (error, stdout, stderr) => {
|
||||||
|
|
||||||
exec(command, async (error, stdout, stderr) => {
|
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error(`[DIRECT-SCREENSHOT] Error executing Chromium: ${error.message}`);
|
console.error(`[DIRECT-SCREENSHOT] Chromium error: ${error.message}`);
|
||||||
return reject(error);
|
return reject(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Read screenshot
|
// Read the screenshot file
|
||||||
const screenshotData = await fs.readFile(screenshotPath);
|
const screenshotData = await fs.readFile(screenshotPath);
|
||||||
console.log(`[DIRECT-SCREENSHOT] Read ${screenshotData.length} bytes from screenshot file`);
|
console.log(`[DIRECT-SCREENSHOT] Screenshot read successfully`);
|
||||||
|
|
||||||
// Convert base64
|
// Convert to base64
|
||||||
const base64Data = screenshotData.toString('base64');
|
const base64Data = screenshotData.toString('base64');
|
||||||
|
|
||||||
// Clean
|
await fs.unlink(screenshotPath).catch(err =>
|
||||||
await fs.unlink(screenshotPath).catch(err =>
|
|
||||||
console.warn(`[DIRECT-SCREENSHOT] Failed to delete temp file: ${err.message}`)
|
console.warn(`[DIRECT-SCREENSHOT] Failed to delete temp file: ${err.message}`)
|
||||||
);
|
);
|
||||||
|
|
||||||
resolve(base64Data);
|
resolve(base64Data);
|
||||||
} catch (readError) {
|
} catch (readError) {
|
||||||
console.error(`[DIRECT-SCREENSHOT] Error reading screenshot: ${readError.message}`);
|
console.error(`[DIRECT-SCREENSHOT] Failed reading screenshot: ${readError.message}`);
|
||||||
reject(readError);
|
reject(readError);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "web-check",
|
"name": "web-check",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"version": "2.0.0",
|
"version": "2.0.1",
|
||||||
"homepage": "https://web-check.xyz",
|
"homepage": "https://web-check.xyz",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "node server",
|
"start": "node server",
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ const siteInfo = {
|
|||||||
site: import.meta.env.SITE_URL || 'https://web-check.xyz',
|
site: import.meta.env.SITE_URL || 'https://web-check.xyz',
|
||||||
analytics: {
|
analytics: {
|
||||||
enable: import.meta.env.ENABLE_ANALYTICS,
|
enable: import.meta.env.ENABLE_ANALYTICS,
|
||||||
domain: 'web-check.xyz',
|
domain: 'web-check.as93.net',
|
||||||
script: 'https://no-track.as93.net/js/script.js',
|
script: 'https://no-track.as93.net/js/script.js',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
@@ -92,8 +92,7 @@ const makeBreadcrumbs = () => {
|
|||||||
|
|
||||||
<!-- Non-tracking hit counter -->
|
<!-- Non-tracking hit counter -->
|
||||||
{analytics.enable && (
|
{analytics.enable && (
|
||||||
<script defer is:inline type="text/partytown"
|
<script defer data-domain={analytics.domain} src={analytics.script}></script>
|
||||||
data-domain={analytics.domain} src={analytics.script}></script>
|
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<!-- Schema.org markup for Google -->
|
<!-- Schema.org markup for Google -->
|
||||||
|
|||||||
Reference in New Issue
Block a user