Update on running this on IIS:
* Installing Node.JS - easy. This now comes in a win64 binaries package with a script to install all the necessary dependencies, build tools etc.
* Installing Atmos Camo - easy once Node.JS is installed (same as Linux: "npm install")
* Installing Atmos Camo as a service with auto restart, shutdown management, crash-handling etc - easy. This can be done either through PM2 or an application called NSSM (Non-sucking Service Manager)
* Setting up reverse proxy to serve proxied content from Atmos Camo server through a subdomain via HTTPS - easy with IIS10 as there is a built in feature for reverse proxy URL rewrites.
I set up a subdomain for the server at proxy.example.com and navigating in the browser displayed the ready test ("hwhat"). Great up until this point.
However, no matter image I throw at it, it just says "not found". Looking through the github repo, Atmos Camo is very fussy about security certificates and will display the "not found" error when the content is there but there was some sort of SSL failure.
I took a rest at this point but started looking at alternatives because building a Node.JS app on Windows requires Visual Studio Build Tools and other add-ons and a lot of other stuff that seems excessive to have to install and run on a production server just to execute a basic JS script.
I then came across this fork of Atmos Camo which includes pre-compiled binaries for Windows, Linux and Darwin: https://github.com/arachnys/go-camo
It has 2 self-contained executables: the Go-Camo server and a utility to create test URLs. To get it up and running, you just extract the file to your chosen directory, then run go-camo.exe with necessary command line options and you have a server! No need for Node or anything else. I have quickly tested this and it serves images properly. The interface is exactly the same as Atmos Camo (eg the way URLs are constructed etc), so there shouldn't be any issue using this as the backend camo proxy server with the extension needing any changes.
I will have go at deploying this on my test server this then report back if it works, then provide some more detailed setup instructions.
This and the project from which it is forked, Cactus Go-Camo (https://github.com/cactus/go-camo/releases
), might be a more accessible option for some people. I also note that Atmos Camo has not been updated in 3 years whereas the Go Camo projects have been regularly updated and carry some additional features (including HTTP keep alive and HTTP/2 support).