Simple Google Index / Ping Tool

Simple Google Index / Ping Tool — Single File

Simple Google Index / Ping Tool — Single HTML

Paste one URL per line, optionally set a proxy, then click Start Pings. This is a single-file front-end (no external JS/CSS). For reliable results use the included server proxy (node) because browsers block many direct XML-RPC posts.
Set this to your server proxy (example above). Leave empty to try direct requests (likely to fail due to CORS).
concurrency = parallel requests; delay = ms between batches
Ready. Endpoint count: 0
Network / CORS detected: Browsers block direct pings to most endpoints. Please run the included server proxy and set the Proxy field to http://localhost:3000/proxy?target=.
#URLEndpointStatusDetails

Notes & How to get success

  1. This page is purely client-side. Browsers enforce CORS which blocks many remote XML-RPC endpoints. Use the proxy for reliable results.
  2. Run the proxy locally (or on your server) and set the Proxy field to the proxy URL (including ?target=).
  3. If you still see failures, open DevTools → Network and check the request to the proxy—this UI also has a Test Proxy button to help debug.
Server proxy (Node/Express) — copy this into server-proxy.js and run with node server-proxy.js
// server-proxy.js (Node 18+ recommended)
// npm init -y && npm i express

const express = require('express');
const app = express();

app.use((req, res, next) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
  res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Accept');
  if (req.method === 'OPTIONS') return res.sendStatus(204);
  next();
});

app.use(express.text({ type: '*/*', limit: '4mb' }));

app.all('/proxy', async (req, res) => {
  const target = req.query.target;
  if (!target) return res.status(400).send('Missing target param');
  try {
    const r = await fetch(target, {
      method: 'POST',
      headers: { 'Content-Type': 'text/xml; charset=utf-8', 'User-Agent': 'Simple-Google-Ping-Tool/1.0' },
      body: req.body || ''
    });
    const text = await r.text();
    res.status(r.status).type('text/plain').send(text);
  } catch (err) {
    res.status(500).send(String(err));
  }
});

const PORT = process.env.PORT || 3000;
app.listen(PORT, () => console.log(`Proxy listening: http://localhost:${PORT}/proxy?target=`));
This single-file tool is for testing and small runs. For heavy usage run the server-side pinger script (server-side only) to avoid rate limits and blocking.

Comments