Files
Julian Limburg c248f65722 local TLS through self signed cert + QR pairing and cert pinning
this adds TLS encryption and the needed pairing and pinning to make it
work in a local network without any CA. In its current state (a
readonly websocket) the app doesn't require any encryption in a local
network. However this lays the groundwork for future features such as
screenshot sharing, phone notifactions shown in headset etc.

The Webview in the App cannot pin a certificate, instead the
connection is now established through the rust backend and forwarded
to Tauri through a HTTP proxy (local to your phone only and further
protected through a secret as loopback isnt isolated between apps on
android). This works and is a fine implementation however I would like
to rewrite this is the future to use Tauris IPC protocol instead of a
loopback.

This also makes a PWA version of the app harder to achieve.
2026-10-08 11:54:35 +02:00

27 lines
540 B
Nix

{ pkgs ? import <nixpkgs> { } }:
pkgs.mkShell {
nativeBuildInputs = with pkgs; [
# Toolchain and target come from rust-toolchain.toml; nixpkgs' rustc has host std only.
rustup
# nix cc-wrapper injects host glibc headers and breaks --target builds.
llvmPackages.clang-unwrapped
pkg-config
deno
flatpak
shellcheck
];
# Tauri desktop building for verification
buildInputs = with pkgs; [
glib
gtk3
libsoup_3
webkitgtk_4_1
openssl
];
CC_aarch64_unknown_linux_musl = "clang";
}