Wytamma / with-cloudflared

Home Page:http://blog.wytamma.com/with-cloudflared/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

with-cloudflared

PyPI - Version write-the - docs

With-cloudflared provides a context manager to start and stop cloudflared. Cloudflare Tunnel provides you with a secure way to connect your resources to Cloudflare without a publicly routable IP address. This is useful for development and testing, as well as for production use cases. See the Cloudflare Tunnel documentation for more information.

Installation

pip install with-cloudflared

Usage

import uvicorn
from fastapi import FastAPI
from with_cloudflared import cloudflared

app = FastAPI()

@app.get("/")
def read_root():
    return {"Hello": "World"}

if __name__ == "__main__":
    port = 8000
    with cloudflared(port=port) as cloudflared_address:
        print(f" * Running on {cloudflared_address}")
        uvicorn.run(app, port=port)

This will start cloudflared and then start the FastAPI server. The app will be publicly available at the cloudflared address e.g. something like https://rp-son-configured-army.trycloudflare.com.

The first time you run this it will take a few seconds to download and start cloudflared. Subsequent runs will be much faster.

About

http://blog.wytamma.com/with-cloudflared/


Languages

Language:Python 100.0%