index.js 831 B

1234567891011121314151617181920212223242526272829303132
  1. const express = require('express')
  2. const router = express.Router()
  3. const { fromTor, fromVpn, checkCountry } = require('./utils')
  4. // magic
  5. const render = (template, data) => (req, res) => res.render(template, data)
  6. router.get('/', render('index'))
  7. // level I (tor -> read metadata)
  8. router.get('/subito', fromTor,
  9. (req, res) => res.render(req.fromTor ? 'torok' : 'tornook') )
  10. // level II (read metadata -> mail)
  11. router.get('/metadata', render('metadata'))
  12. // level IV (mail -> vpn)
  13. router.get('/mail', render('mail'))
  14. // level V (vpn -> read mail)
  15. router.get('/vpn', fromTor, fromVpn, checkCountry, (req, res, next) => {
  16. if (!req.fromTor && req.fromVpn) {
  17. res.render('vpnok', req.geoinfo);
  18. } else {
  19. res.render('vpnnook', req.geoinfo);
  20. }
  21. })
  22. router.get('/password', render('password'))
  23. module.exports = router