Setting up a proxy with NodeJS for Chrome on Android

I am trying to setup a NodeJS http proxy for Chrome on Android phones, on my local network

Here is the code

import { createServer, request } from 'http';
import { networkInterfaces } from 'os';

const nets = networkInterfaces();

const ips = Object.entries(nets)
  .map(([type, v]) =>
    v.map(({ address, family: mode }) => ({
      type,
      mode,
      address,
    })),
  )
  .flat();

const server = createServer((req, res) => {
  const { method, url, headers, socket } = req;
  const { host } = headers;
  const { remoteAddress } = socket;

  console.log('Http request caught : ', { method, url, host, remoteAddress });

  const proxy = request({ hostname: host, port: 80, path: url, method, headers }, (proxyres) => {
    res.writeHead(proxyres.statusCode, proxyres.headers);
    proxyres.pipe(res, { end: true });
  });

  proxy.on('error', (error) => {
    console.log('Error proxying request : ');
    console.log(error);
    res.writeHead(500);
    res.end('Proxy request failed');
  });

  req.pipe(proxy, { end: true });
});

server.on('listening', () => {
  console.log('Server started on port 3000');
  console.log('Here are your IP adresses, set one as your proxy : ');
  console.log(ips);
});

server.listen(3000, '0.0.0.0');

After configuring the proxy settings on my Wi-Fi connection, I can see some requests :

Http request caught :  {
  method: 'GET',
  url: 'http://www.google.eu/generate_204',
  host: 'www.google.eu',
  remoteAddress: 'my.ip'
}
Http request caught :  {
  method: 'GET',
  url: 'http://conn-service-eu-04.allawnos.com/generate204',
  host: 'conn-service-eu-04.allawnos.com',
  remoteAddress: 'my.ip'
}

The issue is, those are random calls (I don’t know where they come from, probably some internal shenanigans), but i cannot see HTTP requests I trigger myself, those include :

  • Chrome websites
  • Discord
  • Play store
  • Some PWAs

So my question is, how can I see all HTTP requests being made from my Android phone ?