- Android: Dart FFI → Go c-shared (.so) in jniLibs (arm64-v8a + x86_64) - Linux: Dart FFI → Go c-shared (.so) via Docker cross-compilation (amd64) - Dart API: TsnetFlutter uses MethodChannel on iOS/macOS, FFI on Android/Linux - Add ffi package dependency for native function bindings - Build script: ./build_go.sh [ios|macos|android|linux|apple|all] - Android RegisterInterfaceGetter to bypass netlink CAP_NET_ADMIN restriction - Make TailscaleStart() idempotent and add GODEBUG=netdns=go for Android Known: Android tsnet tunnel blocked by Go stdlib net.Interfaces() netlink call — local gRPC works, Tailscale fallback needs libtailscale integration. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
34 lines
796 B
YAML
34 lines
796 B
YAML
name: tsnet_flutter
|
|
description: Embed Tailscale's tsnet in Flutter apps. Provides a userspace WireGuard tunnel with a localhost TCP proxy — no VPN entitlement needed on iOS.
|
|
version: 0.2.0
|
|
homepage: https://github.com/svrnty/tsnet_flutter
|
|
repository: https://github.com/svrnty/tsnet_flutter
|
|
issue_tracker: https://github.com/svrnty/tsnet_flutter/issues
|
|
|
|
environment:
|
|
sdk: ^3.10.1
|
|
flutter: '>=3.10.0'
|
|
|
|
dependencies:
|
|
flutter:
|
|
sdk: flutter
|
|
ffi: ^2.1.0
|
|
|
|
dev_dependencies:
|
|
flutter_test:
|
|
sdk: flutter
|
|
flutter_lints: ^6.0.0
|
|
|
|
flutter:
|
|
plugin:
|
|
platforms:
|
|
ios:
|
|
pluginClass: TsnetFlutterPlugin
|
|
macos:
|
|
pluginClass: TsnetFlutterPlugin
|
|
android:
|
|
package: io.svrnty.tsnet_flutter
|
|
ffiPlugin: true
|
|
linux:
|
|
ffiPlugin: true
|