turnstile / server.js
CryptXDaVinciss's picture
Update server.js
7f1d6c3 verified
// server.js
const express = require('express');
const bodyParser = require('body-parser');
const { getTurnstileToken, logger } = require('./turnstile-solver'); // import file yang sudah kamu buat
const app = express();
const PORT = process.env.PORT || 7860;
app.use(bodyParser.json());
app.get('/', (req, res) => {
res.json({ status: 'ok', message: 'Turnstile Solver API running' });
});
app.post('/solve', async (req, res) => {
const {
url,
sitekey,
action = null,
cdata = null,
debug = false,
headless = true,
useragent = null,
browserType = 'chromium'
} = req.body;
if (!url || !sitekey) {
return res.status(400).json({
error: 'Missing required parameters: url, sitekey'
});
}
try {
logger.info(`Received solve request for ${url}`);
const result = await getTurnstileToken(url, sitekey, action, cdata, debug, headless, useragent, browserType);
if (!result) {
return res.status(500).json({
status: 'failure',
reason: 'Failed to solve Turnstile'
});
}
res.json(result);
} catch (error) {
logger.error(`Error solving Turnstile: ${error.message}`);
res.status(500).json({
status: 'error',
message: error.message
});
}
});
app.listen(PORT, () => {
logger.success(`Turnstile Solver API running on http://localhost:${PORT}`);
});