proxy

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 29, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Overview

Package proxy runs reverse proxies to Cloudflare Access applications, attaching Access tokens to forwarded requests.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Option

type Option func(*Runner)

Option configures a Runner.

func WithLogger

func WithLogger(l *slog.Logger) Option

WithLogger sets the logger used by the Runner. A nil logger is ignored.

Example
package main

import (
	"context"
	"log/slog"

	"github.com/sbldevnet/cloudflared-proxy/config"
	"github.com/sbldevnet/cloudflared-proxy/proxy"
)

func main() {
	ctx := context.Background()
	logger := slog.Default()

	_ = proxy.New(proxy.WithLogger(logger)).Run(ctx, []config.ProxyConfig{
		{Hostname: "example.com", DestinationPort: 443, LocalPort: 8888},
	})
}

type Runner

type Runner struct {
	// contains filtered or unexported fields
}

Runner starts reverse proxies to Cloudflare Access applications.

func New

func New(opts ...Option) *Runner

New returns a ready-to-use Runner; by default it uses the real cloudflared binary.

func (*Runner) Run

func (r *Runner) Run(ctx context.Context, configs []config.ProxyConfig) error

Run fetches Cloudflare Access tokens and starts one server per config, blocking until ctx is cancelled.

Example
package main

import (
	"context"

	"github.com/sbldevnet/cloudflared-proxy/config"
	"github.com/sbldevnet/cloudflared-proxy/proxy"
)

func main() {
	ctx := context.Background()

	_ = proxy.New().Run(ctx, []config.ProxyConfig{
		{Hostname: "example.com", DestinationPort: 443, LocalPort: 8888},
	})
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL