Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.0

flutter_v2ray

Ein Plugin, mit dem Sie eine v2ray-Verbindung herstellen können (VPN-Modus und Nur-Proxy)

AndroidiOS
30-Tage-Downloads
2210
Likes
98
Pub-Punkte
160

Paket installieren

flutter pub add flutter_v2ray

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

flutter_v2ray ist ein Flutter-Plugin, das die V2Ray-Konnektivität auf Android- und iOS-Geräten ermöglicht und sowohl den VPN-Modus als auch Proxy-only-Konfigurationen unterstützt. Es ermöglicht Entwicklern, sichere, anpassbare Netzwerkweiterleitungen in ihre Apps zu integrieren, um Zugriff auf eingeschränkte Inhalte oder private Netzwerkdienste zu gewährleisten. Das Plugin bietet eine einfache Schnittstelle zum Aufbau und zur Verwaltung von V2Ray-Verbindungen und nutzt native Plattformfunktionen für eine zuverlässige Leistung. Es ist besonders nützlich in Anwendungen, die erweiterte Netzwerkfunktionen mit starken Datenschutzkontrollen erfordern.

Anwendungsfälle

  • Sichere App-zu-Server-Kommunikation
  • Regionale Inhaltseinschränkungen umgehen
  • Privatsphäre-fokussierte Anwendungen erstellen
  • Integration benutzerdefinierter Proxy-Konfigurationen
  • Verschlüsselte Netzwerk-Tunnel aktivieren

Hauptmerkmale

  • Unterstützt sowohl den VPN-Modus als auch Verbindungstypen nur über Proxy
  • Plattformübergreifende Kompatibilität (Android & iOS)
  • Native Integration für stabile Leistung
  • Einfache API für die Verbindungsverwaltung
  • Konfigurierbar über V2Ray JSON-Einstellungen

Geeignet für

  • Entwickler, die sichere Kommunikations-Apps entwickeln
  • Apps, die eine Umgehung von Netzwerkbeschränkungen erfordern
  • Privatsphäre-orientierte mobile Anwendungen
  • Netzwerktool-Integrationen
  • Benutzerdefinierte Proxy-Lösungen

Hinweise

  • Erfordert entsprechende Systemberechtigungen unter Android und iOS
  • Möglicherweise sind zusätzliche Konfigurationen für komplexe V2Ray-Einrichtungen erforderlich
  • Mögliche Herausforderungen bei der Überprüfung im App Store aufgrund der VPN-Funktion
  • Benötigt externe V2Ray-Binärdateien für einige Operationen
  • Nicht geeignet für einfache HTTP-Anfragen ohne fortgeschrittene Einstellung

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

flutter_v2ray

Open Source Love

Table of contents

Change logs

1.0.10
  • update xray core version to 25.3.6
see more

Features

  • Run V2Ray Proxy & VPN Mode
  • Get Server Delay
  • Parsing V2Ray sharing links and making changes to them

Supported Platforms

Platform Status Info
Android Done ✅ Xray 25.3.6
IOS Done ✅ For purchase: t.me/blueboy_tm
Desktop Done ✅ For purchase: t.me/blueboy_tm

Get started

Add dependency

You can use the command to add flutter_v2ray as a dependency with the latest stable version:

$ flutter pub add flutter_v2ray

Or you can manually add flutter_v2ray into the dependencies section in your pubspec.yaml:

dependencies:
  flutter_v2ray: ^replace-with-latest-version

Examples

URL Parser
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 v2ray
print(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';

final FlutterV2ray 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 Delay
print('${flutterV2ray.getServerDelay(config: parser.getFullConfiguration())}ms');

// Permission is not required if you using proxy only
if (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();

Bypass LAN Traffic
final List<String> subnets = [
    "0.0.0.0/5",
    "8.0.0.0/7",
    "11.0.0.0/8",
    "12.0.0.0/6",
    "16.0.0.0/4",
    "32.0.0.0/3",
    "64.0.0.0/2",
    "128.0.0.0/3",
    "160.0.0.0/5",
    "168.0.0.0/6",
    "172.0.0.0/12",
    "172.32.0.0/11",
    "172.64.0.0/10",
    "172.128.0.0/9",
    "173.0.0.0/8",
    "174.0.0.0/7",
    "176.0.0.0/4",
    "192.0.0.0/9",
    "192.128.0.0/11",
    "192.160.0.0/13",
    "192.169.0.0/16",
    "192.170.0.0/15",
    "192.172.0.0/14",
    "192.176.0.0/12",
    "192.192.0.0/10",
    "193.0.0.0/8",
    "194.0.0.0/7",
    "196.0.0.0/6",
    "200.0.0.0/5",
    "208.0.0.0/4",
    "240.0.0.0/4",
];

flutterV2ray.startV2Ray(
    remark: parser.remark,
    config: parser.getFullConfiguration(),
    blockedApps: null,
    bypassSubnets: subnets,
    proxyOnly: false,
);

Android configuration before publish to Google Play🚀

gradle.preperties
  • add this line
android.bundle.enableUncompressedNativeLibs = false
build.gradle (app)
  • Find the buildTypes block:
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'
            }
        }
    }

More examples

Credits

badvpn (tun2socks) Copyright (C) Ambroz Bizjak

All rights reserved.

Donation

If you liked this package, you can support me with one of the following links.

Buy me a coffee

Buy Me A Coffee

Cryptocurrency
  • BTC:
    • bc1qrtq0ygmxw7meak3ukvxn03za2j7t7s4uxuujct
  • Tron
    • TVQQdim3pxa4XoZyRRVHQ8GsY42rEgB4ow
  • USDT
    • TRC20
      • TVQQdim3pxa4XoZyRRVHQ8GsY42rEgB4ow
    • ERC20
      • 0xD5d931BB40F02Ed45172faebD805B3f0ba70Fe73
  • DogeCoin
    • DNFaHFzmUfeUB6NFgQX1sLn9q8kknTmKd8

Kategorien

Abhängigkeiten

Abhängigkeiten 1 Einträge

  • plugin_platform_interface^2.0.2

Quell-Repository

Projekte, die dieses Paket verwenden