Orientação gerada a partir de informações públicas. Apenas para referência.
flutter_v2ray é um plugin Flutter que habilita a conectividade V2Ray em dispositivos Android e iOS, suportando modos de VPN e configurações apenas proxy. Permite aos desenvolvedores integrar roteamento de rede seguro e personalizável em seus aplicativos, facilitando o acesso a conteúdos restritos ou serviços de rede privada. O plugin oferece uma interface simples para estabelecer e gerenciar conexões V2Ray, aproveitando os recursos nativos da plataforma para desempenho confiável. É particularmente útil em aplicações que exigem funcionalidades avançadas de rede com controles fortes de privacidade.
Casos de uso
Comunicação segura de aplicativo para servidor
Contornando restrições regionais de conteúdo
Construindo aplicativos focados na privacidade
Integrando configurações personalizadas de proxy
Habilitar túneis de rede criptografados
Principais recursos
Suporta tanto o modo VPN quanto tipos de conexão somente proxy
Compatibilidade multiplataforma (Android e iOS)
Integração nativa para desempenho estável
API simples para gerenciamento de conexão
Configurável por meio das configurações JSON do V2Ray
Indicado para
Desenvolvedores construindo aplicativos de comunicação segura
Aplicativos que exigem burlar restrições de rede
Aplicativos móveis orientados para privacidade
Integrações de ferramentas de rede
Soluções personalizadas de proxy
Considerações
Requer permissões apropriadas do sistema no Android e no iOS
Pode ser necessário configuração adicional para configurações complexas do V2Ray
Desafios potenciais de revisão na loja de aplicativos devido à funcionalidade de VPN
Depende de binários externos V2Ray para algumas operações
Não adequado para solicitações HTTP básicas sem configuração avançada
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
import'package:flutter_v2ray/flutter_v2ray.dart';
// v2ray share link like vmess://, vless://, ...String link = "link_here";
V2RayURL parser = FlutterV2ray.parseFromURL(link);
// Remark of the v2rayprint(parser.remark);
// generate full v2ray configuration (json)print(parser.getFullConfiguration());
Edit Configuration
// Change v2ray listening port
parser.inbound['port'] = 10890;
// Change v2ray listening host
parser.inbound['listen'] = '0.0.0.0';
// Change v2ray log level
parser.log['loglevel'] = 'info';
// Change v2ray dns
parser.dns = {
"servers": ["1.1.1.1"]
};
// and ...// generate configuration with new settings
parser.getFullConfiguration()
Making V2Ray connection
import'package:flutter_v2ray/flutter_v2ray.dart';
finalFlutterV2ray flutterV2ray = FlutterV2ray(
onStatusChanged: (status) {
// do something
},
);
// You must initialize V2Ray before using it.await flutterV2ray.initializeV2Ray();
// v2ray share link like vmess://, vless://, ...String link = "link_here";
V2RayURL parser = FlutterV2ray.parseFromURL(link);
// Get Server Delayprint('${flutterV2ray.getServerDelay(config: parser.getFullConfiguration())}ms');
// Permission is not required if you using proxy onlyif (await flutterV2ray.requestPermission()){
flutterV2ray.startV2Ray(
remark: parser.remark,
// The use of parser.getFullConfiguration() is not mandatory,// and you can enter the desired V2Ray configuration in JSON format
config: parser.getFullConfiguration(),
blockedApps: null,
bypassSubnets: null,
proxyOnly: false,
);
}
// Disconnect
flutterV2ray.stopV2Ray();
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
}
}
And replace it with the following configuration info:
splits {
abi {
enable true
reset()
//noinspection ChromeOsAbiSupport
include "x86_64", "armeabi-v7a", "arm64-v8a"
universalApk true
}
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.release
ndk {
//noinspection ChromeOsAbiSupport
abiFilters "x86_64", "armeabi-v7a", "arm64-v8a"
debugSymbolLevel 'FULL'
}
}
}