From 2120e965fb4b178d309b3d2807bf34700fc79a7c Mon Sep 17 00:00:00 2001 From: cpu Date: Mon, 31 Mar 2025 13:17:52 +0200 Subject: [PATCH] let traefik handle CORS --- .env.example | 8 ---- README.md | 82 ++++++++++----------------------- images/flic-button-request.png | Bin 103102 -> 104389 bytes package-lock.json | 21 --------- package.json | 1 - server.js | 62 ++++++++----------------- 6 files changed, 45 insertions(+), 129 deletions(-) diff --git a/.env.example b/.env.example index b618dbe..7fb422f 100644 --- a/.env.example +++ b/.env.example @@ -20,14 +20,6 @@ DEFAULT_BUTTON_NAME=game-button BASIC_AUTH_USERNAME=user12345 BASIC_AUTH_PASSWORD=password -# --- CORS Configuration (Optional but Recommended) --- -# Comma-separated list of allowed origins for requests (e.g., your PWA frontend URL) -# If blank or not set, CORS might block browser requests (like from a setup page). -# Use '*' carefully, preferably list specific domains. -ALLOWED_ORIGINS=https://game-timer.virtonline.eu,http://localhost -ALLOWED_METHODS=POST,GET -ALLOWED_HEADERS=Content-Type,Authorization,button-name,button-battery-level,timestamp - # --- Web Push Retry Configuration (Optional) --- # Number of retries on failure (e.g., DNS issues) NOTIFICATION_MAX_RETRIES=3 diff --git a/README.md b/README.md index 99ce048..e4d0d47 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,6 @@ It's designed to be run as a Docker container and integrated with Traefik v3 for * Integrates with Traefik v3 via Docker labels. * Configurable via environment variables (`.env` file). * Optional Basic Authentication for securing the `/webhook` and `/subscribe` endpoints. -* CORS configuration for allowing requests (needed if your PWA management interface interacts with the `/subscribe` endpoint). ## Prerequisites @@ -61,21 +60,16 @@ It's designed to be run as a Docker container and integrated with Traefik v3 for * `VAPID_PRIVATE_KEY`: The private key generated in step 2. **Keep this secret!** * `VAPID_SUBJECT`: A `mailto:` or `https:` URL identifying you or your application (e.g., `mailto:admin@yourdomain.com`). Used by push services to contact you. * `PORT`: (Default: `3000`) The internal port the Node.js app listens on. Traefik will map to this. - * `SUBSCRIPTIONS_FILE`: (Default: `/app/subscriptions.json`) The path *inside the container* where the button-to-subscription mapping is stored. + * `SUBSCRIPTIONS_FILE`: (Default: `subscriptions.json`) The path *inside the container* where the button-to-subscription mapping is stored. * `DEFAULT_BUTTON_NAME`: (Default: `game-button`) The default button name to use when the `Button-Name` header is not provided in the webhook request. * `BASIC_AUTH_USERNAME`: (Optional) Username for Basic Authentication. If set along with `BASIC_AUTH_PASSWORD`, authentication will be enabled for `/webhook` and `/subscribe`. * `BASIC_AUTH_PASSWORD`: (Optional) Password for Basic Authentication. If set along with `BASIC_AUTH_USERNAME`, authentication will be enabled. - * `ALLOWED_ORIGINS`: Comma-separated list of domains allowed by CORS. Include your PWA's domain if it needs to interact directly (e.g., for setup). Example: `https://my-pwa.com`. - * `ALLOWED_METHODS`: (Default: `POST,OPTIONS`) Standard methods needed. - * `ALLOWED_HEADERS`: (Default: `Content-Type,Authorization`) Standard headers needed. * `NOTIFICATION_MAX_RETRIES`: (Default: `3`) Number of retry attempts for failed push notifications. Must be a number. * `NOTIFICATION_FIRST_RETRY_DELAY_MS`: (Default: `10`) Delay in milliseconds for the first retry attempt. Setting to 0-10ms provides near-immediate first retry for transient DNS issues. Must be a number. * `NOTIFICATION_SUBSEQUENT_RETRY_DELAY_MS`: (Default: `1000`) Base delay in milliseconds for subsequent retries. Each additional retry uses this value with exponential backoff and jitter. Must be a number. * `DNS_TIMEOUT_MS`: (Default: `5000`) DNS resolution timeout in milliseconds. Must be a number. * `HTTP_TIMEOUT_MS`: (Default: `10000`) HTTP request timeout in milliseconds. Must be a number. * `LOG_LEVEL`: (Default: `info`) Controls verbosity of logs. Valid values are `error`, `warn`, `info`, or `debug`. Use `debug` to see detailed header information and other diagnostic messages. - * `TRAEFIK_SERVICE_HOST`: Your public domain for this service (e.g., `webpush.virtonline.eu`). - * `TRAEFIK_CERT_RESOLVER`: The name of your TLS certificate resolver configured in Traefik (e.g., `le`, `myresolver`). 4. **Configure Traefik Labels:** * Copy the example `labels` file: @@ -83,24 +77,6 @@ It's designed to be run as a Docker container and integrated with Traefik v3 for cp labels.example labels ``` -5. **Prepare Subscription Mapping File:** - * Edit the `subscriptions.json` file - * Add entries mapping your Flic button's serial number (as a lowercase string key) to the PWA `PushSubscription` object. - ```json - { - "game": { // <-- Replace with your actual Flic Button name (lowercase recommended) - "endpoint": "https://your_pwa_push_endpoint...", - "expirationTime": null, - "keys": { - "p256dh": "YOUR_PWA_SUBSCRIPTION_P256DH_KEY", - "auth": "YOUR_PWA_SUBSCRIPTION_AUTH_KEY" - } - } - // Add more entries for other buttons if needed - } - ``` - * Ensure this file contains valid JSON. - ## Running the Service 1. **Build the Docker Image:** @@ -113,7 +89,7 @@ It's designed to be run as a Docker container and integrated with Traefik v3 for This command runs the container in detached mode (`-d`), names it, connects it to the `traefik` network, passes environment variables from the `.env` file, applies the Traefik labels from the `labels` file, and mounts the `subscriptions.json` file into the container. ```bash - docker run -d --name flic-webhook-webpush \ + docker run -rm -d --name flic-webhook-webpush \ --network traefik \ --env-file .env \ --label-file labels \ @@ -137,15 +113,19 @@ In your Flic app or Flic Hub SDK interface: 1. Select your Flic button. 2. Add an "Internet Request" action. 3. Fill in the following details: - * Set `GET` method. + * Select the `GET` method. * Set URL with query parameter: `https:///webhook/SingleClick` (Replace `` with your actual service domain, e.g., `webpush.virtonline.eu`). * **If Basic Authentication is enabled:** - * Set the `Username` and `Password` fields to the values from your `BASIC_AUTH_USERNAME` and `BASIC_AUTH_PASSWORD` environment variables. - * **If Basic Authentication is disabled:** - * Leave the `Username` and `Password` fields empty. - * Tap on `Save action`. -4. Repeat for Double Click and/or Hold events, changing the `click_type` parameter accordingly (e.g., `/DoubleClick`). + * Set the Headers: + * Set the `Key` fields to `Authorization`. + * Set the `Value` fields to `Basic `. + * Click `ADD`. + * Tap on `SAVE ACTION`. +4. Repeat for Double Click (i.e., `/DoubleClick`) and Hold (i.e., `/Hold`) events. + The request for the Hold event should look like this: +Flic Button Request + ## API Endpoints * **`POST /subscribe`** @@ -184,13 +164,12 @@ In your Flic app or Flic Hub SDK interface: * `Timestamp`: Timestamp of the button event (sent by the Flic system). * `Button-Battery-Level`: The battery level percentage of the button (sent by the Flic system). * **Push Notification Payload (`data` field):** The service sends a JSON payload within the push notification. The client-side Service Worker can access this data via `event.data.json()`. The structure is: - ```json - { - "action": "SingleClick", // or DoubleClick, Hold - "button": "game-button", // Normalized button name (lowercase) - "timestamp": "2024-03-28T15:00:00.000Z", // ISO 8601 timestamp or current server time - "batteryLevel": 100 // Integer percentage (0-100) or 'N/A' if not provided - } + ```bash + curl -X GET https://webpush.virtonline.eu/webhook/SingleClick \ + -H 'Authorization: Basic cGxheWVyOlNldmVuT2ZOaW5l' \ + -H "Button-Name: Game-button" \ + -H "Timestamp: 2025-03-26T01:10:20Z" \ + -H "Button-Battery-Level: 100" ``` * **Responses:** * `200 OK`: Webhook received, push notification sent successfully. @@ -204,25 +183,14 @@ In your Flic app or Flic Hub SDK interface: Once your service is up and running, you can test the webhook endpoint using curl or any API testing tool. This example assumes Basic Authentication is enabled. -**Note:** Replace ``, ``, ``, and `` with your actual values. The `Button-Name` header is optional and will default to the value of `DEFAULT_BUTTON_NAME` if not provided. +**Note:** Replace ``, `` with your actual values. The `Button-Name` header is optional and will default to the value of `DEFAULT_BUTTON_NAME` if not provided. ```bash -# Generate Base64 credentials (run this once) -# echo -n ':' | base64 - -# Example using generated Base64 string (replace YOUR_BASE64_CREDS) -curl -X GET "https:///webhook/SingleClick" \ - -H "Authorization: Basic YOUR_BASE64_CREDS" \ - -H "Button-Name: " \ - -H "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" \ - -H "Button-Battery-Level: 100" \ - -# Example using curl's built-in Basic Auth (-u) -curl -X GET "https:///webhook/SingleClick" \ - -u ":" \ - -H "Button-Name: " \ - -H "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" \ - -H "Button-Battery-Level: 100" \ +curl -X GET "https://webpush.virtonline.eu/webhook/SingleClick" \ + -H "Authorization: Basic $(echo -n 'user:password' | base64)" \ + -H "Button-Name: game-button" \ + -H "Timestamp: $(date -u +%Y-%m-%dT%H:%M:%SZ)" \ + -H "Button-Battery-Level: 100" ``` The expected response should be: @@ -232,7 +200,7 @@ The expected response should be: If successful, the above response indicates that: 1. Your webhook endpoint is properly configured -2. The button ID was found in your subscriptions.json file +2. The button name was found in your subscriptions.json file 3. The web push notification was successfully sent to the registered PUSH API endpoint (e.g. https://jmt17.google.com/fcm/send/cf907M...) If you receive a different response, refer to the Troubleshooting section below. diff --git a/images/flic-button-request.png b/images/flic-button-request.png index b7ff5ce01932c6442e29f0f5db7977b78cf4c751..087b4f83c15357f918603be9c0614f2955daae81 100644 GIT binary patch literal 104389 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

