Sniper - Zenohack.com

// Get profiles router.get('/profiles', async (req, res) => { const profiles = await Profile.find(); res.json(profiles); });

// 4. Add to cart await page.click('#add-to-cart'); await page.waitForSelector('.cart-notification', { timeout: 3000 }); log('Item added to cart', 'success'); Zenohack.com Sniper

log( Starting snipe for ${task.productUrl} , 'info'); // Get profiles router

module.exports = { sendDiscord }; routes/api.js const express = require('express'); const router = express.Router(); const Task = require('../models/Task'); const Profile = require('../models/Profile'); const { snipeTask } = require('../services/sniper'); // Create sniper task router.post('/tasks', async (req, res) => { const task = await Task.create(req.body); res.json(task); }); // Get profiles router.get('/profiles'

// Get all tasks router.get('/tasks', async (req, res) => { const tasks = await Task.find().populate('profileId'); res.json(tasks); });

// Run task immediately router.post('/tasks/:id/run', async (req, res) => { const task = await Task.findById(req.params.id); if (!task) return res.status(404).json({ error: 'Task not found' }); task.status = 'running'; await task.save(); snipeTask(task).finally(async () => { task.status = 'completed'; task.runs += 1; task.lastRun = new Date(); await task.save(); }); res.json({ message: 'Sniper started' }); });