mirror of
https://github.com/stablyai/orca.git
synced 2026-10-12 16:03:03 +00:00
Replace the disabled TLS cert pinning approach with application-layer E2EE using tweetnacl (Curve25519 ECDH + XSalsa20-Poly1305). The WebSocket stays plain ws:// but all RPC traffic is encrypted after a one-round-trip handshake. Desktop: generate persistent Curve25519 keypair, E2EE channel module handles handshake state machine and transparent encrypt/decrypt. Mobile: ephemeral keypair per connection for forward secrecy, expo-crypto PRNG polyfill for Hermes compatibility. Pairing schema updated from v1 (certFingerprint) to v2 (publicKeyB64). Mock server updated with E2EE support. 24 tests covering crypto, channel handshake, and integration. Co-authored-by: Orca <help@stably.ai>
50 lines
1.4 KiB
JSON
50 lines
1.4 KiB
JSON
{
|
|
"name": "orca-mobile",
|
|
"version": "0.0.1",
|
|
"private": true,
|
|
"main": "expo-router/entry",
|
|
"scripts": {
|
|
"start": "expo start",
|
|
"android": "expo run:android",
|
|
"ios": "expo run:ios",
|
|
"lint": "oxlint",
|
|
"format": "oxfmt --write .",
|
|
"mock-server": "npx tsx scripts/mock-server.ts"
|
|
},
|
|
"dependencies": {
|
|
"@react-native-async-storage/async-storage": "^2.2.0",
|
|
"expo": "^55.0.17",
|
|
"expo-camera": "^55.0.16",
|
|
"expo-constants": "^55.0.15",
|
|
"expo-crypto": "^55.0.14",
|
|
"expo-linking": "^55.0.14",
|
|
"expo-router": "^55.0.13",
|
|
"expo-status-bar": "^55.0.5",
|
|
"lucide-react-native": "^1.11.0",
|
|
"react": "^19.2.0",
|
|
"react-native": "^0.83.6",
|
|
"react-native-gesture-handler": "^2.30.1",
|
|
"react-native-reanimated": "^4.2.1",
|
|
"react-native-safe-area-context": "^5.6.2",
|
|
"react-native-screens": "^4.23.0",
|
|
"react-native-svg": "^15.15.4",
|
|
"react-native-web": "^0.21.2",
|
|
"react-native-webview": "^13.16.1",
|
|
"react-native-worklets": "^0.7.4",
|
|
"tweetnacl": "^1.0.3",
|
|
"ws": "^8.18.0",
|
|
"zod": "^4.3.6",
|
|
"zustand": "^5.0.12"
|
|
},
|
|
"devDependencies": {
|
|
"@types/react": "^19.2.14",
|
|
"@types/react-native": "^0.73.0",
|
|
"@types/ws": "^8.18.1",
|
|
"expo-module-scripts": "^55.0.2",
|
|
"oxfmt": "^0.47.0",
|
|
"oxlint": "^1.62.0",
|
|
"tsx": "^4.19.4",
|
|
"typescript": "^5.9.3"
|
|
}
|
|
}
|