FLUTTER ECOSYSTEM

vicdotdevelop/native_flutter_proxy

기기 프록시 정보를 얻기 위한 플러그인입니다.

native_flutter_proxy 프로젝트 이미지
Stars
17
Forks
19
최근 푸시(UTC)
2025. 12. 24.
프로젝트 상태
활성
Victor GitHub avatar
GITHUB User

Victor ↗

Developer Advocate for AI augmented coding 🚀

Frankfurt, Germany
언어DartSwiftKotlinRubyObjective-C

기술 주제

사용 중인 의존성

의존성 목록 3 개
  • flutter{"sdk":"flutter"}
  • flutter_test개발 의존성{"sdk":"flutter"}
  • very_good_analysis개발 의존성^10.0.0

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

Pub Version

native_flutter_proxy

A Flutter plugin to read system proxy settings from native code and apply them in Dart. Use it to configure HttpOverrides.global with either the system proxy or a custom proxy.

Key features:

  • Read system proxy settings on Android and iOS.
  • Auto-update when the system proxy changes via NativeProxyReader.setProxyChangedCallback.
  • Apply a custom proxy using CustomProxy / CustomProxyHttpOverride.

Installing

You should add the following to your pubspec.yaml file:

dependencies:
  native_flutter_proxy: ^0.3.0

Quick Start

import 'dart:io';

import 'package:flutter/widgets.dart';
import 'package:native_flutter_proxy/native_flutter_proxy.dart';

Future<void> applyProxy(ProxySetting settings) async {
  if (!settings.enabled || settings.host == null) {
    HttpOverrides.global = null;
    return;
  }

  CustomProxy(ipAddress: settings.host!, port: settings.port).enable();
}

void main() async {
  WidgetsFlutterBinding.ensureInitialized();

  try {
    final settings = await NativeProxyReader.proxySetting;
    await applyProxy(settings);
  } catch (e) {
    print(e);
  }

  NativeProxyReader.setProxyChangedCallback((settings) async {
    await applyProxy(settings);
  });

  runApp(MyApp());
}

Auto-update on proxy changes

NativeProxyReader.setProxyChangedCallback is invoked whenever the system proxy changes, so your app can react immediately (including PAC-based proxies on Android). Register it once at startup and update your overrides there.

Manual proxy (optional)

If you want to force a proxy (e.g. for debugging), you can set it directly:

final proxy = CustomProxy(ipAddress: '127.0.0.1', port: 8888);
proxy.enable();

For a full example, see example/lib/main.dart.