mirror of
https://git.selfprivacy.org/kherel/selfprivacy.org.app.git
synced 2024-08-21 20:41:50 +00:00
44 lines
1 KiB
Dart
44 lines
1 KiB
Dart
import 'package:selfprivacy/logic/models/json/dns_records.dart';
|
|
import 'package:url_launcher/url_launcher.dart';
|
|
|
|
DnsRecord? extractDkimRecord(final List<DnsRecord> records) {
|
|
DnsRecord? dkimRecord;
|
|
|
|
for (final DnsRecord record in records) {
|
|
if (record.type == 'TXT' && record.name == 'selector._domainkey') {
|
|
dkimRecord = record;
|
|
}
|
|
}
|
|
|
|
return dkimRecord;
|
|
}
|
|
|
|
String getHostnameFromDomain(final String domain) {
|
|
// Replace all non-alphanumeric characters with an underscore
|
|
String hostname =
|
|
domain.split('.')[0].replaceAll(RegExp(r'[^a-zA-Z0-9]'), '-');
|
|
if (hostname.endsWith('-')) {
|
|
hostname = hostname.substring(0, hostname.length - 1);
|
|
}
|
|
if (hostname.startsWith('-')) {
|
|
hostname = hostname.substring(1);
|
|
}
|
|
if (hostname.isEmpty) {
|
|
hostname = 'selfprivacy-server';
|
|
}
|
|
|
|
return hostname;
|
|
}
|
|
|
|
void launchURL(final url) async {
|
|
try {
|
|
final Uri uri = Uri.parse(url);
|
|
await launchUrl(
|
|
uri,
|
|
mode: LaunchMode.externalApplication,
|
|
);
|
|
} catch (e) {
|
|
print(e);
|
|
}
|
|
}
|