Add proxy routing and sing-box support
This commit is contained in:
@@ -69,6 +69,7 @@ export 'src/pigeons/gecko.g.dart'
|
||||
GeckoDeleteBrowsingDataController,
|
||||
GeckoEngineSettings,
|
||||
GeckoFetchResponse,
|
||||
GeckoProxySettings,
|
||||
GeckoPref,
|
||||
GeckoPublicSuffixListApi,
|
||||
GeckoPwaApi,
|
||||
@@ -93,6 +94,7 @@ export 'src/pigeons/gecko.g.dart'
|
||||
MlProgressStatus,
|
||||
MlProgressType,
|
||||
PhoneHitResult,
|
||||
ProxyLoadError,
|
||||
PwaIcon,
|
||||
PwaManifest,
|
||||
QueryParameterStripping,
|
||||
|
||||
+20
@@ -24,6 +24,26 @@ class GeckoContainerProxyService {
|
||||
return _apiInstance.removeContainerProxy(contextId);
|
||||
}
|
||||
|
||||
Future<void> upsertProxy(GeckoProxySettings proxy) {
|
||||
return _apiInstance.upsertProxy(proxy);
|
||||
}
|
||||
|
||||
Future<void> removeProxy(String proxyId) {
|
||||
return _apiInstance.removeProxy(proxyId);
|
||||
}
|
||||
|
||||
Future<void> setContainerProxy(String contextId, String proxyId) {
|
||||
return _apiInstance.setContainerProxy(contextId, proxyId);
|
||||
}
|
||||
|
||||
Future<void> clearContainerProxy(String contextId) {
|
||||
return _apiInstance.clearContainerProxy(contextId);
|
||||
}
|
||||
|
||||
Future<void> removeContainerProxyRelation(String contextId, String proxyId) {
|
||||
return _apiInstance.removeContainerProxyRelation(contextId, proxyId);
|
||||
}
|
||||
|
||||
Future<void> setSiteAssignments(Map<String, String> assignments) {
|
||||
return _apiInstance.setSiteAssignments(assignments);
|
||||
}
|
||||
|
||||
@@ -44,6 +44,7 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
// final _scrollEventSubject = PublishSubject<ScrollEvent>();
|
||||
final _prefUpdateSubject = PublishSubject<GeckoPref>();
|
||||
final _siteAssignementSubject = PublishSubject<ContainerSiteAssignment>();
|
||||
final _proxyLoadErrorSubject = PublishSubject<ProxyLoadError>();
|
||||
|
||||
final _tabAddedSubject = PublishSubject<String>();
|
||||
final _mlProgressSubject = PublishSubject<MlProgressData>();
|
||||
@@ -71,6 +72,8 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
Stream<GeckoPref> get prefUpdateEvent => _prefUpdateSubject.stream;
|
||||
Stream<ContainerSiteAssignment> get siteAssignementEvent =>
|
||||
_siteAssignementSubject.stream;
|
||||
Stream<ProxyLoadError> get proxyLoadErrorEvents =>
|
||||
_proxyLoadErrorSubject.stream;
|
||||
|
||||
Stream<String> get tabAddedStream => _tabAddedSubject.stream;
|
||||
Stream<MlProgressData> get mlProgressEvents => _mlProgressSubject.stream;
|
||||
@@ -205,6 +208,11 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
void onProxyLoadError(int sequence, ProxyLoadError details) {
|
||||
_proxyLoadErrorSubject.addWhenMoreRecent(sequence, details.tabId, details);
|
||||
}
|
||||
|
||||
@override
|
||||
void onMlProgress(int sequence, MlProgressData progress) {
|
||||
_mlProgressSubject.addWhenMoreRecent(sequence, null, progress);
|
||||
@@ -266,6 +274,7 @@ class GeckoEventService extends GeckoStateEvents {
|
||||
await _tabAddedSubject.close();
|
||||
await _prefUpdateSubject.close();
|
||||
await _siteAssignementSubject.close();
|
||||
await _proxyLoadErrorSubject.close();
|
||||
await _mlProgressSubject.close();
|
||||
await _manifestUpdateSubject.close();
|
||||
await _translationEngineSubject.close();
|
||||
|
||||
@@ -91,7 +91,10 @@ class GeckoHistoryService {
|
||||
return _api.getVisited(urls);
|
||||
}
|
||||
|
||||
Future<List<HistorySuggestion>> getSuggestions(String query, {int limit = 10}) {
|
||||
Future<List<HistorySuggestion>> getSuggestions(
|
||||
String query, {
|
||||
int limit = 10,
|
||||
}) {
|
||||
return _api.getSuggestions(query, limit);
|
||||
}
|
||||
|
||||
@@ -140,6 +143,8 @@ class GeckoHistoryService {
|
||||
}
|
||||
|
||||
Future<void> deleteHistoryMetadataOlderThan(DateTime olderThan) {
|
||||
return _api.deleteHistoryMetadataOlderThan(olderThan.millisecondsSinceEpoch);
|
||||
return _api.deleteHistoryMetadataOlderThan(
|
||||
olderThan.millisecondsSinceEpoch,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user