FREE non-persistent web-based Firefox browser
Possible use case: Setting up a non-persistent stand alone Firefox web browser for performing OSINT research.
You might be wondering what I'm talking about. Basically, I'm referring to running the Firefox web browser inside a Docker container. The "free" aspect comes from utilizing Amazon's EC2 (Elastic Compute Cloud).
Why not set up a Docker instance on DigitalOcean or Linode for just $5 a month? That's a common approach many people take with Docker. However, AWS offers a free tier with EC2 that you can spin up and tear down as needed while learning. If you're like me and already have a lot of subscriptions, EC2 is a great free alternative to explore.
Once you have set up an AWS account and EC2 account, you can choose which instance you would like to create.
For this example, we will spin up an Ubuntu instance and connect to it through the EC2 dashboard. Once you have access to the terminal, you can quickly install Docker using the snap package.
sudo snap install docker
To confirm it is installed, run
sudo docker ps
Next, visit this page from linuxserver.io and grab the code from the docker-cli section. Alternatively, you could use the docker-compose code and set up a compose file. For now, we are just focusing on a non-persistent setup for OPSEC.
By default, this code will use Port 3000, but you can choose whichever port you want. Note: If you add additional containers, be sure to check the port number and edit as needed to avoid a conflict.
sudo docker run -d \
--name=firefox \
--security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e FIREFOX_CLI=https://www.linuxserver.io/ `#optional` \
-p 3000:3000 \
-p 3001:3001 \
-v /path/to/config:/config \
--shm-size="1gb" \
--restart unless-stopped \
lscr.io/linuxserver/firefox:latest
Next, visit the URL of your server with the port number http://YOURIP:3000
You should now have a sandboxed Firefox browser running in a tab of your current browser with a different IP address and no personal information tied to your local machine. This is thanks to linuxserver.io and KasmVNC
If you have any feedback, please share.