init: export 3 workflows, add IDEAS.md + README
This commit is contained in:
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"updatedAt": "2026-05-05T14:20:10.843Z",
|
||||
"createdAt": "2026-04-30T12:43:53.619Z",
|
||||
"id": "RUKqMgUeDhHihpjl",
|
||||
"name": "Karakeep to memos",
|
||||
"description": null,
|
||||
"active": true,
|
||||
"isArchived": false,
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"url": "=https://hoarder.nuclide.systems/api/v1/bookmarks/{{ $json.body.bookmarkId }}",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpBearerAuth",
|
||||
"options": {}
|
||||
},
|
||||
"id": "ba3c1bdf-4ad5-4511-8955-a99b4e48b3c5",
|
||||
"name": "Get Bookmark Details",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.2,
|
||||
"position": [
|
||||
16,
|
||||
0
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "Zo5gX3WVup7SHgb9",
|
||||
"name": "Header Auth account"
|
||||
},
|
||||
"httpBearerAuth": {
|
||||
"id": "pMCAiDIO9dOnP1Q3",
|
||||
"name": "karakeep"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "karakeep-to-memos",
|
||||
"options": {}
|
||||
},
|
||||
"id": "f99858b6-a963-4f4e-85fe-1e1d8f269490",
|
||||
"name": "Webhook1",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
-208,
|
||||
0
|
||||
],
|
||||
"webhookId": "ec607cac-2d65-4eff-9e5e-f2a4ee0cb8a6"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "https://memos.nuclide.systems/api/v1/memos",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpBearerAuth",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "={\n \"content\": \"\ud83d\udd16 **New Bookmark:** {{ $json.title }}\\n{{ $json.content.url }}\\n\\n> {{ $json.content.description || 'No description available' }}\\n\\n#source/karakeep {{ $json.tags.map(t => '#' + t.name).join(' ') }}\",\n \"visibility\": \"PRIVATE\"\n}",
|
||||
"options": {}
|
||||
},
|
||||
"id": "325efc5b-5b02-412d-8d2b-db7254ca2a43",
|
||||
"name": "Post to Memos1",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.2,
|
||||
"position": [
|
||||
240,
|
||||
0
|
||||
],
|
||||
"credentials": {
|
||||
"httpHeaderAuth": {
|
||||
"id": "Zo5gX3WVup7SHgb9",
|
||||
"name": "Header Auth account"
|
||||
},
|
||||
"httpBearerAuth": {
|
||||
"id": "tNeQXyIEOdyqe2VI",
|
||||
"name": "memos"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Get Bookmark Details": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Post to Memos1",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook1": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Get Bookmark Details",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate"
|
||||
},
|
||||
"staticData": null,
|
||||
"meta": null,
|
||||
"pinData": {
|
||||
"Webhook1": [
|
||||
{
|
||||
"json": {
|
||||
"headers": {
|
||||
"host": "n8n.nuclide.systems",
|
||||
"user-agent": "node-fetch",
|
||||
"content-length": "184",
|
||||
"accept": "*/*",
|
||||
"accept-encoding": "gzip, deflate, br",
|
||||
"connection": "keep-alive",
|
||||
"content-type": "application/json",
|
||||
"x-forwarded-for": "192.168.1.1",
|
||||
"x-forwarded-host": "n8n.nuclide.systems",
|
||||
"x-forwarded-proto": "https",
|
||||
"x-forwarded-server": "zoraxy-5280418d-4b2e-4b04-9868-bd361bb11c66",
|
||||
"x-real-ip": "192.168.1.1"
|
||||
},
|
||||
"params": {},
|
||||
"query": {},
|
||||
"body": {
|
||||
"jobId": "21080",
|
||||
"bookmarkId": "vzul58l5ocml1u5pugx331xc",
|
||||
"userId": "sxcjjxhynks252ih65ud9e7z",
|
||||
"url": "https://www.daytona.io/docs/en/oss-deployment/",
|
||||
"type": "link",
|
||||
"operation": "crawled"
|
||||
},
|
||||
"webhookUrl": "https://n8n.nuclide.systems/ - PUID=997/webhook/karakeep-to-memos",
|
||||
"executionMode": "production"
|
||||
},
|
||||
"pairedItem": {
|
||||
"item": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"versionId": "bff9acfc-6fa2-4b09-8df1-c005a3bc9a7a",
|
||||
"activeVersionId": "bff9acfc-6fa2-4b09-8df1-c005a3bc9a7a",
|
||||
"versionCounter": 77,
|
||||
"triggerCount": 1,
|
||||
"tags": [],
|
||||
"shared": [
|
||||
{
|
||||
"updatedAt": "2026-04-30T12:43:53.622Z",
|
||||
"createdAt": "2026-04-30T12:43:53.622Z",
|
||||
"role": "workflow:owner",
|
||||
"workflowId": "RUKqMgUeDhHihpjl",
|
||||
"projectId": "hkIaTyp1CKVS8ywT",
|
||||
"project": {
|
||||
"updatedAt": "2026-03-09T07:21:36.510Z",
|
||||
"createdAt": "2026-03-09T07:20:59.502Z",
|
||||
"id": "hkIaTyp1CKVS8ywT",
|
||||
"name": "Florian Krebs <fkrebs@nucli.de>",
|
||||
"type": "personal",
|
||||
"icon": null,
|
||||
"description": null,
|
||||
"creatorId": "8af5c813-f89c-4b83-bcf8-5d59864a038a"
|
||||
}
|
||||
}
|
||||
],
|
||||
"versionMetadata": {
|
||||
"name": "Version bff9acfc",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"updatedAt": "2026-04-11T10:18:14.686Z",
|
||||
"createdAt": "2026-03-09T07:21:50.076Z",
|
||||
"id": "mXYla2g5o8kLumAJ",
|
||||
"name": "Recipe",
|
||||
"description": null,
|
||||
"active": true,
|
||||
"isArchived": false,
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "recipe-import",
|
||||
"options": {}
|
||||
},
|
||||
"name": "Webhook",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
0,
|
||||
0
|
||||
],
|
||||
"id": "77aa56a0-bb5c-4a0d-877e-940dc46a1169",
|
||||
"webhookId": "ed5885d6-7a81-4a35-8998-8e540991ff21"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"url": "={{$node[\"Webhook\"].json[\"body\"][\"url\"]}}",
|
||||
"options": {}
|
||||
},
|
||||
"name": "Fetch HTML",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.1,
|
||||
"position": [
|
||||
224,
|
||||
0
|
||||
],
|
||||
"id": "9f8833dd-be35-4d09-bbc0-53ac053ea3f2",
|
||||
"retryOnFail": true,
|
||||
"notesInFlow": false
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"method": "POST",
|
||||
"url": "https://nc.nuclide.systems/index.php/apps/cookbook/api/v1/recipes",
|
||||
"authentication": "genericCredentialType",
|
||||
"genericAuthType": "httpBasicAuth",
|
||||
"sendBody": true,
|
||||
"specifyBody": "json",
|
||||
"jsonBody": "={{ $json.output }}",
|
||||
"options": {}
|
||||
},
|
||||
"name": "Post to Cookbook",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 4.1,
|
||||
"position": [
|
||||
1088,
|
||||
0
|
||||
],
|
||||
"id": "478bdf04-c93e-4e81-ad81-7584ee5e2c62",
|
||||
"credentials": {
|
||||
"httpBasicAuth": {
|
||||
"id": "LIjnFZEJ6LNkhOAR",
|
||||
"name": "Nextcloud"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"text": "={{ $json.data }}",
|
||||
"schemaType": "manual",
|
||||
"inputSchema": "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"title\": \"Recipe (schema.org)\",\n \"description\": \"Ein Kochrezept basierend auf schema.org/Recipe\",\n \"type\": \"object\",\n \"required\": [\"@context\", \"@type\", \"name\", \"recipeIngredient\", \"recipeInstructions\"],\n \"properties\": {\n \"@context\": {\n \"type\": \"string\",\n \"const\": \"https://schema.org\"\n },\n \"@type\": {\n \"type\": \"string\",\n \"const\": \"Recipe\"\n },\n \"name\": {\n \"type\": \"string\",\n \"description\": \"Der Name des Gerichts.\"\n },\n \"image\": {\n \"oneOf\": [\n { \"type\": \"string\", \"format\": \"uri\" },\n { \"type\": \"array\", \"items\": { \"type\": \"string\", \"format\": \"uri\" } }\n ],\n \"description\": \"URL zu einem Bild des fertigen Gerichts.\"\n },\n \"author\": {\n \"type\": \"object\",\n \"properties\": {\n \"@type\": { \"type\": \"string\", \"enum\": [\"Person\", \"Organization\"] },\n \"name\": { \"type\": \"string\" }\n }\n },\n \"datePublished\": {\n \"type\": \"string\",\n \"format\": \"date\"\n },\n \"description\": {\n \"type\": \"string\",\n \"description\": \"Kurze Zusammenfassung des Rezepts.\"\n },\n \"prepTime\": {\n \"type\": \"string\",\n \"pattern\": \"^P([0-9]+Y)?([0-9]+M)?([0-9]+D)?T?([0-9]+H)?([0-9]+M)?([0-9]+S)?$\",\n \"description\": \"Vorbereitungszeit im ISO 8601 Format (z.B. PT15M).\"\n },\n \"cookTime\": {\n \"type\": \"string\",\n \"pattern\": \"^P([0-9]+Y)?([0-9]+M)?([0-9]+D)?T?([0-9]+H)?([0-9]+M)?([0-9]+S)?$\",\n \"description\": \"Kochzeit im ISO 8601 Format.\"\n },\n \"totalTime\": {\n \"type\": \"string\",\n \"pattern\": \"^P([0-9]+Y)?([0-9]+M)?([0-9]+D)?T?([0-9]+H)?([0-9]+M)?([0-9]+S)?$\",\n \"description\": \"Gesamtzeit im ISO 8601 Format.\"\n },\n \"recipeCategory\": {\n \"type\": \"string\",\n \"description\": \"z.B. 'Vorspeise' oder 'Dessert'.\"\n },\n \"recipeCuisine\": {\n \"type\": \"string\",\n \"description\": \"z.B. 'Italienisch' oder 'Franz\u00f6sisch'.\"\n },\n \"recipeYield\": {\n \"oneOf\": [\n { \"type\": \"string\" },\n { \"type\": \"number\" }\n ],\n \"description\": \"Menge, die das Rezept ergibt (z.B. '4 Portionen').\"\n },\n \"nutrition\": {\n \"type\": \"object\",\n \"properties\": {\n \"@type\": { \"type\": \"string\", \"const\": \"NutritionInformation\" },\n \"calories\": { \"type\": \"string\", \"description\": \"z.B. '240 calories'\" },\n \"fatContent\": { \"type\": \"string\" },\n \"proteinContent\": { \"type\": \"string\" },\n \"carbohydrateContent\": { \"type\": \"string\" }\n }\n },\n \"recipeIngredient\": {\n \"type\": \"array\",\n \"items\": { \"@type\": \"PropertyValue\", \"value\": 1, \"name\": \"egg\" },\n \"description\": \"Liste der ben\u00f6tigten Zutaten.\"\n },\n \"recipeInstructions\": {\n \"type\": \"array\",\n \"items\": {\n \"oneOf\": [\n { \"type\": \"string\" },\n {\n \"type\": \"object\",\n \"properties\": {\n \"@type\": { \"type\": \"string\", \"const\": \"HowToStep\" },\n \"text\": { \"type\": \"string\" },\n \"name\": { \"type\": \"string\" },\n \"url\": { \"type\": \"string\", \"format\": \"uri\" },\n \"image\": { \"type\": \"string\", \"format\": \"uri\" }\n },\n \"required\": [\"text\"]\n }\n ]\n },\n \"description\": \"Schritt-f\u00fcr-Schritt-Anleitung.\"\n },\n \"aggregateRating\": {\n \"type\": \"object\",\n \"properties\": {\n \"@type\": { \"type\": \"string\", \"const\": \"AggregateRating\" },\n \"ratingValue\": { \"type\": \"number\" },\n \"reviewCount\": { \"type\": \"number\" }\n }\n }\n }\n}",
|
||||
"options": {}
|
||||
},
|
||||
"type": "@n8n/n8n-nodes-langchain.informationExtractor",
|
||||
"typeVersion": 1.2,
|
||||
"position": [
|
||||
688,
|
||||
0
|
||||
],
|
||||
"id": "5f9d6b78-9430-4008-85bb-7633568e6311",
|
||||
"name": "Information Extractor"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"html": "={{ $json.data }}",
|
||||
"options": {
|
||||
"useLinkReferenceDefinitions": true
|
||||
}
|
||||
},
|
||||
"type": "n8n-nodes-base.markdown",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
432,
|
||||
0
|
||||
],
|
||||
"id": "b363c14e-2ee8-4608-a8ff-e567583e8097",
|
||||
"name": "Markdown"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"model": {
|
||||
"__rl": true,
|
||||
"value": "SAIA/llama-3.1-sauerkrautlm-70b-instruct",
|
||||
"mode": "list",
|
||||
"cachedResultName": "SAIA/llama-3.1-sauerkrautlm-70b-instruct"
|
||||
},
|
||||
"responsesApiEnabled": false,
|
||||
"options": {}
|
||||
},
|
||||
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
|
||||
"typeVersion": 1.3,
|
||||
"position": [
|
||||
688,
|
||||
192
|
||||
],
|
||||
"id": "c7012e63-c468-45d4-bcb5-ca1b1d9e2180",
|
||||
"name": "OpenAI Chat Model",
|
||||
"credentials": {
|
||||
"openAiApi": {
|
||||
"id": "5sHTE0Wl8Qi6twzX",
|
||||
"name": "nuclide.systems"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Fetch HTML",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Fetch HTML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Markdown",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Information Extractor": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Post to Cookbook",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Markdown": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Information Extractor",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"OpenAI Chat Model": {
|
||||
"ai_languageModel": [
|
||||
[
|
||||
{
|
||||
"node": "Information Extractor",
|
||||
"type": "ai_languageModel",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate",
|
||||
"availableInMCP": false,
|
||||
"timeSavedMode": "fixed",
|
||||
"timezone": "Europe/Berlin",
|
||||
"callerPolicy": "workflowsFromSameOwner",
|
||||
"saveDataSuccessExecution": "none",
|
||||
"redactionPolicy": "none"
|
||||
},
|
||||
"staticData": null,
|
||||
"meta": {
|
||||
"templateCredsSetupCompleted": true
|
||||
},
|
||||
"pinData": {},
|
||||
"versionId": "de91ceef-da7e-4bbc-9d91-a2ea04763d6f",
|
||||
"activeVersionId": "de91ceef-da7e-4bbc-9d91-a2ea04763d6f",
|
||||
"versionCounter": 373,
|
||||
"triggerCount": 1,
|
||||
"tags": [],
|
||||
"shared": [
|
||||
{
|
||||
"updatedAt": "2026-03-09T07:21:50.078Z",
|
||||
"createdAt": "2026-03-09T07:21:50.078Z",
|
||||
"role": "workflow:owner",
|
||||
"workflowId": "mXYla2g5o8kLumAJ",
|
||||
"projectId": "hkIaTyp1CKVS8ywT",
|
||||
"project": {
|
||||
"updatedAt": "2026-03-09T07:21:36.510Z",
|
||||
"createdAt": "2026-03-09T07:20:59.502Z",
|
||||
"id": "hkIaTyp1CKVS8ywT",
|
||||
"name": "Florian Krebs <fkrebs@nucli.de>",
|
||||
"type": "personal",
|
||||
"icon": null,
|
||||
"description": null,
|
||||
"creatorId": "8af5c813-f89c-4b83-bcf8-5d59864a038a"
|
||||
}
|
||||
}
|
||||
],
|
||||
"versionMetadata": {
|
||||
"name": "Version de91ceef",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,215 @@
|
||||
{
|
||||
"updatedAt": "2026-04-29T12:51:16.156Z",
|
||||
"createdAt": "2026-04-29T12:29:42.948Z",
|
||||
"id": "ddebbUNfpW4kE6Ns",
|
||||
"name": "RSS Archive Proxy",
|
||||
"description": null,
|
||||
"active": true,
|
||||
"isArchived": false,
|
||||
"nodes": [
|
||||
{
|
||||
"parameters": {
|
||||
"httpMethod": "POST",
|
||||
"path": "transform-opml",
|
||||
"responseMode": "lastNode",
|
||||
"options": {}
|
||||
},
|
||||
"id": "6ca1acab-6d27-488b-bf40-f5198d021743",
|
||||
"name": "Webhook: Transform OPML",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
352,
|
||||
112
|
||||
],
|
||||
"webhookId": "22cc0a92-1076-479e-88ec-68eadc808f10"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"path": "news-proxy",
|
||||
"responseMode": "lastNode",
|
||||
"options": {}
|
||||
},
|
||||
"id": "65a125d7-f8b4-4693-bbf3-1be2e7101cdd",
|
||||
"name": "Webhook: RSS Proxy",
|
||||
"type": "n8n-nodes-base.webhook",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
352,
|
||||
320
|
||||
],
|
||||
"webhookId": "b5dd99aa-6986-436e-aa7e-6e7650c87f4b"
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"url": "={{ $json.query.url }}",
|
||||
"sendHeaders": true,
|
||||
"headerParameters": {
|
||||
"parameters": [
|
||||
{
|
||||
"name": "User-Agent",
|
||||
"value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
|
||||
}
|
||||
]
|
||||
},
|
||||
"options": {}
|
||||
},
|
||||
"id": "aab36531-e74d-44f2-8dc9-2ad534c14b0e",
|
||||
"name": "HTTP Request: Fetch Feed",
|
||||
"type": "n8n-nodes-base.httpRequest",
|
||||
"typeVersion": 3,
|
||||
"position": [
|
||||
608,
|
||||
320
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "// Extrahiert den Feed-Inhalt\nlet content = items[0].json.data || items[0].text || items[0].json.body || \"\";\n\n// Ersetzt normale Links durch archive.ph Links\ncontent = content.replace(/<link>(.*?)<\\/link>/g, (match, url) => {\n if (url.includes('archive.ph')) return match;\n return `<link>https://archive.ph/newest/${url}</link>`;\n});\n\n// Ersetzt GUIDs (wichtig f\u00fcr manche Reader)\ncontent = content.replace(/<guid(.*?)>(.*?)<\\/guid>/g, (match, attr, url) => {\n if (url.includes('archive.ph')) return match;\n return `<guid${attr}>https://archive.ph/newest/${url}</guid>`;\n});\n\nreturn [{ json: { body: content } }];"
|
||||
},
|
||||
"id": "0f8912ea-a6eb-4c31-8a99-11e82dd1bdd4",
|
||||
"name": "Code: RSS Link Fixer",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
832,
|
||||
320
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"operation": "text",
|
||||
"options": {}
|
||||
},
|
||||
"id": "25335b7c-6d18-4f3d-b1bb-084d9e1c1aa1",
|
||||
"name": "Extract From File",
|
||||
"type": "n8n-nodes-base.extractFromFile",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
608,
|
||||
112
|
||||
]
|
||||
},
|
||||
{
|
||||
"parameters": {
|
||||
"jsCode": "// Wir greifen direkt auf das Feld \"data\" zu, das n8n uns geliefert hat\nlet xml = items[0].json.data;\n\nconst baseUrl = \"https://n8n.nuclide.systems/webhook/news-proxy?url=\";\n\nif (!xml) {\n throw new Error(\"Kein Text im Feld 'data' gefunden. Pr\u00fcfe die Webhook-Ausgabe.\");\n}\n\n// Der eigentliche Replace-Vorgang f\u00fcr deine Feeds (FAZ, ZEIT, etc.)\nxml = xml.replace(/xmlUrl=\"(.*?)\"/g, (match, url) => {\n // Falls es schon ein Proxy-Link ist, nichts tun\n if (url.includes('news-proxy')) return match;\n return `xmlUrl=\"${baseUrl}${encodeURIComponent(url)}\"`;\n});\n\n// Wir geben das Ergebnis im Feld \"body\" zur\u00fcck\nreturn [{ json: { body: xml } }];"
|
||||
},
|
||||
"id": "18bd4563-694b-4fc2-8b32-605afe520ec8",
|
||||
"name": "Code: OPML Transformer",
|
||||
"type": "n8n-nodes-base.code",
|
||||
"typeVersion": 1,
|
||||
"position": [
|
||||
832,
|
||||
112
|
||||
]
|
||||
}
|
||||
],
|
||||
"connections": {
|
||||
"Webhook: Transform OPML": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Extract From File",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Extract From File": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Code: OPML Transformer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"Webhook: RSS Proxy": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "HTTP Request: Fetch Feed",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
},
|
||||
"HTTP Request: Fetch Feed": {
|
||||
"main": [
|
||||
[
|
||||
{
|
||||
"node": "Code: RSS Link Fixer",
|
||||
"type": "main",
|
||||
"index": 0
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"executionOrder": "v1",
|
||||
"binaryMode": "separate"
|
||||
},
|
||||
"staticData": null,
|
||||
"meta": null,
|
||||
"pinData": {
|
||||
"Webhook: RSS Proxy": [
|
||||
{
|
||||
"json": {
|
||||
"headers": {
|
||||
"host": "n8n.nuclide.systems",
|
||||
"user-agent": "NextCloud-News/28.2.0",
|
||||
"accept": "application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4, */*;q=0.2",
|
||||
"accept-encoding": "gzip, deflate, br",
|
||||
"x-forwarded-for": "192.168.1.1",
|
||||
"x-forwarded-host": "n8n.nuclide.systems",
|
||||
"x-forwarded-proto": "https",
|
||||
"x-forwarded-server": "zoraxy-5280418d-4b2e-4b04-9868-bd361bb11c66",
|
||||
"x-real-ip": "192.168.1.1"
|
||||
},
|
||||
"params": {},
|
||||
"query": {
|
||||
"url": "https://www.tagesschau.de/xml/rss2"
|
||||
},
|
||||
"webhookUrl": "http://n8n.nuclide.systems:5678/webhook/news-proxy",
|
||||
"executionMode": "production"
|
||||
},
|
||||
"pairedItem": {
|
||||
"item": 0
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"versionId": "2663f8cd-de8e-416e-a054-441aca12cd97",
|
||||
"activeVersionId": "2663f8cd-de8e-416e-a054-441aca12cd97",
|
||||
"versionCounter": 77,
|
||||
"triggerCount": 2,
|
||||
"tags": [],
|
||||
"shared": [
|
||||
{
|
||||
"updatedAt": "2026-04-29T12:29:42.950Z",
|
||||
"createdAt": "2026-04-29T12:29:42.950Z",
|
||||
"role": "workflow:owner",
|
||||
"workflowId": "ddebbUNfpW4kE6Ns",
|
||||
"projectId": "hkIaTyp1CKVS8ywT",
|
||||
"project": {
|
||||
"updatedAt": "2026-03-09T07:21:36.510Z",
|
||||
"createdAt": "2026-03-09T07:20:59.502Z",
|
||||
"id": "hkIaTyp1CKVS8ywT",
|
||||
"name": "Florian Krebs <fkrebs@nucli.de>",
|
||||
"type": "personal",
|
||||
"icon": null,
|
||||
"description": null,
|
||||
"creatorId": "8af5c813-f89c-4b83-bcf8-5d59864a038a"
|
||||
}
|
||||
}
|
||||
],
|
||||
"versionMetadata": {
|
||||
"name": "Version 2663f8cd",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user