[PR #4111] [MERGED] feat: client certificates and ability to skip ssl cert verification in desktop app #4669

Closed
opened 2026-03-17 02:11:02 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hoppscotch/hoppscotch/pull/4111
Author: @AndrewBastin
Created: 6/6/2024
Status: Merged
Merged: 6/25/2024
Merged by: @AndrewBastin

Base: nextHead: feat/native-interceptor-updates


📝 Commits (10+)

  • ac9673c feat: add native interceptor tauri plugin
  • 5e538fc feat: new native interceptor fe implementation
  • 7bfabc2 feat: cancellation on new native interceptor
  • 7d6edbc feat: settings ui + ca certificates implementation
  • be5ae33 feat: client certificates implementation + validate ssl certificates impl
  • 00dbf89 chore: correct wording for ssl verification entry
  • 73b2113 feat: persist native interceptor settings
  • d7c3207 refactor: patch bugs + remove ca certificates ui
  • 634bf5b refactor: remove old native interceptor and renamed new-native to take place
  • 7ad644a refactor: implement new multiHeaders definition

📊 Changes

15 files changed (+2223 additions, -829 deletions)

View changed files

📝 packages/hoppscotch-common/src/components.d.ts (+77 -69)
📝 packages/hoppscotch-selfhost-desktop/package.json (+3 -1)
📝 packages/hoppscotch-selfhost-desktop/src-tauri/Cargo.lock (+645 -588)
📝 packages/hoppscotch-selfhost-desktop/src-tauri/Cargo.toml (+5 -1)
packages/hoppscotch-selfhost-desktop/src-tauri/src/interceptor.rs (+318 -0)
📝 packages/hoppscotch-selfhost-desktop/src-tauri/src/main.rs (+3 -0)
packages/hoppscotch-selfhost-desktop/src/components/modals/NativeCACertificates.vue (+158 -0)
packages/hoppscotch-selfhost-desktop/src/components/modals/NativeClientCertificates.vue (+139 -0)
packages/hoppscotch-selfhost-desktop/src/components/modals/NativeClientCertsAdd.vue (+268 -0)
packages/hoppscotch-selfhost-desktop/src/components/settings/NativeInterceptor.vue (+56 -0)
packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native.ts (+0 -170)
packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native/index.ts (+459 -0)
packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native/persisted-data.ts (+85 -0)
📝 packages/hoppscotch-selfhost-desktop/vite.config.ts (+1 -0)
📝 pnpm-lock.yaml (+6 -0)

📄 Description

Closes HFE-485

This PR introduces the ability for Client Certificate Auth along with the ability to skip SSL Certificate Verification in the Hoppscotch Desktop App.

What's changed

  • Rewrite NativeInterceptorService to no longer use Tauri's built in HTTP APIs.
  • Introduce Settings Entries for Native Interceptor.
  • Introduce hopp_native_interceptor Tauri Plugin.
  • Introduce ability to disable SSL certificate verification.
  • Introduce ability to add client certificates.

Notes

  • Ability to define custom CA certificates are added in the Tauri Plugin level and the app service level, but due to some concerns with compatibility with old v1 X.509 root certificates (esp on macOS), this feature is deferred for the time being on the UI end, the UI side components and things exist, but since they are not used, it should be removed by tree shaking.
  • i18n is not provided for the hoppscotch-selfhost-desktop components as there is no proper mechanism at the moment to deal with this. This is something we will be revisiting soon with an i18n system refactor.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hoppscotch/hoppscotch/pull/4111 **Author:** [@AndrewBastin](https://github.com/AndrewBastin) **Created:** 6/6/2024 **Status:** ✅ Merged **Merged:** 6/25/2024 **Merged by:** [@AndrewBastin](https://github.com/AndrewBastin) **Base:** `next` ← **Head:** `feat/native-interceptor-updates` --- ### 📝 Commits (10+) - [`ac9673c`](https://github.com/hoppscotch/hoppscotch/commit/ac9673c7ac785980e68df1e7661b60f80d898974) feat: add native interceptor tauri plugin - [`5e538fc`](https://github.com/hoppscotch/hoppscotch/commit/5e538fce67ad41ae25719ce96e3bc5b764d65d76) feat: new native interceptor fe implementation - [`7bfabc2`](https://github.com/hoppscotch/hoppscotch/commit/7bfabc259b334e0c6bd4457b4ee856d8ab6f8a6b) feat: cancellation on new native interceptor - [`7d6edbc`](https://github.com/hoppscotch/hoppscotch/commit/7d6edbc224e0c993ec1e9b0a1abd99d095753269) feat: settings ui + ca certificates implementation - [`be5ae33`](https://github.com/hoppscotch/hoppscotch/commit/be5ae3306ee82f8272b958e1fe9076903a9f3fda) feat: client certificates implementation + validate ssl certificates impl - [`00dbf89`](https://github.com/hoppscotch/hoppscotch/commit/00dbf89828f6f3ba4eb56aaad4b7a9b17e1acde7) chore: correct wording for ssl verification entry - [`73b2113`](https://github.com/hoppscotch/hoppscotch/commit/73b211399a80ca1a59d9b34e96b8b7f736882b71) feat: persist native interceptor settings - [`d7c3207`](https://github.com/hoppscotch/hoppscotch/commit/d7c32077f21a9c2874fbb32f24ff4feafbd45fe1) refactor: patch bugs + remove ca certificates ui - [`634bf5b`](https://github.com/hoppscotch/hoppscotch/commit/634bf5bbe5c161837204f5c551a0c69dbb65f34a) refactor: remove old native interceptor and renamed new-native to take place - [`7ad644a`](https://github.com/hoppscotch/hoppscotch/commit/7ad644a8b0aa899d77206b39c6fdc510a8c8fc10) refactor: implement new multiHeaders definition ### 📊 Changes **15 files changed** (+2223 additions, -829 deletions) <details> <summary>View changed files</summary> 📝 `packages/hoppscotch-common/src/components.d.ts` (+77 -69) 📝 `packages/hoppscotch-selfhost-desktop/package.json` (+3 -1) 📝 `packages/hoppscotch-selfhost-desktop/src-tauri/Cargo.lock` (+645 -588) 📝 `packages/hoppscotch-selfhost-desktop/src-tauri/Cargo.toml` (+5 -1) ➕ `packages/hoppscotch-selfhost-desktop/src-tauri/src/interceptor.rs` (+318 -0) 📝 `packages/hoppscotch-selfhost-desktop/src-tauri/src/main.rs` (+3 -0) ➕ `packages/hoppscotch-selfhost-desktop/src/components/modals/NativeCACertificates.vue` (+158 -0) ➕ `packages/hoppscotch-selfhost-desktop/src/components/modals/NativeClientCertificates.vue` (+139 -0) ➕ `packages/hoppscotch-selfhost-desktop/src/components/modals/NativeClientCertsAdd.vue` (+268 -0) ➕ `packages/hoppscotch-selfhost-desktop/src/components/settings/NativeInterceptor.vue` (+56 -0) ➖ `packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native.ts` (+0 -170) ➕ `packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native/index.ts` (+459 -0) ➕ `packages/hoppscotch-selfhost-desktop/src/platform/interceptors/native/persisted-data.ts` (+85 -0) 📝 `packages/hoppscotch-selfhost-desktop/vite.config.ts` (+1 -0) 📝 `pnpm-lock.yaml` (+6 -0) </details> ### 📄 Description Closes HFE-485 This PR introduces the ability for Client Certificate Auth along with the ability to skip SSL Certificate Verification in the Hoppscotch Desktop App. ### What's changed - Rewrite `NativeInterceptorService` to no longer use Tauri's built in HTTP APIs. - Introduce Settings Entries for Native Interceptor. - Introduce `hopp_native_interceptor` Tauri Plugin. - Introduce ability to disable SSL certificate verification. - Introduce ability to add client certificates. ### Notes - Ability to define custom CA certificates are added in the Tauri Plugin level and the app service level, but due to some concerns with compatibility with old v1 X.509 root certificates (esp on macOS), this feature is deferred for the time being on the UI end, the UI side components and things exist, but since they are not used, it should be removed by tree shaking. - i18n is not provided for the `hoppscotch-selfhost-desktop` components as there is no proper mechanism at the moment to deal with this. This is something we will be revisiting soon with an i18n system refactor. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-17 02:11:02 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hoppscotch#4669
No description provided.