Hi, I’m exploring how to create a proxy service. My use case is this: I have a Next.js + Puppeteer application on Vercel, which works fine but I’d like to have static outbound IPs so my clients can add them to their allowlists. I could sign up for a Fixie account, but it could be a bit pricey due to the high volume of requests.
As Render offers static outbound IPs, I’d like to explore creating a simple proxy service (ideally using Elixir) that I could host in Render. It’s something like having my own Fixie service.
Has anyone experience in this field? What are your recommendations? A forward, transparent HTTPS proxy is enough, but SOCKS support would be better.
I’d recommend mitmproxy, no need to reinvent the wheel.
1 Like
Thanks, I’ve been playing with mitmproxy in my dev machine and it looks like just what I need.
But, I’ve been unable to host it on Render with the provided Docker image as it tries to start in interactive mode:
==> Starting service...
usermod: no changes
Error: mitmproxy's console interface requires a tty. Please run mitmproxy in an interactive shell environment.
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/mitmproxy/master.py", line 80, in run
await self.running()
File "/usr/local/lib/python3.11/site-packages/mitmproxy/tools/console/master.py", line 207, in running
sys.exit(1)
SystemExit: 1
If you are able to, in the container, run it through systemd.