ymQ}cZQ)UPvq?Q-*kmp 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%0A;_6A7xkz0~PAt{OciPemnYeHiT<%*v$H24{ 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 literal 103102 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

J-MUq4emCoHbk&6=bxaNM)oi9R<}4N|@P{ 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 diff --git a/package-lock.json b/package-lock.json index f0ce88d..4960405 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,6 @@ "version": "1.0.0", "license": "MIT", "dependencies": { - "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.19.2", "web-push": "^3.6.7" @@ -151,18 +150,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -614,14 +601,6 @@ "node": ">= 0.6" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", diff --git a/package.json b/package.json index 81120fa..a1e453d 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,6 @@ "author": "Your Name", "license": "MIT", "dependencies": { - "cors": "^2.8.5", "dotenv": "^16.4.5", "express": "^4.19.2", "web-push": "^3.6.7" diff --git a/server.js b/server.js index 0135351..64453c6 100644 --- a/server.js +++ b/server.js @@ -1,6 +1,5 @@ const express = require('express'); const webpush = require('web-push'); -const cors = require('cors'); const fs = require('fs'); const path = require('path'); const dns = require('dns'); // Add DNS module @@ -20,9 +19,6 @@ const basicAuthUsername = process.env.BASIC_AUTH_USERNAME; const basicAuthPassword = process.env.BASIC_AUTH_PASSWORD; // Note: We are NOT adding specific authentication for the /subscribe endpoint in this version. // Consider adding API key or other auth if exposing this publicly. -const allowedOrigins = (process.env.ALLOWED_ORIGINS || "").split(',').map(origin => origin.trim()).filter(origin => origin); -const allowedMethods = (process.env.ALLOWED_METHODS || "POST,OPTIONS,GET").split(',').map(method => method.trim()).filter(method => method); -const allowedHeaders = (process.env.ALLOWED_HEADERS || "Content-Type,Authorization").split(',').map(header => header.trim()).filter(header => header); // Retry configuration for DNS resolution issues const maxRetries = parseInt(process.env.NOTIFICATION_MAX_RETRIES || 3, 10); const subsequentRetryDelay = parseInt(process.env.NOTIFICATION_SUBSEQUENT_RETRY_DELAY_MS || 1000, 10); // 1 second base delay for subsequent retries @@ -104,35 +100,35 @@ async function sendWebPushWithRetry(subscription, payload, retryCount = 0, delay return await webpush.sendNotification(subscription, payload); } catch (error) { // Check if the error is a DNS resolution error that might be temporary - const isDnsError = error.code === 'EAI_AGAIN' || - error.code === 'ENOTFOUND' || + const isDnsError = error.code === 'EAI_AGAIN' || + error.code === 'ENOTFOUND' || error.code === 'ETIMEDOUT'; - + if (isDnsError && retryCount < maxRetries) { // For first retry (retryCount = 0), use minimal delay or no delay const actualDelay = retryCount === 0 ? firstRetryDelay : delay; - + if (retryCount === 0) { logger.info(`DNS resolution failed (${error.code}). Retrying notification immediately or with minimal delay of ${firstRetryDelay}ms (attempt ${retryCount + 1}/${maxRetries})...`); } else { logger.info(`DNS resolution failed (${error.code}). Retrying notification in ${actualDelay}ms (attempt ${retryCount + 1}/${maxRetries})...`); } - + // Wait for the delay (minimal or none for first retry) if (actualDelay > 0) { await new Promise(resolve => setTimeout(resolve, actualDelay)); } - + // Calculate next delay with exponential backoff + jitter // First retry uses subsequentRetryDelay, subsequent retries use exponential increase - const nextDelay = retryCount === 0 ? - subsequentRetryDelay : + const nextDelay = retryCount === 0 ? + subsequentRetryDelay : delay * (1.5 + Math.random() * 0.5); - + // Retry recursively with increased count and delay return sendWebPushWithRetry(subscription, payload, retryCount + 1, nextDelay); } - + // If we've exhausted retries or it's not a DNS error, rethrow throw error; } @@ -182,34 +178,18 @@ loadSubscriptions(); // --- Express App Setup --- const app = express(); -// --- CORS Middleware --- -const corsOptions = { - origin: (origin, callback) => { - if (!origin || allowedOrigins.length === 0 || allowedOrigins.includes(origin)) { - callback(null, true); - } else { - console.warn(`CORS: Blocked origin: ${origin}`); - callback(new Error('Not allowed by CORS')); - } - }, - methods: allowedMethods, - allowedHeaders: allowedHeaders, - optionsSuccessStatus: 204 // For pre-flight requests -}; -app.use(cors(corsOptions)); -// Enable pre-flight requests for all relevant routes -app.options('/webhook', cors(corsOptions)); -app.options('/subscribe', cors(corsOptions)); - - // --- Body Parsing Middleware --- app.use(express.json()); // --- Basic Authentication Middleware --- const authenticateBasic = (req, res, next) => { - // Skip authentication for OPTIONS requests (CORS preflight) + // Skip authentication for OPTIONS requests (CORS preflight - Traefik might still forward them or handle them) + // It's safe to keep this check. if (req.method === 'OPTIONS') { - return next(); + logger.debug('Auth: Skipping auth for OPTIONS request.'); + // Traefik should ideally respond to OPTIONS, but if it forwards, we just proceed without auth check. + // We don't need to send CORS headers here anymore. + return res.sendStatus(204); // Standard practice for preflight response if it reaches the backend } // Skip authentication if username or password are not set in environment @@ -248,8 +228,8 @@ const authenticateBasic = (req, res, next) => { // Apply Basic Authentication app.post('/subscribe', authenticateBasic, async (req, res) => { let { button_id, subscription } = req.body; - - logger.debug('All headers received:'); + + logger.debug('All headers received on /subscribe:'); Object.keys(req.headers).forEach(headerName => { logger.debug(` ${headerName}: ${req.headers[headerName]}`); }); @@ -299,7 +279,7 @@ app.get('/webhook/:click_type', authenticateBasic, async (req, res) => { const batteryLevel = batteryLevelHeader ? parseInt(batteryLevelHeader, 10) || batteryLevelHeader : 'N/A'; // Log all headers received from Flic - logger.debug('All headers received:'); + logger.debug('All headers received on /webhook:'); Object.keys(req.headers).forEach(headerName => { logger.debug(` ${headerName}: ${req.headers[headerName]}`); }); @@ -362,9 +342,7 @@ const server = http.createServer(app); server.listen(port, () => { logger.info(`Flic Webhook to WebPush server listening on port ${port}`); - logger.info(`Allowed Origins: ${allowedOrigins.length > 0 ? allowedOrigins.join(', ') : '(Any)'}`); - logger.info(`Allowed Methods: ${allowedMethods.join(', ')}`); - logger.info(`Allowed Headers: ${allowedHeaders.join(', ')}`); + logger.info('CORS: Handled by Traefik (expected)'); // Log Basic Auth status instead of Flic Secret if (basicAuthUsername && basicAuthPassword) { logger.info('Authentication: Basic Auth Enabled');