Run your flask website in tor using flask_tor.It doesn’t interfere with other tor processes on your computer, so you can use the Tor Browser or the system tor on their own.
Use it only for educational purpose.
- No need root permission
 - Multiple instances
 - Optional persistent onion address (reuse the same .onion between runs)
 
Python 3.6+ is required.
pip install flask-tor- Import with 
from flask_tor import run_with_tor. - call function 
run_with_tor(), store as variable and give it as port argument in flask app. 
# flask_tor_example.py
from flask import Flask
from flask_tor import run_with_tor
app = Flask(__name__)
port = run_with_tor(persistent_key_file='~/.flask_tor/hidden_service_key')
@app.route("/")
def hello():
    return "Hello World!"
if __name__ == '__main__':
    app.run(port=port)Running the example:
python flask_tor_example.py
connecting_to_tor: 100% - Done                                                       
 * Running on <random_adress>.onion
 * Serving Flask app "main"
 * Debug mode: off
 * Running on http://127.0.0.1:<port>/
If you pass a persistent_key_file path, the first run will create a key file and subsequent runs will reuse it so the onion address stays the same. Set reuse_key=False to force a new address while still updating the stored key.