from flask import Flask, jsonify, render_template_string, request
app = Flask(__name__)
@app.route('/')
def home():
return render_template_string("""
Flask on Tailscale
Hello from Flask over Tailscale!
This is a secure Flask app behind a Tailscale network.
Try the JSON Hello or POST to /api/echo
.
""")
@app.route('/api/hello', methods=['GET'])
def api_hello():
return jsonify({
"message": "Hello from the Flask API!",
"status": "success"
})
@app.route('/api/echo', methods=['POST'])
def api_echo():
data = request.get_json()
if not data:
return jsonify({"error": "No JSON received"}), 400
return jsonify({
"received": data,
"status": "ok"
})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=7860)