diff --git a/routes/is-tor.js b/routes/is-tor.js index 675b33e..1176b91 100644 --- a/routes/is-tor.js +++ b/routes/is-tor.js @@ -4,9 +4,10 @@ const axios = require('axios'); router.get('/', async (req, res) => { try { - const response = await axios.get('https://check.torproject.org/api/ip'); - const isTor = response.data.IsTor; - res.json({ isTor }); + const ip = req.headers['x-forwarded-for'] || req.get('X-Real-IP') || req.ip; + const response = await axios.get(`https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=${ip}`); + const isTor = response.data.includes(ip); + res.json({ isTor, ip }); } catch (error) { res.status(500).json({ error: error.message }); } diff --git a/routes/is-tor.min.js b/routes/is-tor.min.js index 992fbe1..16c9d1c 100644 --- a/routes/is-tor.min.js +++ b/routes/is-tor.min.js @@ -1 +1 @@ -const express=require("express"),router=express.Router(),axios=require("axios");router.get("/",(async(req,res)=>{try{const isTor=(await axios.get("https://check.torproject.org/api/ip")).data.IsTor;res.json({isTor:isTor})}catch(error){res.status(500).json({error:error.message})}})),module.exports=router; \ No newline at end of file +const express=require("express"),router=express.Router(),axios=require("axios");router.get("/",(async(req,res)=>{try{const ip=req.headers["x-forwarded-for"]||req.get("X-Real-IP")||req.ip,isTor=(await axios.get(`https://check.torproject.org/cgi-bin/TorBulkExitList.py?ip=${ip}`)).data.includes(ip);res.json({isTor:isTor,ip:ip})}catch(error){res.status(500).json({error:error.message})}})),module.exports=router; \ No newline at end of file