flutter-tsnet/pubspec.yaml
Mathias Beaulieu-Duncan f070bcdb86 Add Android and Linux platform support (local gRPC working, tsnet WIP)
- 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>
2026-03-14 07:49:11 -04:00

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