Flutter网络Tor检测插件tor_detector_web的使用
Flutter网络Tor检测插件tor_detector_web的使用
识别TOR用户并使您的应用程序准备好匿名用户。
协议和免责声明
该插件旨在为TOR用户提供额外的功能,而不是阻止他们访问内容。
您不得以任何方式使用此包来阻止人们使用您的应用程序,限制功能或其他任何形式的降级。
由于TOR浏览器通常试图保持不可检测的状态,因此不能保证当前的测试在未来仍然有效。如果您发现此包中使用的过时测试,请随时报告问题。
特性
- 整体TOR检查
 - 用户代理测试
 navigator.plugins测试- 窗口和视口大小测试
 - 时区偏移测试
 
使用方法
TorBrowserDetector 提供了一些测试,还提供了一个通用的获取器来执行所有测试。
Future<void> main() async {
  final isTor = await TorBrowserDetector.isTorBrowser;
  window.console.log(isTor);
}
贡献
所有的代码都应该格式化正确,并且linter不应该有任何抱怨:
dart format lib test example
dart run import_sorter:main --no-comments
dart analyze
所有的代码都应该有基本的测试。为了能够访问 dart:html 库,请确保您传递 -pfirefox 参数给 dart test 命令:
dart test -pfirefox # -pfirefox 可能会被省略,因为 `dart_test.yaml` 中已经包含它
额外信息
除了上述限制外,该包根据欧盟公共许可证1.2(EUPL-1.2)进行授权,详细信息请参见 LICENSE。
完整示例Demo
以下是完整的示例代码,用于演示如何使用 tor_detector_web 插件来检测是否在TOR浏览器中运行的应用程序。
import 'dart:html';
import 'package:tor_detector_web/tor_detector_web.dart';
void main() async {
  // 执行整体TOR浏览器检测
  final isTor = await TorBrowserDetector.isTorBrowser;
  // 输出检测结果
  window.console.log(isTor);
}
步骤说明
- 
导入必要的库:
import 'dart:html'; import 'package:tor_detector_web/tor_detector_web.dart'; - 
执行TOR浏览器检测:
final isTor = await TorBrowserDetector.isTorBrowser; - 
输出检测结果:
window.console.log(isTor); 
更多关于Flutter网络Tor检测插件tor_detector_web的使用的实战教程也可以访问 https://www.itying.com/category-92-b0.html
更多关于Flutter网络Tor检测插件tor_detector_web的使用的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html
tor_detector_web 是一个用于检测用户是否通过 Tor 网络访问你的 Flutter Web 应用的插件。它可以帮助你识别用户是否使用了 Tor 浏览器或通过 Tor 网络连接到你的应用。
安装 tor_detector_web
首先,你需要在 pubspec.yaml 文件中添加 tor_detector_web 依赖:
dependencies:
  flutter:
    sdk: flutter
  tor_detector_web: ^1.0.0  # 请使用最新版本
然后运行 flutter pub get 来安装依赖。
使用 tor_detector_web
安装完成后,你可以在你的 Flutter 应用中使用 tor_detector_web 来检测用户是否通过 Tor 网络访问。
import 'package:flutter/material.dart';
import 'package:tor_detector_web/tor_detector_web.dart';
void main() {
  runApp(MyApp());
}
class MyApp extends StatelessWidget {
  [@override](/user/override)
  Widget build(BuildContext context) {
    return MaterialApp(
      home: TorDetectionScreen(),
    );
  }
}
class TorDetectionScreen extends StatefulWidget {
  [@override](/user/override)
  _TorDetectionScreenState createState() => _TorDetectionScreenState();
}
class _TorDetectionScreenState extends State<TorDetectionScreen> {
  bool _isTor = false;
  [@override](/user/override)
  void initState() {
    super.initState();
    _checkTor();
  }
  Future<void> _checkTor() async {
    bool isTor = await TorDetectorWeb.isTor();
    setState(() {
      _isTor = isTor;
    });
  }
  [@override](/user/override)
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Tor Detector Web'),
      ),
      body: Center(
        child: _isTor
            ? Text('This user is accessing via Tor.')
            : Text('This user is not accessing via Tor.'),
      ),
    );
  }
}
        
      
            
            
            
