mirror of
https://github.com/nailuj05/framemate.git
synced 2026-10-17 16:02:06 +02:00
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.
27 lines
540 B
Nix
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";
|
|
}
|