The objective of this project is to find development, staging, and production environments for applications hosted by hosting providers that generate default URLs using the application name.
Example, let's find environments of the 'hello-world' compagny:
> ./app_env_finder.py -a hello-world
502 Bad Gateway GET http://hello-world.herokuapp.com
404 Not Found GET http://hello-world-dev.herokuapp.com
...
404 Not Found GET http://hello-world-front-prod.web.app
404 Not Found GET http://hello-world-front-production.web.app
200 OK GET http://hello-world.netlify.app
404 Not Found GET http://hello-world-dev.netlify.app
...
404 Not Found GET http://hello-world-front-prod.onrender.com
404 Not Found GET http://hello-world-front-production.onrender.com
200 OK GET http://hello-world.vercel.app
404 Not Found GET http://hello-world-dev.vercel.app
...
List of domains/hosting providers managed:
-
Scalingo:
- osc-fr1.scalingo.io
- osc-secnum-fr1.scalingo.io
-
Clever Cloud:
- cleverapps.io
-
Firebase:
- firebaseapp.com
- web.app
-
Netlify
- netlify.app
-
Railway
- up.railway.app
-
Render
- onrender.com
-
Vercel
- vercel.app
-
Deta Space
- deta.dev
-
Pythonanywhere
- pythonanywhere.com
- eu.pythonanywhere.com
You can install dependencies with the requirements.txt or with Pipenv
pip install requierments.txt
This project use Pipenv as a virtual environment. You can install Pipenv by following this link
Once Pipenv is installed, create a virtual env with Python 3 with this command:
pipenv shell
To install dependencies, run this command:
pipenv install
Get help
./app_env_finder.py -h
Find environments on all hosting providers
./app_env_finder.py -a hello-world
Find environments on a specific domains
./app_env_finder.py -a hello-world -d hosting-provider.com another-hosting-provider.com
Find environments by giving the environment name
./app_env_finder.py -e hello-world-dev
Find environments by giving the environment names on a specific domains
./app_env_finder.py -e hello-world-dev hello-world-prod -d hosting-provider.com another-hosting-provider.com
Test all HTTP methods
./app_env_finder.py -a hello-world -m
Test some HTTP methods
./app_env_finder.py -a hello-world -m GET POST
Change default timeout
./app_env_finder.py -a hello-world -t 60
Hide request response with specific code
./app_env_finder.py -a hello-world -H 404