mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-14 14:02:48 +00:00
Bug fixes
This commit is contained in:
parent
bb5cdc13d1
commit
151cbb996e
3 changed files with 153 additions and 101 deletions
|
@ -13,7 +13,7 @@ class DnsInfo {
|
||||||
int? cacheTtlMin;
|
int? cacheTtlMin;
|
||||||
int? cacheTtlMax;
|
int? cacheTtlMax;
|
||||||
bool? cacheOptimistic;
|
bool? cacheOptimistic;
|
||||||
bool resolveClients;
|
bool? resolveClients;
|
||||||
bool usePrivatePtrResolvers;
|
bool usePrivatePtrResolvers;
|
||||||
List<String> localPtrUpstreams;
|
List<String> localPtrUpstreams;
|
||||||
String blockingIpv4;
|
String blockingIpv4;
|
||||||
|
|
|
@ -79,7 +79,7 @@ class _PrivateReverseDnsServersScreenState extends State<PrivateReverseDnsServer
|
||||||
editReverseResolvers = true;
|
editReverseResolvers = true;
|
||||||
}
|
}
|
||||||
usePrivateReverseDnsResolvers = dnsProvider.dnsInfo!.usePrivatePtrResolvers;
|
usePrivateReverseDnsResolvers = dnsProvider.dnsInfo!.usePrivatePtrResolvers;
|
||||||
enableReverseResolve = dnsProvider.dnsInfo!.resolveClients;
|
enableReverseResolve = dnsProvider.dnsInfo!.resolveClients ?? false;
|
||||||
validValues = true;
|
validValues = true;
|
||||||
super.initState();
|
super.initState();
|
||||||
}
|
}
|
||||||
|
|
|
@ -616,19 +616,33 @@ class ApiClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future getClients() async {
|
Future getClients() async {
|
||||||
final result = await Future.wait([
|
try {
|
||||||
apiRequest(server: server, method: 'get', urlPath: '/clients', type: 'get_clients'),
|
final result = await Future.wait([
|
||||||
apiRequest(server: server, method: 'get', urlPath: '/access/list', type: 'get_clients'),
|
apiRequest(server: server, method: 'get', urlPath: '/clients', type: 'get_clients'),
|
||||||
]);
|
apiRequest(server: server, method: 'get', urlPath: '/access/list', type: 'get_clients'),
|
||||||
|
]);
|
||||||
|
|
||||||
if (result[0]['hasResponse'] == true && result[1]['hasResponse'] == true) {
|
if (result[0]['hasResponse'] == true && result[1]['hasResponse'] == true) {
|
||||||
if (result[0]['statusCode'] == 200 && result[1]['statusCode'] == 200) {
|
if (result[0]['statusCode'] == 200 && result[1]['statusCode'] == 200) {
|
||||||
final clients = Clients.fromJson(jsonDecode(result[0]['body']));
|
final clients = Clients.fromJson(jsonDecode(result[0]['body']));
|
||||||
clients.clientsAllowedBlocked = ClientsAllowedBlocked.fromJson(jsonDecode(result[1]['body']));
|
clients.clientsAllowedBlocked = ClientsAllowedBlocked.fromJson(jsonDecode(result[1]['body']));
|
||||||
return {
|
return {
|
||||||
'result': 'success',
|
'result': 'success',
|
||||||
'data': clients
|
'data': clients
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_clients',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
||||||
|
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
||||||
|
)
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return {
|
||||||
|
@ -636,22 +650,21 @@ class ApiClient {
|
||||||
'log': AppLog(
|
'log': AppLog(
|
||||||
type: 'get_clients',
|
type: 'get_clients',
|
||||||
dateTime: DateTime.now(),
|
dateTime: DateTime.now(),
|
||||||
message: 'error_code_not_expected',
|
message: 'no_response',
|
||||||
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
||||||
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
} catch (e) {
|
||||||
else {
|
Sentry.captureException(e);
|
||||||
return {
|
return {
|
||||||
'result': 'error',
|
'result': 'error',
|
||||||
'log': AppLog(
|
'log': AppLog(
|
||||||
type: 'get_clients',
|
type: 'get_clients',
|
||||||
dateTime: DateTime.now(),
|
dateTime: DateTime.now(),
|
||||||
message: 'no_response',
|
message: 'no_response',
|
||||||
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
resBody: e.toString()
|
||||||
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -701,68 +714,94 @@ class ApiClient {
|
||||||
String? responseStatus,
|
String? responseStatus,
|
||||||
String? search
|
String? search
|
||||||
}) async {
|
}) async {
|
||||||
final result = await apiRequest(
|
try {
|
||||||
server: server,
|
final result = await apiRequest(
|
||||||
method: 'get',
|
server: server,
|
||||||
urlPath: '/querylog?limit=$count${offset != null ? '&offset=$offset' : ''}${olderThan != null ? '&older_than=${olderThan.toIso8601String()}' : ''}${responseStatus != null ? '&response_status=$responseStatus' : ''}${search != null ? '&search=$search' : ''}',
|
method: 'get',
|
||||||
type: 'get_logs'
|
urlPath: '/querylog?limit=$count${offset != null ? '&offset=$offset' : ''}${olderThan != null ? '&older_than=${olderThan.toIso8601String()}' : ''}${responseStatus != null ? '&response_status=$responseStatus' : ''}${search != null ? '&search=$search' : ''}',
|
||||||
);
|
type: 'get_logs'
|
||||||
|
);
|
||||||
|
|
||||||
if (result['hasResponse'] == true) {
|
if (result['hasResponse'] == true) {
|
||||||
if (result['statusCode'] == 200) {
|
if (result['statusCode'] == 200) {
|
||||||
return {
|
return {
|
||||||
'result': 'success',
|
'result': 'success',
|
||||||
'data': LogsData.fromJson(jsonDecode(result['body']))
|
'data': LogsData.fromJson(jsonDecode(result['body']))
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_logs',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
statusCode: result['statusCode'].toString(),
|
||||||
|
resBody: result['body']
|
||||||
|
)
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return result;
|
||||||
'result': 'error',
|
|
||||||
'log': AppLog(
|
|
||||||
type: 'get_logs',
|
|
||||||
dateTime: DateTime.now(),
|
|
||||||
message: 'error_code_not_expected',
|
|
||||||
statusCode: result['statusCode'].toString(),
|
|
||||||
resBody: result['body']
|
|
||||||
)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
} catch (e) {
|
||||||
else {
|
Sentry.captureException(e);
|
||||||
return result;
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_logs',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
resBody: e.toString()
|
||||||
|
)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future getFilteringRules() async {
|
Future getFilteringRules() async {
|
||||||
final result = await apiRequest(
|
try {
|
||||||
server: server,
|
final result = await apiRequest(
|
||||||
method: 'get',
|
server: server,
|
||||||
urlPath: '/filtering/status',
|
method: 'get',
|
||||||
type: 'get_filtering_rules'
|
urlPath: '/filtering/status',
|
||||||
);
|
type: 'get_filtering_rules'
|
||||||
|
);
|
||||||
|
|
||||||
if (result['hasResponse'] == true) {
|
if (result['hasResponse'] == true) {
|
||||||
if (result['statusCode'] == 200) {
|
if (result['statusCode'] == 200) {
|
||||||
return {
|
return {
|
||||||
'result': 'success',
|
'result': 'success',
|
||||||
'data': FilteringStatus.fromJson(jsonDecode(result['body']))
|
'data': FilteringStatus.fromJson(jsonDecode(result['body']))
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_filtering_rules',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
statusCode: result['statusCode'].toString(),
|
||||||
|
resBody: result['body']
|
||||||
|
)
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return result;
|
||||||
'result': 'error',
|
|
||||||
'log': AppLog(
|
|
||||||
type: 'get_filtering_rules',
|
|
||||||
dateTime: DateTime.now(),
|
|
||||||
message: 'error_code_not_expected',
|
|
||||||
statusCode: result['statusCode'].toString(),
|
|
||||||
resBody: result['body']
|
|
||||||
)
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
}
|
} catch (e) {
|
||||||
else {
|
Sentry.captureException(e);
|
||||||
return result;
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_filtering_rules',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
resBody: e.toString()
|
||||||
|
)
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -899,32 +938,46 @@ class ApiClient {
|
||||||
}
|
}
|
||||||
|
|
||||||
Future getFiltering() async {
|
Future getFiltering() async {
|
||||||
final result = await Future.wait([
|
try {
|
||||||
apiRequest(
|
final result = await Future.wait([
|
||||||
urlPath: '/filtering/status',
|
apiRequest(
|
||||||
method: 'get',
|
urlPath: '/filtering/status',
|
||||||
server: server,
|
method: 'get',
|
||||||
type: 'get_filtering_status'
|
server: server,
|
||||||
),
|
type: 'get_filtering_status'
|
||||||
apiRequest(
|
),
|
||||||
urlPath: '/blocked_services/list',
|
apiRequest(
|
||||||
method: 'get',
|
urlPath: '/blocked_services/list',
|
||||||
server: server,
|
method: 'get',
|
||||||
type: 'get_filtering_status'
|
server: server,
|
||||||
),
|
type: 'get_filtering_status'
|
||||||
]);
|
),
|
||||||
|
]);
|
||||||
|
|
||||||
if (result[0]['hasResponse'] == true && result[0]['hasResponse'] == true) {
|
if (result[0]['hasResponse'] == true && result[0]['hasResponse'] == true) {
|
||||||
if (result[0]['statusCode'] == 200 && result[0]['statusCode'] == 200) {
|
if (result[0]['statusCode'] == 200 && result[0]['statusCode'] == 200) {
|
||||||
return {
|
return {
|
||||||
'result': 'success',
|
'result': 'success',
|
||||||
'data': Filtering.fromJson({
|
'data': Filtering.fromJson({
|
||||||
...jsonDecode(result[0]['body']),
|
...jsonDecode(result[0]['body']),
|
||||||
"blocked_services": result[1]['body'] != null
|
"blocked_services": result[1]['body'] != null
|
||||||
? jsonDecode(result[1]['body'])
|
? jsonDecode(result[1]['body'])
|
||||||
: []
|
: []
|
||||||
})
|
})
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {
|
||||||
|
'result': 'error',
|
||||||
|
'log': AppLog(
|
||||||
|
type: 'get_filtering_status',
|
||||||
|
dateTime: DateTime.now(),
|
||||||
|
message: 'error_code_not_expected',
|
||||||
|
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
||||||
|
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
||||||
|
)
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return {
|
return {
|
||||||
|
@ -932,22 +985,21 @@ class ApiClient {
|
||||||
'log': AppLog(
|
'log': AppLog(
|
||||||
type: 'get_filtering_status',
|
type: 'get_filtering_status',
|
||||||
dateTime: DateTime.now(),
|
dateTime: DateTime.now(),
|
||||||
message: 'error_code_not_expected',
|
message: 'no_response',
|
||||||
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
||||||
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
} catch (e) {
|
||||||
else {
|
Sentry.captureException(e);
|
||||||
return {
|
return {
|
||||||
'result': 'error',
|
'result': 'error',
|
||||||
'log': AppLog(
|
'log': AppLog(
|
||||||
type: 'get_filtering_status',
|
type: 'get_filtering_status',
|
||||||
dateTime: DateTime.now(),
|
dateTime: DateTime.now(),
|
||||||
message: 'no_response',
|
message: 'no_response',
|
||||||
statusCode: result.map((res) => res['statusCode'] ?? 'null').toString(),
|
resBody: e.toString(),
|
||||||
resBody: result.map((res) => res['body'] ?? 'null').toString(),
|
|
||||||
)
|
)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue