lesion há 5 anos atrás
pai
commit
1e3fb44ea6
1 ficheiros alterados com 9 adições e 5 exclusões
  1. 9 5
      routes/tor.js

+ 9 - 5
routes/tor.js

@@ -5,11 +5,15 @@ const lookup = promisify(dns.lookup)
 // https://www.torproject.org/projects/tordnsel.html.en
 // check if request comes from tor
 module.exports = async (req, res, next) => {
-    const source_ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress
-    const ip = source_ip.split('.').reverse().join('.')
-    const server_ip = '51.68.126.235'.split('.').reverse().join('.')
-    const domain = `${ip}.80.${server_ip}.ip-port.exitlist.torproject.org`
+  const source_ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress
+  const ip = source_ip.split('.').reverse().join('.')
+  const server_ip = '51.68.126.235'.split('.').reverse().join('.')
+  const domain = `${ip}.80.${server_ip}.ip-port.exitlist.torproject.org`
+  try {
     const ret = await lookup(domain, {})
     req.fromTor = (ret.address === '127.0.0.2')
-    next()
+  } catch(e) {
+    req.fromTor = false
+  }
+  next()
 }