Add proxy routing and sing-box support

This commit is contained in:
Fabian Freund
2026-05-22 18:16:31 +02:00
parent 51289f1266
commit a5974617aa
262 changed files with 32003 additions and 3962 deletions
@@ -3,7 +3,7 @@ import 'dart:async';
import 'package:flutter_mozilla_components/flutter_mozilla_components.dart'
as fmc;
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:search_backend/search_backend.dart';
import 'package:search_protocol/search_protocol.dart';
import 'package:search_client/search_client.dart';
import 'package:weblibre/core/routing/routes.dart';
import 'package:weblibre/features/geckoview/domain/entities/states/tab.dart';
@@ -4,7 +4,7 @@ import 'dart:typed_data';
import 'package:riverpod/riverpod.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:search_backend/search_backend.dart';
import 'package:search_protocol/search_protocol.dart';
import 'package:search_client/search_client.dart';
import 'package:weblibre/domain/services/generic_website.dart';
import 'package:weblibre/features/search_credits/domain/controllers/search_token_issuance_controller.dart';
@@ -12,6 +12,7 @@ import 'package:weblibre/features/search_credits/domain/providers.dart';
import 'package:weblibre/features/search_credits/domain/providers/proxy_client.dart';
import 'package:weblibre/features/search_credits/domain/repositories/search_token_stash_repository.dart';
import 'package:weblibre/features/search_credits/domain/repositories/web_search_settings.dart';
import 'package:weblibre/features/tor/domain/extensions/tor_status_x.dart';
import 'package:weblibre/features/tor/domain/services/tor_proxy.dart';
import 'package:weblibre/features/tor/presentation/controllers/start_tor_proxy.dart';
import 'package:weblibre/features/web_search/domain/entities/captured_page_state.dart';
@@ -687,10 +688,7 @@ class MetaSearchController extends _$MetaSearchController {
final completer = Completer<bool>();
final subscription = ref.listen(torProxyServiceProvider, (previous, next) {
final status = next.value;
if (status != null &&
status.isRunning &&
status.bootstrapProgress >= 100) {
if (next.isReady) {
if (!completer.isCompleted) completer.complete(true);
}
});
@@ -42,7 +42,7 @@ final class MetaSearchControllerProvider
}
String _$metaSearchControllerHash() =>
r'b040527dfb49d9407fe0ea22169f5961d1faef13';
r'afb6600f78717df124a6afdb80710eba74666d23';
abstract class _$MetaSearchController extends $Notifier<MetaSearchState> {
MetaSearchState build();