diff --git a/web/app/components/base/tooltip/index.tsx b/web/app/components/base/tooltip/index.tsx index 53f36be5fb0cd8..697d6e3d96e3b7 100644 --- a/web/app/components/base/tooltip/index.tsx +++ b/web/app/components/base/tooltip/index.tsx @@ -101,7 +101,7 @@ const Tooltip: FC = ({ > {popupContent && (
triggerMethod === 'hover' && setHoverPopup()} diff --git a/web/app/components/workflow/nodes/http/default.ts b/web/app/components/workflow/nodes/http/default.ts index 1bd584eeb90424..3f9df0178d1323 100644 --- a/web/app/components/workflow/nodes/http/default.ts +++ b/web/app/components/workflow/nodes/http/default.ts @@ -22,6 +22,7 @@ const nodeDefault: NodeDefault = { type: BodyType.none, data: [], }, + ssl_verify: true, timeout: { max_connect_timeout: 0, max_read_timeout: 0, diff --git a/web/app/components/workflow/nodes/http/panel.tsx b/web/app/components/workflow/nodes/http/panel.tsx index 9a07c0ad616ae2..b994910ea0bc05 100644 --- a/web/app/components/workflow/nodes/http/panel.tsx +++ b/web/app/components/workflow/nodes/http/panel.tsx @@ -10,6 +10,7 @@ import type { HttpNodeType } from './types' import Timeout from './components/timeout' import CurlPanel from './components/curl-panel' import cn from '@/utils/classnames' +import Switch from '@/app/components/base/switch' import Field from '@/app/components/workflow/nodes/_base/components/field' import Split from '@/app/components/workflow/nodes/_base/components/split' import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars' @@ -47,6 +48,7 @@ const Panel: FC> = ({ showCurlPanel, hideCurlPanel, handleCurlImport, + handleSSLVerifyChange, } = useConfig(id, data) // To prevent prompt editor in body not update data. if (!isDataReady) @@ -124,6 +126,18 @@ const Panel: FC> = ({ onChange={setBody} /> + + }> +
{ setInputs(newInputs) }, [inputs, setInputs]) + const handleSSLVerifyChange = useCallback((checked: boolean) => { + const newInputs = produce(inputs, (draft: HttpNodeType) => { + draft.ssl_verify = checked + }) + setInputs(newInputs) + }, [inputs, setInputs]) + return { readOnly, isDataReady, @@ -164,6 +171,8 @@ const useConfig = (id: string, payload: HttpNodeType) => { toggleIsParamKeyValueEdit, // body setBody, + // ssl verify + handleSSLVerifyChange, // authorization isShowAuthorization, showAuthorization, diff --git a/web/i18n/de-DE/workflow.ts b/web/i18n/de-DE/workflow.ts index 55f5bac0e1012b..7f872c53a763c6 100644 --- a/web/i18n/de-DE/workflow.ts +++ b/web/i18n/de-DE/workflow.ts @@ -537,6 +537,10 @@ const translation = { title: 'Importieren von cURL', placeholder: 'Fügen Sie hier die cURL-Zeichenfolge ein', }, + verifySSL: { + title: 'SSL-Zertifikat überprüfen', + warningTooltip: 'Das Deaktivieren der SSL-Überprüfung wird für Produktionsumgebungen nicht empfohlen. Dies sollte nur in der Entwicklung oder im Test verwendet werden, da es die Verbindung anfällig für Sicherheitsbedrohungen wie Man-in-the-Middle-Angriffe macht.', + }, }, code: { inputVars: 'Eingabevariablen', diff --git a/web/i18n/en-US/workflow.ts b/web/i18n/en-US/workflow.ts index df0bb904fdccd1..38c305241f702f 100644 --- a/web/i18n/en-US/workflow.ts +++ b/web/i18n/en-US/workflow.ts @@ -542,6 +542,10 @@ const translation = { title: 'Import from cURL', placeholder: 'Paste cURL string here', }, + verifySSL: { + title: 'Verify SSL Certificate', + warningTooltip: 'Disabling SSL verification is not recommended for production environments. This should only be used in development or testing, as it makes the connection vulnerable to security threats like man-in-the-middle attacks.', + }, }, code: { inputVars: 'Input Variables', diff --git a/web/i18n/es-ES/workflow.ts b/web/i18n/es-ES/workflow.ts index 580072895c89fd..e484f23c8cda82 100644 --- a/web/i18n/es-ES/workflow.ts +++ b/web/i18n/es-ES/workflow.ts @@ -535,6 +535,10 @@ const translation = { title: 'Importar desde cURL', placeholder: 'Pegar la cadena cURL aquí', }, + verifySSL: { + title: 'Verificar el certificado SSL', + warningTooltip: 'Deshabilitar la verificación SSL no se recomienda para entornos de producción. Esto solo debe utilizarse en desarrollo o pruebas, ya que hace que la conexión sea vulnerable a amenazas de seguridad como ataques de intermediario.', + }, }, code: { inputVars: 'Variables de entrada', diff --git a/web/i18n/fa-IR/workflow.ts b/web/i18n/fa-IR/workflow.ts index 1f2d87a84b06a1..181def3182bf4c 100644 --- a/web/i18n/fa-IR/workflow.ts +++ b/web/i18n/fa-IR/workflow.ts @@ -537,6 +537,10 @@ const translation = { title: 'وارد کردن از cURL', placeholder: 'رشته cURL را اینجا بچسبانید', }, + verifySSL: { + title: 'گواهی SSL را تأیید کنید', + warningTooltip: 'غیرفعال کردن تأیید SSL برای محیط‌های تولید توصیه نمی‌شود. این فقط باید در توسعه یا آزمایش استفاده شود، زیرا این کار اتصال را در معرض تهدیدات امنیتی مانند حملات میانی قرار می‌دهد.', + }, }, code: { inputVars: 'متغیرهای ورودی', diff --git a/web/i18n/fr-FR/workflow.ts b/web/i18n/fr-FR/workflow.ts index 0878d183742ca0..9f49d833bbc57b 100644 --- a/web/i18n/fr-FR/workflow.ts +++ b/web/i18n/fr-FR/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: 'Collez la chaîne cURL ici', title: 'Importer à partir de cURL', }, + verifySSL: { + title: 'Vérifier le certificat SSL', + warningTooltip: 'Désactiver la vérification SSL n\'est pas recommandé pour les environnements de production. Cela ne devrait être utilisé que dans le développement ou les tests, car cela rend la connexion vulnérable aux menaces de sécurité telles que les attaques de type \'man-in-the-middle\'.', + }, }, code: { inputVars: 'Variables de saisie', diff --git a/web/i18n/hi-IN/workflow.ts b/web/i18n/hi-IN/workflow.ts index 316116dc029642..4fafcd041014b9 100644 --- a/web/i18n/hi-IN/workflow.ts +++ b/web/i18n/hi-IN/workflow.ts @@ -550,6 +550,10 @@ const translation = { placeholder: 'यहां cURL स्ट्रिंग पेस्ट करें', title: 'cURL से आयात करें', }, + verifySSL: { + title: 'SSL प्रमाणपत्र की पुष्टि करें', + warningTooltip: 'SSL सत्यापन को अक्षम करना उत्पादन वातावरण के लिए अनुशंसित नहीं है। इसका उपयोग केवल विकास या परीक्षण में किया जाना चाहिए, क्योंकि यह कनेक्शन को मिडल-मैन हमलों जैसे सुरक्षा खतरों के लिए कमजोर बना देता है।', + }, }, code: { inputVars: 'इनपुट वेरिएबल्स', diff --git a/web/i18n/it-IT/workflow.ts b/web/i18n/it-IT/workflow.ts index 0092e25d38af03..3c41274de3ae4b 100644 --- a/web/i18n/it-IT/workflow.ts +++ b/web/i18n/it-IT/workflow.ts @@ -553,6 +553,10 @@ const translation = { placeholder: 'Incolla qui la stringa cURL', title: 'Importazione da cURL', }, + verifySSL: { + title: 'Verifica il certificato SSL', + warningTooltip: 'Disabilitare la verifica SSL non è raccomandato per gli ambienti di produzione. Questo dovrebbe essere utilizzato solo in sviluppo o test, poiché rende la connessione vulnerabile a minacce alla sicurezza come gli attacchi man-in-the-middle.', + }, }, code: { inputVars: 'Variabili di Input', diff --git a/web/i18n/ja-JP/workflow.ts b/web/i18n/ja-JP/workflow.ts index 3c959669bf074e..0795f7dde33efb 100644 --- a/web/i18n/ja-JP/workflow.ts +++ b/web/i18n/ja-JP/workflow.ts @@ -543,6 +543,10 @@ const translation = { title: 'cURL からインポート', placeholder: 'ここに cURL 文字列を貼り付けます', }, + verifySSL: { + title: 'SSL証明書を確認する', + warningTooltip: 'SSL検証を無効にすることは、本番環境では推奨されません。これは開発またはテストのみに使用すべきであり、中間者攻撃などのセキュリティ脅威に対して接続を脆弱にするためです。', + }, }, code: { inputVars: '入力変数', diff --git a/web/i18n/ko-KR/workflow.ts b/web/i18n/ko-KR/workflow.ts index 078d683ca28f39..2b46bf19d06415 100644 --- a/web/i18n/ko-KR/workflow.ts +++ b/web/i18n/ko-KR/workflow.ts @@ -565,6 +565,10 @@ const translation = { title: 'cURL 에서 가져오기', placeholder: '여기에 cURL 문자열 붙여 넣기', }, + verifySSL: { + title: 'SSL 인증서 확인', + warningTooltip: 'SSL 검증을 비활성화하는 것은 프로덕션 환경에서는 권장되지 않습니다. 이는 연결이 중간자 공격과 같은 보안 위협에 취약하게 만들므로 개발 또는 테스트에서만 사용해야 합니다.', + }, }, code: { inputVars: '입력 변수', diff --git a/web/i18n/pl-PL/workflow.ts b/web/i18n/pl-PL/workflow.ts index ca2e95bdf6f50b..c5ec42f8e7897a 100644 --- a/web/i18n/pl-PL/workflow.ts +++ b/web/i18n/pl-PL/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: 'Wklej tutaj ciąg cURL', title: 'Importowanie z cURL', }, + verifySSL: { + title: 'Zweryfikuj certyfikat SSL', + warningTooltip: 'Wyłączenie weryfikacji SSL nie jest zalecane w środowiskach produkcyjnych. Powinno to być używane tylko w rozwoju lub testowaniu, ponieważ naraża połączenie na zagrożenia bezpieczeństwa, takie jak ataki typu man-in-the-middle.', + }, }, code: { inputVars: 'Zmienne wejściowe', diff --git a/web/i18n/pt-BR/workflow.ts b/web/i18n/pt-BR/workflow.ts index 2a862284999055..077b7993764b2d 100644 --- a/web/i18n/pt-BR/workflow.ts +++ b/web/i18n/pt-BR/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: 'Cole a string cURL aqui', title: 'Importar do cURL', }, + verifySSL: { + title: 'Verificar o certificado SSL', + warningTooltip: 'Desabilitar a verificação SSL não é recomendado para ambientes de produção. Isso deve ser usado apenas em desenvolvimento ou teste, pois torna a conexão vulnerável a ameaças de segurança, como ataques man-in-the-middle.', + }, }, code: { inputVars: 'Variáveis de entrada', diff --git a/web/i18n/ro-RO/workflow.ts b/web/i18n/ro-RO/workflow.ts index 09282f4d1c170d..a588a3a780dc15 100644 --- a/web/i18n/ro-RO/workflow.ts +++ b/web/i18n/ro-RO/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: 'Lipiți șirul cURL aici', title: 'Importați din cURL', }, + verifySSL: { + title: 'Verifică certificatul SSL', + warningTooltip: 'Dezactivarea verificării SSL nu este recomandată pentru medii de producție. Acest lucru ar trebui să fie folosit doar în dezvoltare sau testare, deoarece face conexiunea vulnerabilă la amenințări de securitate, cum ar fi atacurile man-in-the-middle.', + }, }, code: { inputVars: 'Variabile de intrare', diff --git a/web/i18n/ru-RU/workflow.ts b/web/i18n/ru-RU/workflow.ts index b7b41562a9b4fb..b7542b96e7cbc0 100644 --- a/web/i18n/ru-RU/workflow.ts +++ b/web/i18n/ru-RU/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: 'Вставьте сюда строку cURL', title: 'Импорт из cURL', }, + verifySSL: { + title: 'Проверить SSL-сертификат', + warningTooltip: 'Отключение проверки SSL не рекомендуется для производственных сред. Это следует использовать только в разработке или тестировании, так как это делает соединение уязвимым для угроз безопасности, таких как атаки «человек посередине».', + }, }, code: { inputVars: 'Входные переменные', diff --git a/web/i18n/sl-SI/workflow.ts b/web/i18n/sl-SI/workflow.ts index 2dbcdb008b0e6f..38d652684021c2 100644 --- a/web/i18n/sl-SI/workflow.ts +++ b/web/i18n/sl-SI/workflow.ts @@ -539,6 +539,10 @@ const translation = { value: 'Vrednost', params: 'Parametri', insertVarPlaceholder: 'vnesite \'/\' za vstavljanje spremenljivke', + verifySSL: { + title: 'Preverite SSL certifikat', + warningTooltip: 'Onemogočanje preverjanja SSL ni priporočljivo za proizvodna okolja. To bi se moralo uporabljati le pri razvoju ali testiranju, saj povezavo izpostavi varnostnim grožnjam, kot so napadi človek-v-sredini.', + }, }, code: { searchDependencies: 'Išči odvisnosti', diff --git a/web/i18n/th-TH/workflow.ts b/web/i18n/th-TH/workflow.ts index f017b5d02eaefa..be75a5e141b672 100644 --- a/web/i18n/th-TH/workflow.ts +++ b/web/i18n/th-TH/workflow.ts @@ -537,6 +537,10 @@ const translation = { title: 'นําเข้าจาก cURL', placeholder: 'วางสตริง cURL ที่นี่', }, + verifySSL: { + title: 'ตรวจสอบใบรับรอง SSL', + warningTooltip: 'การปิดการตรวจสอบ SSL ไม่แนะนำให้ใช้ในสภาพแวดล้อมการผลิต ควรใช้เฉพาะในระหว่างการพัฒนาหรือการทดสอบเท่านั้น เนื่องจากจะทำให้การเชื่อมต่อมีความเสี่ยงต่อภัยคุกคามด้านความปลอดภัย เช่น การโจมตีแบบ Man-in-the-middle.', + }, }, code: { inputVars: 'ตัวแปรอินพุต', diff --git a/web/i18n/tr-TR/workflow.ts b/web/i18n/tr-TR/workflow.ts index 0c55351c21614d..f6eb6a2341a265 100644 --- a/web/i18n/tr-TR/workflow.ts +++ b/web/i18n/tr-TR/workflow.ts @@ -538,6 +538,10 @@ const translation = { placeholder: 'cURL dizesini buraya yapıştırın', title: 'cURL\'den içe aktar', }, + verifySSL: { + title: 'SSL Sertifikasını Doğrula', + warningTooltip: 'SSL doğrulamasını devre dışı bırakmak, üretim ortamları için önerilmez. Bu yalnızca geliştirme veya test aşamalarında kullanılmalıdır, çünkü bağlantıyı adam ortada saldırıları gibi güvenlik tehditlerine karşı savunmasız hale getirir.', + }, }, code: { inputVars: 'Giriş Değişkenleri', diff --git a/web/i18n/uk-UA/workflow.ts b/web/i18n/uk-UA/workflow.ts index 110c82dc1a5f6f..ace41ba3592e5e 100644 --- a/web/i18n/uk-UA/workflow.ts +++ b/web/i18n/uk-UA/workflow.ts @@ -537,6 +537,10 @@ const translation = { title: 'Імпорт з cURL', placeholder: 'Вставте сюди рядок cURL', }, + verifySSL: { + title: 'Перевірити SSL сертифікат', + warningTooltip: 'Вимкнення перевірки SSL не рекомендується для виробничих середовищ. Це слід використовувати лише в розробці або тестуванні, оскільки це робить з\'єднання вразливим до загроз безпеці, таких як атаки «людина посередині».', + }, }, code: { inputVars: 'Вхідні змінні', diff --git a/web/i18n/vi-VN/workflow.ts b/web/i18n/vi-VN/workflow.ts index 7c32f39350d0ff..9d370c87319caa 100644 --- a/web/i18n/vi-VN/workflow.ts +++ b/web/i18n/vi-VN/workflow.ts @@ -537,6 +537,10 @@ const translation = { title: 'Nhập từ cURL', placeholder: 'Dán chuỗi cURL vào đây', }, + verifySSL: { + title: 'Xác thực chứng chỉ SSL', + warningTooltip: 'Việc vô hiệu hóa xác minh SSL không được khuyến khích cho các môi trường sản xuất. Điều này chỉ nên được sử dụng trong phát triển hoặc thử nghiệm, vì nó làm cho kết nối dễ bị tổn thương trước các mối đe dọa an ninh như cuộc tấn công man-in-the-middle.', + }, }, code: { inputVars: 'Biến đầu vào', diff --git a/web/i18n/zh-Hans/workflow.ts b/web/i18n/zh-Hans/workflow.ts index aa9dcae261a5fb..6b43cf4b6c066b 100644 --- a/web/i18n/zh-Hans/workflow.ts +++ b/web/i18n/zh-Hans/workflow.ts @@ -543,6 +543,10 @@ const translation = { title: '导入 cURL', placeholder: '粘贴 cURL 字符串', }, + verifySSL: { + title: '验证 SSL 证书', + warningTooltip: '不建议在生产环境中禁用 SSL 验证。这仅应在开发或测试中使用,因为它会使连接容易受到诸如中间人攻击等安全威胁。', + }, }, code: { inputVars: '输入变量', diff --git a/web/i18n/zh-Hant/workflow.ts b/web/i18n/zh-Hant/workflow.ts index 8262e60351f241..6fca19acad6418 100644 --- a/web/i18n/zh-Hant/workflow.ts +++ b/web/i18n/zh-Hant/workflow.ts @@ -537,6 +537,10 @@ const translation = { placeholder: '在此處粘貼 cURL 字串', title: '從 cURL 導入', }, + verifySSL: { + title: '驗證 SSL 證書', + warningTooltip: '不建議在生產環境中禁用SSL驗證。這僅應用於開發或測試,因為這樣會使連接容易受到中間人攻擊等安全威脅的威脅。', + }, }, code: { inputVars: '輸入變量',