cname updates and other things
This commit is contained in:
parent
2a2260294e
commit
19db0708bb
@ -152,6 +152,64 @@ echo "Creating Cloudflare Access applications..."
|
|||||||
# Create access applications only for specific services
|
# Create access applications only for specific services
|
||||||
PROTECTED_SERVICES=("homepage" "live" "ferdium" "convertx" "mini-qr" "ollama")
|
PROTECTED_SERVICES=("homepage" "live" "ferdium" "convertx" "mini-qr" "ollama")
|
||||||
|
|
||||||
|
# Services that should have bypass policies (no authentication)
|
||||||
|
BYPASS_SERVICES=("excalidraw" "rocket" "listmonk" "vw" "docs")
|
||||||
|
|
||||||
|
# Function to create bypass policy for a service
|
||||||
|
create_bypass_policy() {
|
||||||
|
local service=$1
|
||||||
|
echo "Creating access application for $service.$CF_DOMAIN with bypass policy..."
|
||||||
|
|
||||||
|
SERVICE_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
||||||
|
-H "Authorization: Bearer $CF_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
--data "{
|
||||||
|
\"name\": \"$service $CF_DOMAIN\",
|
||||||
|
\"domain\": \"$service.$CF_DOMAIN\",
|
||||||
|
\"type\": \"self_hosted\",
|
||||||
|
\"session_duration\": \"24h\",
|
||||||
|
\"app_launcher_visible\": true,
|
||||||
|
\"skip_interstitial\": true
|
||||||
|
}")
|
||||||
|
|
||||||
|
# Extract the application ID from the response
|
||||||
|
SERVICE_APP_ID=$(echo $SERVICE_APP_RESPONSE | jq -r '.result.id')
|
||||||
|
|
||||||
|
if [ -z "$SERVICE_APP_ID" ] || [ "$SERVICE_APP_ID" == "null" ]; then
|
||||||
|
echo "Error creating $service access application. Response: $SERVICE_APP_RESPONSE"
|
||||||
|
else
|
||||||
|
echo "Successfully created $service access application with ID: $SERVICE_APP_ID"
|
||||||
|
|
||||||
|
# Create bypass policy for everyone
|
||||||
|
echo "Creating bypass policy for $service application..."
|
||||||
|
|
||||||
|
POLICY_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps/$SERVICE_APP_ID/policies" \
|
||||||
|
-H "Authorization: Bearer $CF_API_TOKEN" \
|
||||||
|
-H "Content-Type: application/json" \
|
||||||
|
--data "{
|
||||||
|
\"name\": \"Bypass for Everyone\",
|
||||||
|
\"decision\": \"bypass\",
|
||||||
|
\"include\": [{
|
||||||
|
\"everyone\": {}
|
||||||
|
}],
|
||||||
|
\"require\": [],
|
||||||
|
\"exclude\": []
|
||||||
|
}")
|
||||||
|
|
||||||
|
# Check if policy creation was successful
|
||||||
|
POLICY_SUCCESS=$(echo $POLICY_RESPONSE | jq -r '.success')
|
||||||
|
|
||||||
|
if [ "$POLICY_SUCCESS" == "true" ]; then
|
||||||
|
POLICY_ID=$(echo $POLICY_RESPONSE | jq -r '.result.id')
|
||||||
|
echo "Bypass policy for $service created successfully with ID: $POLICY_ID"
|
||||||
|
else
|
||||||
|
ERROR_MSG=$(echo $POLICY_RESPONSE | jq -r '.errors[0].message')
|
||||||
|
echo "Error creating bypass policy for $service: $ERROR_MSG"
|
||||||
|
echo "Full response: $POLICY_RESPONSE"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
for service in "${PROTECTED_SERVICES[@]}"; do
|
for service in "${PROTECTED_SERVICES[@]}"; do
|
||||||
echo "Creating access application for $service.$CF_DOMAIN..."
|
echo "Creating access application for $service.$CF_DOMAIN..."
|
||||||
|
|
||||||
@ -209,6 +267,11 @@ for service in "${PROTECTED_SERVICES[@]}"; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Create bypass policies for specified services
|
||||||
|
for service in "${BYPASS_SERVICES[@]}"; do
|
||||||
|
create_bypass_policy "$service"
|
||||||
|
done
|
||||||
|
|
||||||
# 2. Create specific access application for Gitea
|
# 2. Create specific access application for Gitea
|
||||||
echo "Creating access application for gitea.$CF_DOMAIN..."
|
echo "Creating access application for gitea.$CF_DOMAIN..."
|
||||||
GITEA_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
GITEA_APP_RESPONSE=$(curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/access/apps" \
|
||||||
|
@ -63,3 +63,8 @@
|
|||||||
- Github:
|
- Github:
|
||||||
- abbr: GH
|
- abbr: GH
|
||||||
href: https://github.com/
|
href: https://github.com/
|
||||||
|
|
||||||
|
- Security & Management:
|
||||||
|
- Vaultwarden:
|
||||||
|
- abbr: VW
|
||||||
|
href: https://github.com/dani-garcia/vaultwarden
|
||||||
|
@ -77,3 +77,9 @@
|
|||||||
href: http://localhost:5678
|
href: http://localhost:5678
|
||||||
description: Workflow automation
|
description: Workflow automation
|
||||||
icon: n8n
|
icon: n8n
|
||||||
|
|
||||||
|
- Security & Management:
|
||||||
|
- Vaultwarden:
|
||||||
|
href: http://localhost:8200
|
||||||
|
description: Self-hosted password manager
|
||||||
|
icon: mdi-shield-key
|
||||||
|
@ -63,3 +63,8 @@
|
|||||||
- Github:
|
- Github:
|
||||||
- abbr: GH
|
- abbr: GH
|
||||||
href: https://github.com/
|
href: https://github.com/
|
||||||
|
|
||||||
|
- Security & Management:
|
||||||
|
- Vaultwarden:
|
||||||
|
- abbr: VW
|
||||||
|
href: https://github.com/dani-garcia/vaultwarden
|
||||||
|
@ -75,3 +75,9 @@
|
|||||||
href: https://n8n.test.com
|
href: https://n8n.test.com
|
||||||
description: Workflow automation
|
description: Workflow automation
|
||||||
icon: n8n
|
icon: n8n
|
||||||
|
|
||||||
|
- Security & Management:
|
||||||
|
- Vaultwarden:
|
||||||
|
href: https://vw.test.com
|
||||||
|
description: Self-hosted password manager
|
||||||
|
icon: mdi-shield-key
|
||||||
|
Loading…
x
Reference in New Issue
Block a user