Kyouka commited on
Commit
fbe7527
·
verified ·
1 Parent(s): edb8775

Update index.js

Browse files
Files changed (1) hide show
  1. index.js +27 -8
index.js CHANGED
@@ -294,12 +294,18 @@ app.get('/fetch-page', async (req, res) => {
294
  const targetUrl = req.query.url;
295
 
296
  if (!targetUrl) {
297
- return res.status(400).json({ error: 'Parameter "url" dibutuhkan' });
 
 
 
 
298
  }
299
 
 
 
300
  const browser = await playwright.chromium.launch({
301
  headless: true,
302
- executablePath: '/usr/bin/chromium', // pastikan path ini benar di server kamu
303
  args: ['--no-sandbox']
304
  });
305
 
@@ -308,9 +314,9 @@ app.get('/fetch-page', async (req, res) => {
308
  'accept': '*/*',
309
  'accept-language': 'en-US,en;q=0.9,id;q=0.8',
310
  'cache-control': 'no-cache',
311
- 'origin': 'https://doujindesu.tv',
312
  'pragma': 'no-cache',
313
- 'referer': 'https://doujindesu.tv',
314
  'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
315
  'sec-ch-ua-mobile': '?0',
316
  'sec-ch-ua-platform': '"Windows"',
@@ -324,14 +330,27 @@ app.get('/fetch-page', async (req, res) => {
324
  try {
325
  const page = await context.newPage();
326
  await page.goto(targetUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
327
-
328
- // Tunggu ekstra jika perlu ngelewatin challenge
329
  await page.waitForTimeout(8000);
330
 
331
  const content = await page.content();
332
- res.send(content);
 
 
 
 
 
 
 
 
 
 
333
  } catch (err) {
334
- res.status(500).json({ error: 'Gagal fetch halaman', detail: err.message });
 
 
 
 
 
335
  } finally {
336
  await browser.close();
337
  }
 
294
  const targetUrl = req.query.url;
295
 
296
  if (!targetUrl) {
297
+ return res.status(400).json({
298
+ developer: "KyoukaDev",
299
+ status: false,
300
+ message: 'Parameter "url" dibutuhkan',
301
+ });
302
  }
303
 
304
+ const baseUrl = new URL(targetUrl).origin;
305
+
306
  const browser = await playwright.chromium.launch({
307
  headless: true,
308
+ executablePath: '/usr/bin/chromium', // pastikan path ini valid
309
  args: ['--no-sandbox']
310
  });
311
 
 
314
  'accept': '*/*',
315
  'accept-language': 'en-US,en;q=0.9,id;q=0.8',
316
  'cache-control': 'no-cache',
317
+ 'origin': baseUrl,
318
  'pragma': 'no-cache',
319
+ 'referer': baseUrl,
320
  'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"',
321
  'sec-ch-ua-mobile': '?0',
322
  'sec-ch-ua-platform': '"Windows"',
 
330
  try {
331
  const page = await context.newPage();
332
  await page.goto(targetUrl, { waitUntil: 'domcontentloaded', timeout: 60000 });
 
 
333
  await page.waitForTimeout(8000);
334
 
335
  const content = await page.content();
336
+
337
+ res.json({
338
+ developer: "KyoukaDev",
339
+ status: true,
340
+ data: {
341
+ results: [
342
+ { content }
343
+ ]
344
+ }
345
+ });
346
+
347
  } catch (err) {
348
+ res.status(500).json({
349
+ developer: "KyoukaDev",
350
+ status: false,
351
+ message: 'Gagal fetch halaman',
352
+ error: err.message
353
+ });
354
  } finally {
355
  await browser.close();
356
  }