-
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathwrangler-example.toml
More file actions
92 lines (79 loc) · 4.65 KB
/
wrangler-example.toml
File metadata and controls
92 lines (79 loc) · 4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#:schema node_modules/wrangler/config-schema.json
name = "freesocks-control-plane"
main = "src/index.js"
compatibility_date = "2024-06-05"
compatibility_flags = ["nodejs_compat"]
routes = [
{ pattern = "freesocks.org/get", zone_name = "freesocks.org" },
{ pattern = "freesocks.org/delete", zone_name = "freesocks.org" },
{ pattern = "freesocks.org/update", zone_name = "freesocks.org" },
{ pattern = "freesocks.org/list", zone_name = "freesocks.org" }
]
### Cloudflare KV namespace bindings
kv_namespaces = [
{ binding = "FREESOCKS_OUTLINE_API_ENDPOINTS", id = "ID_HERE" },
{ binding = "FREESOCKS_OUTLINE_ACCESS_KEYS", id = "ID_HERE" },
{ binding = "FREESOCKS_PROM_API_ENDPOINTS", id = "ID_HERE" },
{ binding = "FREESOCKS_STATE_KV", id = "ID_HERE" }
]
[triggers]
crons = ["* * * * *"]
### Secrets - manage these with `wrangler secret put <SECRET_NAME>`
# [secrets]
# TURNSTILE_SECRET_KEY = ""
# TURNSTILE_SITE_KEY = ""
# SECRET_AUTH_TOKEN = ""
# VAR_CF_ACCESS_CLIENT_ID = ""
# VAR_CF_ACCESS_CLIENT_SECRET = ""
# S3_PROVIDER_1_ACCESS_KEY_ID = ""
# S3_PROVIDER_1_SECRET_ACCESS_KEY = ""
# S3_PROVIDER_2_ACCESS_KEY_ID = ""
# S3_PROVIDER_2_SECRET_ACCESS_KEY = ""
[vars]
### Environment variables for the GET Worker
#TURNSTILE_SECRET_KEY = "" # Cloudflare Turnstile secret key, manage with `wrangler secret` https://developers.cloudflare.com/workers/wrangler/commands/#secret
#TURNSTILE_SITE_KEY = "" # Cloudflare Turnstile site key, manage with `wrangler secret` https://developers.cloudflare.com/workers/wrangler/commands/#secret
VAR_EXPIRATION_DAYS = "90" # Set the expiration period in days
VAR_PREFIX_DISGUISE = "&prefix=%16%03%01%00%C2%A8%01%01" # Custom text to append after the access URL
VAR_WEIGHT_LATENCY = "0.8" # Weight for latency in the score calculation
VAR_WEIGHT_ACCESS_KEY_COUNT = "0.2" # Weight for access key count in the score calculation
VAR_API_ENDPOINT_TIMEOUT = "5000" # Timeout duration for API endpoint requests (in milliseconds)
### Environment variables for the DELETE Worker
#SECRET_AUTH_TOKEN = "" # Set a random auth token, manage with `wrangler secret` https://developers.cloudflare.com/workers/wrangler/commands/#secret
#VAR_CF_ACCESS_CLIENT_ID = "" # Cloudflare Access Service Token details, manage with `wrangler secret` https://developers.cloudflare.com/workers/wrangler/commands/#secret
#VAR_CF_ACCESS_CLIENT_SECRET = "" # Cloudflare Access Service Token details, manage with `wrangler secret` https://developers.cloudflare.com/workers/wrangler/commands/#secret
VAR_PROM_QUERY_TIME_RANGE = "90d" # delete keys that have not been used for X number of days
### Environment variables for the UPDATE Worker
VAR_MAX_KEYS_PER_RUN = "5000" # Cursor-based pagination - how many keys will be processed
VAR_MINIMUM_BYTES_THRESHOLD = "1000" # Minimum number of bytes transferred to consider a key active
VAR_MAX_RETRIES = "2" # Maximum number of retry attempts for operations
VAR_RETRY_DELAY = "1000" # Delay in milliseconds between retry attempts
### WebSocket configuration variables
VAR_WEBSOCKET_ENABLED = "false" # Set to "true" to enable WebSocket support for access keys
# Note: WEBSOCKET_DOMAIN is now read from KV namespace per server (in endpoint JSON data)
VAR_WEBSOCKET_TCP_PATH = "/tcp" # Path for TCP over WebSocket
VAR_WEBSOCKET_UDP_PATH = "/udp" # Path for UDP over WebSocket
VAR_WEBSOCKET_TLS = "true" # Use WSS (true) or WS (false)
### S3 storage configuration
VAR_S3_PROVIDERS_ENABLED = "false" # Set to "true" to enable S3 storage for WebSocket keys
VAR_S3_PROVIDER_COUNT = "0" # Number of S3 providers configured
VAR_S3_UPLOAD_MAX_RETRIES = "3" # Max retries for S3 uploads
### S3 Provider 1 Example (Cloudflare R2)
# VAR_S3_PROVIDER_1_NAME = "r2"
# VAR_S3_PROVIDER_1_ENDPOINT = "https://account.r2.cloudflarestorage.com"
# VAR_S3_PROVIDER_1_BUCKET = "freesocks-keys"
# VAR_S3_PROVIDER_1_PUBLIC_URL = "https://freesocks-keys.account.r2.cloudflarestorage.com"
# VAR_S3_PROVIDER_1_REGION = "auto"
# S3_PROVIDER_1_ACCESS_KEY_ID = "" # Manage with `wrangler secret`
# S3_PROVIDER_1_SECRET_ACCESS_KEY = "" # Manage with `wrangler secret`
### S3 Provider 2 Example (Backblaze B2)
# VAR_S3_PROVIDER_2_NAME = "backblaze"
# VAR_S3_PROVIDER_2_ENDPOINT = "https://s3.us-west-002.backblazeb2.com"
# VAR_S3_PROVIDER_2_BUCKET = "freesocks-keys"
# VAR_S3_PROVIDER_2_PUBLIC_URL = "https://f002.backblazeb2.com/file/freesocks-keys"
# VAR_S3_PROVIDER_2_REGION = "us-west-002"
# S3_PROVIDER_2_ACCESS_KEY_ID = "" # Manage with `wrangler secret`
# S3_PROVIDER_2_SECRET_ACCESS_KEY = "" # Manage with `wrangler secret`
### Delete operation configuration
VAR_DELETE_DRY_RUN = "true" # Default to dry run mode for safety
VAR_DELETE_S3_OBJECTS = "false" # Set to "true" to delete S3 objects when keys are deleted