From 4ad712ac9fa2c3effe76ead9c47a1406f4141f90 Mon Sep 17 00:00:00 2001 From: gumob Date: Sat, 24 Aug 2024 22:40:01 +0900 Subject: [PATCH 01/33] build(ToDo): Enabled build for Xcode 15 --- .mise.toml | 19 + Cartfile | 2 +- Cartfile.resolved | 2 +- Gemfile.lock | 420 +- Package.swift | 4 +- Resources/public_suffix_list.dat | 3548 ++++++++++------- Scripts/exec-bundler.sh | 31 + Scripts/exec-fastlane.sh | 30 + update-psl.py => Scripts/update-psl.py | 2 +- TLDExtract.xcodeproj/project.pbxproj | 124 +- .../xcschemes/TLDExtract-iOS.xcscheme | 28 +- .../xcschemes/TLDExtract-macOS.xcscheme | 28 +- .../xcschemes/TLDExtract-tvOS.xcscheme | 28 +- bundle-install.sh | 108 - Requirements.txt => requirements.txt | 0 15 files changed, 2682 insertions(+), 1692 deletions(-) create mode 100644 .mise.toml create mode 100755 Scripts/exec-bundler.sh create mode 100755 Scripts/exec-fastlane.sh rename update-psl.py => Scripts/update-psl.py (96%) delete mode 100755 bundle-install.sh rename Requirements.txt => requirements.txt (100%) diff --git a/.mise.toml b/.mise.toml new file mode 100644 index 0000000..1591de0 --- /dev/null +++ b/.mise.toml @@ -0,0 +1,19 @@ +[tools] +ruby = "3.2.5" +python = "3.11.9" + +[env] +_.python.venv = ".venv" +EXPANDED_CODE_SIGN_IDENTITY="" +EXPANDED_CODE_SIGN_IDENTITY_NAME="" +EXPANDED_PROVISIONING_PROFILE="" +DEFAULT_XCODEPROJ="TLDExtract.xcodeproj" +DEFAULT_PODSPEC="TLDExtractSwift.podspec" +SCHEME_IOS="TLDExtract-iOS" +SCHEME_MACOS="TLDExtract-macOS" +SCHEME_TVOS="TLDExtract-tvOS" +SCHEME_IOS_TEST="TLDExtract-iOSTests" +SCHEME_MACOS_TEST="TLDExtract-macOSTests" +SCHEME_TVOS_TEST="TLDExtract-tvOSTests" +FRAMEWORK_INFO_PLIST="Source/Info.plist" +TEST_INFO_PLIST="Tests/Info.plist" \ No newline at end of file diff --git a/Cartfile b/Cartfile index 736d38e..6021ee4 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "gumob/PunycodeSwift" ~> 2.1 +github "gumob/PunycodeSwift" ~> 2.1.1 diff --git a/Cartfile.resolved b/Cartfile.resolved index b45c9be..e89da54 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "gumob/PunycodeSwift" "2.1.0" +github "gumob/PunycodeSwift" "2.1.1" diff --git a/Gemfile.lock b/Gemfile.lock index 5b7cbc9..e2281ca 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,280 +1,348 @@ GEM remote: https://rubygems.org/ specs: - CFPropertyList (3.0.2) - activesupport (4.2.11.3) - i18n (~> 0.7) + CFPropertyList (3.0.7) + base64 + nkf + rexml + activesupport (5.2.8.1) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 0.7, < 2) minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) - addressable (2.7.0) - public_suffix (>= 2.0.2, < 5.0) - algoliasearch (1.27.3) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) + algoliasearch (1.27.5) httpclient (~> 2.8, >= 2.8.3) json (>= 1.5.1) + artifactory (3.0.17) atomos (0.1.3) - aws-eventstream (1.1.0) - aws-partitions (1.332.0) - aws-sdk-core (3.100.0) - aws-eventstream (~> 1, >= 1.0.2) - aws-partitions (~> 1, >= 1.239.0) - aws-sigv4 (~> 1.1) - jmespath (~> 1.0) - aws-sdk-kms (1.34.1) - aws-sdk-core (~> 3, >= 3.99.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.69.0) - aws-sdk-core (~> 3, >= 3.99.0) + aws-eventstream (1.3.0) + aws-partitions (1.968.0) + aws-sdk-core (3.201.5) + aws-eventstream (~> 1, >= 1.3.0) + aws-partitions (~> 1, >= 1.651.0) + aws-sigv4 (~> 1.9) + jmespath (~> 1, >= 1.6.1) + aws-sdk-kms (1.88.0) + aws-sdk-core (~> 3, >= 3.201.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.159.0) + aws-sdk-core (~> 3, >= 3.201.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.1) - aws-sigv4 (1.2.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.9.1) aws-eventstream (~> 1, >= 1.0.2) - babosa (1.0.3) - backports (3.17.2) - claide (1.0.3) - clamp (1.3.1) - cocoapods (1.9.3) - activesupport (>= 4.0.2, < 5) + babosa (1.0.4) + base64 (0.2.0) + claide (1.1.0) + clamp (1.3.2) + cocoapods (1.15.2) + addressable (~> 2.8) claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.9.3) + cocoapods-core (= 1.15.2) cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 1.2.2, < 2.0) + cocoapods-downloader (>= 2.1, < 3.0) cocoapods-plugins (>= 1.0.0, < 2.0) cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-stats (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.4.0, < 2.0) + cocoapods-trunk (>= 1.6.0, < 2.0) cocoapods-try (>= 1.1.0, < 2.0) colored2 (~> 3.1) escape (~> 0.0.4) fourflusher (>= 2.3.0, < 3.0) gh_inspector (~> 1.0) - molinillo (~> 0.6.6) + molinillo (~> 0.8.0) nap (~> 1.0) - ruby-macho (~> 1.4) - xcodeproj (>= 1.14.0, < 2.0) + ruby-macho (>= 2.3.0, < 3.0) + xcodeproj (>= 1.23.0, < 2.0) cocoapods-clean (0.0.1) - cocoapods-core (1.9.3) - activesupport (>= 4.0.2, < 6) + cocoapods-core (1.15.2) + activesupport (>= 5.0, < 8) + addressable (~> 2.8) algoliasearch (~> 1.0) concurrent-ruby (~> 1.1) fuzzy_match (~> 2.0.4) nap (~> 1.0) netrc (~> 0.11) + public_suffix (~> 4.0) typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.4) - cocoapods-downloader (1.3.0) + cocoapods-deintegrate (1.0.5) + cocoapods-downloader (2.1) cocoapods-plugins (1.0.0) nap - cocoapods-search (1.0.0) - cocoapods-stats (1.1.0) - cocoapods-trunk (1.5.0) + cocoapods-search (1.0.1) + cocoapods-trunk (1.6.0) nap (>= 0.8, < 2.0) netrc (~> 0.11) cocoapods-try (1.2.0) - coderay (1.1.3) colored (1.2) colored2 (3.1.2) - commander-fastlane (4.4.6) - highline (~> 1.7.2) - concurrent-ruby (1.1.6) - connection_pool (2.2.3) - declarative (0.0.10) - declarative-option (0.1.0) - digest-crc (0.5.1) - domain_name (0.5.20190701) - unf (>= 0.0.5, < 1.0.0) - dotenv (2.7.5) - emoji_regex (1.0.1) + commander (4.6.0) + highline (~> 2.0.0) + concurrent-ruby (1.3.4) + declarative (0.0.20) + digest-crc (0.6.5) + rake (>= 12.0.0, < 14.0.0) + domain_name (0.6.20240107) + dotenv (2.8.1) + emoji_regex (3.2.3) escape (0.0.4) - ethon (0.12.0) - ffi (>= 1.3.0) - excon (0.75.0) - faraday (0.17.3) - multipart-post (>= 1.2, < 3) - faraday-cookie_jar (0.0.6) - faraday (>= 0.7.4) + ethon (0.16.0) + ffi (>= 1.15.0) + excon (0.111.0) + faraday (1.10.3) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-cookie_jar (0.0.7) + faraday (>= 0.8.0) http-cookie (~> 1.0.0) - faraday_middleware (0.14.0) - faraday (>= 0.7.4, < 1.0) - fastimage (2.1.7) - fastlane (2.149.1) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.4) + multipart-post (~> 2) + faraday-net_http (1.0.2) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) + faraday_middleware (1.2.0) + faraday (~> 1.0) + fastimage (2.3.1) + fastlane (2.222.0) CFPropertyList (>= 2.3, < 4.0.0) - addressable (>= 2.3, < 3.0.0) + addressable (>= 2.8, < 3.0.0) + artifactory (~> 3.0) aws-sdk-s3 (~> 1.0) - babosa (>= 1.0.2, < 2.0.0) + babosa (>= 1.0.3, < 2.0.0) bundler (>= 1.12.0, < 3.0.0) - colored - commander-fastlane (>= 4.4.6, < 5.0.0) + colored (~> 1.2) + commander (~> 4.6) dotenv (>= 2.1.1, < 3.0.0) - emoji_regex (>= 0.1, < 2.0) + emoji_regex (>= 0.1, < 4.0) excon (>= 0.71.0, < 1.0.0) - faraday (>= 0.17, < 2.0) + faraday (~> 1.0) faraday-cookie_jar (~> 0.0.6) - faraday_middleware (>= 0.13.1, < 2.0) + faraday_middleware (~> 1.0) fastimage (>= 2.1.0, < 3.0.0) gh_inspector (>= 1.1.2, < 2.0.0) - google-api-client (>= 0.37.0, < 0.39.0) - google-cloud-storage (>= 1.15.0, < 2.0.0) - highline (>= 1.7.2, < 2.0.0) + google-apis-androidpublisher_v3 (~> 0.3) + google-apis-playcustomapp_v1 (~> 0.1) + google-cloud-env (>= 1.6.0, < 2.0.0) + google-cloud-storage (~> 1.31) + highline (~> 2.0) + http-cookie (~> 1.0.5) json (< 3.0.0) - jwt (~> 2.1.0) + jwt (>= 2.1.0, < 3) mini_magick (>= 4.9.4, < 5.0.0) - multi_xml (~> 0.5) - multipart-post (~> 2.0.0) + multipart-post (>= 2.0.0, < 3.0.0) + naturally (~> 2.2) + optparse (>= 0.1.1, < 1.0.0) plist (>= 3.1.0, < 4.0.0) - public_suffix (~> 2.0.0) - rubyzip (>= 1.3.0, < 2.0.0) - security (= 0.1.3) + rubyzip (>= 2.0.0, < 3.0.0) + security (= 0.1.5) simctl (~> 1.6.3) - slack-notifier (>= 2.0.0, < 3.0.0) terminal-notifier (>= 2.0.0, < 3.0.0) - terminal-table (>= 1.4.5, < 2.0.0) + terminal-table (~> 3) tty-screen (>= 0.6.3, < 1.0.0) tty-spinner (>= 0.8.0, < 1.0.0) word_wrap (~> 1.0.0) xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) - xcpretty-travis-formatter (>= 0.0.3) - ffi (1.13.1) + xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + ffi (1.17.0-aarch64-linux-gnu) + ffi (1.17.0-aarch64-linux-musl) + ffi (1.17.0-arm-linux-gnu) + ffi (1.17.0-arm-linux-musl) + ffi (1.17.0-arm64-darwin) + ffi (1.17.0-x86-linux-gnu) + ffi (1.17.0-x86-linux-musl) + ffi (1.17.0-x86_64-darwin) + ffi (1.17.0-x86_64-linux-gnu) + ffi (1.17.0-x86_64-linux-musl) fourflusher (2.3.1) fuzzy_match (2.0.4) - gh (0.14.0) - addressable - backports - faraday (~> 0.8) + gh (0.18.0) + activesupport (~> 5.0) + addressable (~> 2.4) + faraday (~> 1.0) + faraday_middleware (~> 1.0) multi_json (~> 1.0) - net-http-persistent (>= 2.7) + net-http-persistent (~> 2.9) net-http-pipeline gh_inspector (1.1.3) - google-api-client (0.38.0) + google-apis-androidpublisher_v3 (0.54.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) - googleauth (~> 0.9) - httpclient (>= 2.8.1, < 3.0) + googleauth (>= 0.16.2, < 2.a) + httpclient (>= 2.8.1, < 3.a) mini_mime (~> 1.0) representable (~> 3.0) - retriable (>= 2.0, < 4.0) - signet (~> 0.12) - google-cloud-core (1.5.0) - google-cloud-env (~> 1.0) + retriable (>= 2.0, < 4.a) + rexml + google-apis-iamcredentials_v1 (0.17.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-playcustomapp_v1 (0.13.0) + google-apis-core (>= 0.11.0, < 2.a) + google-apis-storage_v1 (0.31.0) + google-apis-core (>= 0.11.0, < 2.a) + google-cloud-core (1.7.1) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) - google-cloud-env (1.3.2) - faraday (>= 0.17.3, < 2.0) - google-cloud-errors (1.0.1) - google-cloud-storage (1.26.2) - addressable (~> 2.5) + google-cloud-env (1.6.0) + faraday (>= 0.17.3, < 3.0) + google-cloud-errors (1.4.0) + google-cloud-storage (1.47.0) + addressable (~> 2.8) digest-crc (~> 0.4) - google-api-client (~> 0.33) - google-cloud-core (~> 1.2) - googleauth (~> 0.9) + google-apis-iamcredentials_v1 (~> 0.1) + google-apis-storage_v1 (~> 0.31.0) + google-cloud-core (~> 1.6) + googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) - googleauth (0.13.0) - faraday (>= 0.17.3, < 2.0) + googleauth (1.8.1) + faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) - memoist (~> 0.16) multi_json (~> 1.11) os (>= 0.9, < 2.0) - signet (~> 0.14) - highline (1.7.10) - http-cookie (1.0.3) + signet (>= 0.16, < 2.a) + highline (2.0.3) + http-cookie (1.0.7) domain_name (~> 0.5) httpclient (2.8.3) - i18n (0.9.5) + i18n (1.14.5) concurrent-ruby (~> 1.0) - jmespath (1.4.0) - json (2.3.0) - jwt (2.1.0) - launchy (2.5.0) - addressable (~> 2.7) - memoist (0.16.2) - method_source (1.0.0) - mini_magick (4.10.1) - mini_mime (1.0.2) - mini_portile2 (2.4.0) - minitest (5.14.1) - molinillo (0.6.6) - multi_json (1.14.1) - multi_xml (0.6.0) - multipart-post (2.0.0) - nanaimo (0.2.6) + jmespath (1.6.2) + json (2.7.2) + json_pure (2.7.2) + jwt (2.8.2) + base64 + launchy (2.4.3) + addressable (~> 2.3) + mini_magick (4.13.2) + mini_mime (1.1.5) + minitest (5.25.1) + molinillo (0.8.0) + multi_json (1.15.0) + multipart-post (2.4.1) + nanaimo (0.3.0) nap (1.1.0) - naturally (2.2.0) - net-http-persistent (4.0.0) - connection_pool (~> 2.2) + naturally (2.2.1) + net-http-persistent (2.9.4) net-http-pipeline (1.0.1) netrc (0.11.0) - nokogiri (1.10.9) - mini_portile2 (~> 2.4.0) - os (1.1.0) - plist (3.5.0) - pry (0.13.1) - coderay (~> 1.1) - method_source (~> 1.0) - public_suffix (2.0.5) - representable (3.0.4) + nkf (0.2.0) + nokogiri (1.16.7-aarch64-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm-linux) + racc (~> 1.4) + nokogiri (1.16.7-arm64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86-linux) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-darwin) + racc (~> 1.4) + nokogiri (1.16.7-x86_64-linux) + racc (~> 1.4) + optparse (0.5.0) + os (1.1.4) + plist (3.7.1) + public_suffix (4.0.7) + pusher-client (0.6.2) + json + websocket (~> 1.0) + racc (1.8.1) + rake (13.2.1) + representable (3.2.0) declarative (< 0.1.0) - declarative-option (< 0.2.0) + trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) + rexml (3.3.6) + strscan rouge (2.0.7) - ruby-macho (1.4.0) - rubyzip (1.3.0) - security (0.1.3) - signet (0.14.0) - addressable (~> 2.3) - faraday (>= 0.17.3, < 2.0) + ruby-macho (2.5.1) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) + security (0.1.5) + signet (0.19.0) + addressable (~> 2.8) + faraday (>= 0.17.5, < 3.a) jwt (>= 1.5, < 3.0) multi_json (~> 1.10) - simctl (1.6.8) + simctl (1.6.10) CFPropertyList naturally - slack-notifier (2.3.2) - slather (2.4.9) + slather (2.8.3) CFPropertyList (>= 2.2, < 4) - activesupport (>= 4.0.2, < 5) + activesupport clamp (~> 1.3) - nokogiri (~> 1.8) - xcodeproj (~> 1.7) + nokogiri (>= 1.14.3) + xcodeproj (~> 1.21) + strscan (3.1.0) terminal-notifier (2.0.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) thread_safe (0.3.6) - travis (1.4.0) - backports - faraday (~> 0.8) - faraday_middleware (~> 0.9) - gh - highline (~> 1.6) - launchy (~> 2.1) - netrc (~> 0.7) - pry (~> 0.9) - typhoeus + trailblazer-option (0.1.2) + travis (1.11.1) + faraday (~> 1.0) + faraday_middleware (~> 1.0) + gh (~> 0.13) + highline (~> 2.0) + json_pure (~> 2.3) + launchy (~> 2.1, < 2.5.0) + pusher-client (~> 0.4) tty-cursor (0.7.1) - tty-screen (0.8.0) + tty-screen (0.8.2) tty-spinner (0.9.3) tty-cursor (~> 0.7) - typhoeus (1.4.0) + typhoeus (1.4.1) ethon (>= 0.9.0) - tzinfo (1.2.7) + tzinfo (1.2.11) thread_safe (~> 0.1) uber (0.1.0) - unf (0.1.4) - unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.7.0) + unicode-display_width (2.5.0) + websocket (1.2.11) word_wrap (1.0.0) - xcodeproj (1.16.0) + xcodeproj (1.25.0) CFPropertyList (>= 2.3.3, < 4.0) atomos (~> 0.1.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) - nanaimo (~> 0.2.6) + nanaimo (~> 0.3.0) + rexml (>= 3.3.2, < 4.0) xcpretty (0.3.0) rouge (~> 2.0.7) - xcpretty-travis-formatter (1.0.0) + xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) PLATFORMS - ruby + aarch64-linux + aarch64-linux-gnu + aarch64-linux-musl + arm-linux + arm-linux-gnu + arm-linux-musl + arm64-darwin + x86-linux + x86-linux-gnu + x86-linux-musl + x86_64-darwin + x86_64-linux + x86_64-linux-gnu + x86_64-linux-musl DEPENDENCIES cocoapods @@ -286,4 +354,4 @@ DEPENDENCIES xcpretty BUNDLED WITH - 2.1.4 + 2.5.17 diff --git a/Package.swift b/Package.swift index 6578e04..d07bf1d 100644 --- a/Package.swift +++ b/Package.swift @@ -11,12 +11,12 @@ let package = Package( targets: ["TLDExtract"]) ], dependencies: [ - .package(url: "https://github.com/gumob/PunycodeSwift.git", .branch("master")) + .package(url: "https://github.com/gumob/PunycodeSwift.git", .from: "2.1.0") ], targets: [ .target( name: "TLDExtract", - dependencies: ["Punnycode"], + dependencies: ["Punycode"], path: "Source"), .testTarget( name: "TLDExtractSwiftTests", diff --git a/Resources/public_suffix_list.dat b/Resources/public_suffix_list.dat index 2a947ff..9c8850e 100644 --- a/Resources/public_suffix_list.dat +++ b/Resources/public_suffix_list.dat @@ -16,20 +16,19 @@ ac.ae gov.ae mil.ae aero +airline.aero +airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero -aircraft.aero -airline.aero -airport.aero air-surveillance.aero -airtraffic.aero air-traffic-control.aero +aircraft.aero +airtraffic.aero ambulance.aero -amusement.aero association.aero author.aero ballooning.aero @@ -60,6 +59,7 @@ exchange.aero express.aero federation.aero flight.aero +freight.aero fuel.aero gliding.aero government.aero @@ -74,6 +74,7 @@ leasing.aero logistics.aero magazine.aero maintenance.aero +marketplace.aero media.aero microlight.aero modelling.aero @@ -96,6 +97,7 @@ show.aero skydiving.aero software.aero student.aero +taxi.aero trader.aero trading.aero trainer.aero @@ -141,15 +143,19 @@ pb.ao it.ao aq ar +bet.ar com.ar +coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar +mutual.ar net.ar org.ar +senasa.ar tur.ar arpa e164.arpa @@ -200,7 +206,6 @@ sa.gov.au tas.gov.au vic.gov.au wa.gov.au -education.tas.edu.au schools.nsw.edu.au aw com.aw @@ -292,9 +297,26 @@ or.bi org.bi biz bj -asso.bj -barreau.bj -gouv.bj +africa.bj +agro.bj +architectes.bj +assur.bj +avocats.bj +co.bj +com.bj +eco.bj +econo.bj +edu.bj +info.bj +loisirs.bj +money.bj +net.bj +org.bj +ote.bj +resto.bj +restaurant.bj +tourism.bj +univ.bj bm com.bm edu.bm @@ -359,6 +381,7 @@ aju.br am.br anani.br aparecida.br +app.br arq.br art.br ato.br @@ -366,6 +389,7 @@ b.br barueri.br belem.br bhz.br +bib.br bio.br blog.br bmd.br @@ -380,14 +404,19 @@ cnt.br com.br contagem.br coop.br +coz.br cri.br cuiaba.br curitiba.br def.br +des.br +det.br +dev.br ecn.br eco.br edu.br emp.br +enf.br eng.br esp.br etc.br @@ -403,6 +432,7 @@ fot.br foz.br fst.br g12.br +geo.br ggf.br goiania.br gov.br @@ -445,6 +475,7 @@ jor.br jus.br leg.br lel.br +log.br londrina.br macapa.br maceio.br @@ -477,6 +508,7 @@ qsl.br radio.br rec.br recife.br +rep.br ribeirao.br rio.br riobranco.br @@ -487,6 +519,7 @@ santamaria.br santoandre.br saobernardo.br saogonca.br +seg.br sjc.br slg.br slz.br @@ -494,6 +527,7 @@ sorocaba.br srv.br taxi.br tc.br +tec.br teo.br the.br tmp.br @@ -576,7 +610,6 @@ gouv.ci *.ck !www.ck cl -aprendemas.cl co.cl gob.cl gov.cl @@ -666,6 +699,11 @@ net.cu gov.cu inf.cu cv +com.cv +edu.cv +int.cv +nome.cv +org.cv cw com.cw edu.cw @@ -680,10 +718,9 @@ com.cy ekloges.cy gov.cy ltd.cy -name.cy +mil.cy net.cy org.cy -parliament.cy press.cy pro.cy tm.cy @@ -709,14 +746,16 @@ org.do sld.do web.do dz +art.dz +asso.dz com.dz +edu.dz +gov.dz org.dz net.dz -gov.dz -edu.dz -asso.dz pol.dz -art.dz +soc.dz +tm.dz ec com.ec info.ec @@ -783,6 +822,10 @@ net.fj org.fj pro.fj *.fk +com.fm +edu.fm +net.fm +org.fm fm fo fr @@ -792,23 +835,14 @@ gouv.fr nom.fr prd.fr tm.fr -aeroport.fr -avocat.fr avoues.fr cci.fr -chambagri.fr -chirurgiens-dentistes.fr -experts-comptables.fr -geometre-expert.fr greta.fr huissier-justice.fr -medecin.fr -notaires.fr -pharmacien.fr -port.fr -veterinaire.fr ga gb +edu.gd +gov.gd gd ge com.ge @@ -1015,6 +1049,16 @@ k12.il muni.il net.il org.il +ישראל +xn--4dbrk0ce +אקדמיה.ישראל +xn--4dbgdty6c.xn--4dbrk0ce +ישוב.ישראל +xn--5dbhl8d.xn--4dbrk0ce +צהל.ישראל +xn--8dbq2a.xn--4dbrk0ce +ממשל.ישראל +xn--hebda8b.xn--4dbrk0ce im ac.im co.im @@ -1026,18 +1070,47 @@ plc.co.im tt.im tv.im in +5g.in +6g.in +ac.in +ai.in +am.in +bihar.in +biz.in +business.in +ca.in +cn.in co.in +com.in +coop.in +cs.in +delhi.in +dr.in +edu.in +er.in firm.in -net.in -org.in gen.in +gov.in +gujarat.in ind.in +info.in +int.in +internet.in +io.in +me.in +mil.in +net.in nic.in -ac.in -edu.in +org.in +pg.in +post.in +pro.in res.in -gov.in -mil.in +travel.in +tv.in +uk.in +up.in +us.in info int eu.int @@ -1663,18 +1736,18 @@ xn--tor131o.jp 鹿児島.jp xn--d5qv7z876c.jp *.kawasaki.jp -*.kitakyushu.jp -*.kobe.jp -*.nagoya.jp -*.sapporo.jp -*.sendai.jp -*.yokohama.jp !city.kawasaki.jp +*.kitakyushu.jp !city.kitakyushu.jp +*.kobe.jp !city.kobe.jp +*.nagoya.jp !city.nagoya.jp +*.sapporo.jp !city.sapporo.jp +*.sendai.jp !city.sendai.jp +*.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp @@ -3444,11 +3517,10 @@ ind.kw net.kw org.kw ky -edu.ky -gov.ky com.ky -org.ky +edu.ky net.ky +org.ky kz org.kz edu.kz @@ -3618,557 +3690,6 @@ ac.mu co.mu or.mu museum -academy.museum -agriculture.museum -air.museum -airguard.museum -alabama.museum -alaska.museum -amber.museum -ambulance.museum -american.museum -americana.museum -americanantiques.museum -americanart.museum -amsterdam.museum -and.museum -annefrank.museum -anthro.museum -anthropology.museum -antiques.museum -aquarium.museum -arboretum.museum -archaeological.museum -archaeology.museum -architecture.museum -art.museum -artanddesign.museum -artcenter.museum -artdeco.museum -arteducation.museum -artgallery.museum -arts.museum -artsandcrafts.museum -asmatart.museum -assassination.museum -assisi.museum -association.museum -astronomy.museum -atlanta.museum -austin.museum -australia.museum -automotive.museum -aviation.museum -axis.museum -badajoz.museum -baghdad.museum -bahn.museum -bale.museum -baltimore.museum -barcelona.museum -baseball.museum -basel.museum -baths.museum -bauern.museum -beauxarts.museum -beeldengeluid.museum -bellevue.museum -bergbau.museum -berkeley.museum -berlin.museum -bern.museum -bible.museum -bilbao.museum -bill.museum -birdart.museum -birthplace.museum -bonn.museum -boston.museum -botanical.museum -botanicalgarden.museum -botanicgarden.museum -botany.museum -brandywinevalley.museum -brasil.museum -bristol.museum -british.museum -britishcolumbia.museum -broadcast.museum -brunel.museum -brussel.museum -brussels.museum -bruxelles.museum -building.museum -burghof.museum -bus.museum -bushey.museum -cadaques.museum -california.museum -cambridge.museum -can.museum -canada.museum -capebreton.museum -carrier.museum -cartoonart.museum -casadelamoneda.museum -castle.museum -castres.museum -celtic.museum -center.museum -chattanooga.museum -cheltenham.museum -chesapeakebay.museum -chicago.museum -children.museum -childrens.museum -childrensgarden.museum -chiropractic.museum -chocolate.museum -christiansburg.museum -cincinnati.museum -cinema.museum -circus.museum -civilisation.museum -civilization.museum -civilwar.museum -clinton.museum -clock.museum -coal.museum -coastaldefence.museum -cody.museum -coldwar.museum -collection.museum -colonialwilliamsburg.museum -coloradoplateau.museum -columbia.museum -columbus.museum -communication.museum -communications.museum -community.museum -computer.museum -computerhistory.museum -comunicações.museum -xn--comunicaes-v6a2o.museum -contemporary.museum -contemporaryart.museum -convent.museum -copenhagen.museum -corporation.museum -correios-e-telecomunicações.museum -xn--correios-e-telecomunicaes-ghc29a.museum -corvette.museum -costume.museum -countryestate.museum -county.museum -crafts.museum -cranbrook.museum -creation.museum -cultural.museum -culturalcenter.museum -culture.museum -cyber.museum -cymru.museum -dali.museum -dallas.museum -database.museum -ddr.museum -decorativearts.museum -delaware.museum -delmenhorst.museum -denmark.museum -depot.museum -design.museum -detroit.museum -dinosaur.museum -discovery.museum -dolls.museum -donostia.museum -durham.museum -eastafrica.museum -eastcoast.museum -education.museum -educational.museum -egyptian.museum -eisenbahn.museum -elburg.museum -elvendrell.museum -embroidery.museum -encyclopedic.museum -england.museum -entomology.museum -environment.museum -environmentalconservation.museum -epilepsy.museum -essex.museum -estate.museum -ethnology.museum -exeter.museum -exhibition.museum -family.museum -farm.museum -farmequipment.museum -farmers.museum -farmstead.museum -field.museum -figueres.museum -filatelia.museum -film.museum -fineart.museum -finearts.museum -finland.museum -flanders.museum -florida.museum -force.museum -fortmissoula.museum -fortworth.museum -foundation.museum -francaise.museum -frankfurt.museum -franziskaner.museum -freemasonry.museum -freiburg.museum -fribourg.museum -frog.museum -fundacio.museum -furniture.museum -gallery.museum -garden.museum -gateway.museum -geelvinck.museum -gemological.museum -geology.museum -georgia.museum -giessen.museum -glas.museum -glass.museum -gorge.museum -grandrapids.museum -graz.museum -guernsey.museum -halloffame.museum -hamburg.museum -handson.museum -harvestcelebration.museum -hawaii.museum -health.museum -heimatunduhren.museum -hellas.museum -helsinki.museum -hembygdsforbund.museum -heritage.museum -histoire.museum -historical.museum -historicalsociety.museum -historichouses.museum -historisch.museum -historisches.museum -history.museum -historyofscience.museum -horology.museum -house.museum -humanities.museum -illustration.museum -imageandsound.museum -indian.museum -indiana.museum -indianapolis.museum -indianmarket.museum -intelligence.museum -interactive.museum -iraq.museum -iron.museum -isleofman.museum -jamison.museum -jefferson.museum -jerusalem.museum -jewelry.museum -jewish.museum -jewishart.museum -jfk.museum -journalism.museum -judaica.museum -judygarland.museum -juedisches.museum -juif.museum -karate.museum -karikatur.museum -kids.museum -koebenhavn.museum -koeln.museum -kunst.museum -kunstsammlung.museum -kunstunddesign.museum -labor.museum -labour.museum -lajolla.museum -lancashire.museum -landes.museum -lans.museum -läns.museum -xn--lns-qla.museum -larsson.museum -lewismiller.museum -lincoln.museum -linz.museum -living.museum -livinghistory.museum -localhistory.museum -london.museum -losangeles.museum -louvre.museum -loyalist.museum -lucerne.museum -luxembourg.museum -luzern.museum -mad.museum -madrid.museum -mallorca.museum -manchester.museum -mansion.museum -mansions.museum -manx.museum -marburg.museum -maritime.museum -maritimo.museum -maryland.museum -marylhurst.museum -media.museum -medical.museum -medizinhistorisches.museum -meeres.museum -memorial.museum -mesaverde.museum -michigan.museum -midatlantic.museum -military.museum -mill.museum -miners.museum -mining.museum -minnesota.museum -missile.museum -missoula.museum -modern.museum -moma.museum -money.museum -monmouth.museum -monticello.museum -montreal.museum -moscow.museum -motorcycle.museum -muenchen.museum -muenster.museum -mulhouse.museum -muncie.museum -museet.museum -museumcenter.museum -museumvereniging.museum -music.museum -national.museum -nationalfirearms.museum -nationalheritage.museum -nativeamerican.museum -naturalhistory.museum -naturalhistorymuseum.museum -naturalsciences.museum -nature.museum -naturhistorisches.museum -natuurwetenschappen.museum -naumburg.museum -naval.museum -nebraska.museum -neues.museum -newhampshire.museum -newjersey.museum -newmexico.museum -newport.museum -newspaper.museum -newyork.museum -niepce.museum -norfolk.museum -north.museum -nrw.museum -nyc.museum -nyny.museum -oceanographic.museum -oceanographique.museum -omaha.museum -online.museum -ontario.museum -openair.museum -oregon.museum -oregontrail.museum -otago.museum -oxford.museum -pacific.museum -paderborn.museum -palace.museum -paleo.museum -palmsprings.museum -panama.museum -paris.museum -pasadena.museum -pharmacy.museum -philadelphia.museum -philadelphiaarea.museum -philately.museum -phoenix.museum -photography.museum -pilots.museum -pittsburgh.museum -planetarium.museum -plantation.museum -plants.museum -plaza.museum -portal.museum -portland.museum -portlligat.museum -posts-and-telecommunications.museum -preservation.museum -presidio.museum -press.museum -project.museum -public.museum -pubol.museum -quebec.museum -railroad.museum -railway.museum -research.museum -resistance.museum -riodejaneiro.museum -rochester.museum -rockart.museum -roma.museum -russia.museum -saintlouis.museum -salem.museum -salvadordali.museum -salzburg.museum -sandiego.museum -sanfrancisco.museum -santabarbara.museum -santacruz.museum -santafe.museum -saskatchewan.museum -satx.museum -savannahga.museum -schlesisches.museum -schoenbrunn.museum -schokoladen.museum -school.museum -schweiz.museum -science.museum -scienceandhistory.museum -scienceandindustry.museum -sciencecenter.museum -sciencecenters.museum -science-fiction.museum -sciencehistory.museum -sciences.museum -sciencesnaturelles.museum -scotland.museum -seaport.museum -settlement.museum -settlers.museum -shell.museum -sherbrooke.museum -sibenik.museum -silk.museum -ski.museum -skole.museum -society.museum -sologne.museum -soundandvision.museum -southcarolina.museum -southwest.museum -space.museum -spy.museum -square.museum -stadt.museum -stalbans.museum -starnberg.museum -state.museum -stateofdelaware.museum -station.museum -steam.museum -steiermark.museum -stjohn.museum -stockholm.museum -stpetersburg.museum -stuttgart.museum -suisse.museum -surgeonshall.museum -surrey.museum -svizzera.museum -sweden.museum -sydney.museum -tank.museum -tcm.museum -technology.museum -telekommunikation.museum -television.museum -texas.museum -textile.museum -theater.museum -time.museum -timekeeping.museum -topology.museum -torino.museum -touch.museum -town.museum -transport.museum -tree.museum -trolley.museum -trust.museum -trustee.museum -uhren.museum -ulm.museum -undersea.museum -university.museum -usa.museum -usantiques.museum -usarts.museum -uscountryestate.museum -usculture.museum -usdecorativearts.museum -usgarden.museum -ushistory.museum -ushuaia.museum -uslivinghistory.museum -utah.museum -uvic.museum -valley.museum -vantaa.museum -versailles.museum -viking.museum -village.museum -virginia.museum -virtual.museum -virtuel.museum -vlaanderen.museum -volkenkunde.museum -wales.museum -wallonie.museum -war.museum -washingtondc.museum -watchandclock.museum -watch-and-clock.museum -western.museum -westfalen.museum -whaling.museum -wildlife.museum -williamsburg.museum -windmill.museum -workshop.museum -york.museum -yorkshire.museum -yosemite.museum -youth.museum -zoological.museum -zoology.museum -ירושלים.museum -xn--9dbhblg6di.museum -иком.museum -xn--h1aegh.museum mv aero.mv biz.mv @@ -4203,13 +3724,14 @@ gob.mx edu.mx net.mx my +biz.my com.my -net.my -org.my -gov.my edu.my +gov.my mil.my name.my +net.my +org.my mz ac.mz adv.mz @@ -5283,20 +4805,22 @@ ngo.ph mil.ph i.ph pk +ac.pk +biz.pk com.pk -net.pk edu.pk -org.pk fam.pk -biz.pk -web.pk -gov.pk +gkp.pk gob.pk +gog.pk gok.pk gon.pk gop.pk gos.pk -info.pk +gov.pk +net.pk +org.pk +web.pk pl com.pl net.pl @@ -5333,52 +4857,60 @@ travel.pl turystyka.pl gov.pl ap.gov.pl +griw.gov.pl ic.gov.pl is.gov.pl -us.gov.pl kmpsp.gov.pl +konsulat.gov.pl kppsp.gov.pl -kwpsp.gov.pl -psp.gov.pl -wskr.gov.pl kwp.gov.pl +kwpsp.gov.pl +mup.gov.pl mw.gov.pl -ug.gov.pl -um.gov.pl -umig.gov.pl -ugim.gov.pl -upow.gov.pl -uw.gov.pl -starostwo.gov.pl +oia.gov.pl +oirm.gov.pl +oke.gov.pl +oow.gov.pl +oschr.gov.pl +oum.gov.pl pa.gov.pl +pinb.gov.pl +piw.gov.pl po.gov.pl +pr.gov.pl +psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl +sdn.gov.pl +sko.gov.pl so.gov.pl sr.gov.pl -wsa.gov.pl -sko.gov.pl +starostwo.gov.pl +ug.gov.pl +ugim.gov.pl +um.gov.pl +umig.gov.pl +upow.gov.pl +uppo.gov.pl +us.gov.pl +uw.gov.pl uzs.gov.pl +wif.gov.pl wiih.gov.pl winb.gov.pl -pinb.gov.pl wios.gov.pl witd.gov.pl -wzmiuw.gov.pl -piw.gov.pl wiw.gov.pl -griw.gov.pl -wif.gov.pl -oum.gov.pl -sdn.gov.pl -zp.gov.pl -uppo.gov.pl -mup.gov.pl +wkz.gov.pl +wsa.gov.pl +wskr.gov.pl +wsse.gov.pl wuoz.gov.pl -konsulat.gov.pl -oirm.gov.pl +wzmiuw.gov.pl +zp.gov.pl +zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl @@ -5719,15 +5251,16 @@ biz.ss com.ss edu.ss gov.ss +me.ss net.ss org.ss +sch.ss st co.st com.st consulado.st edu.st embaixada.st -gov.st mil.st net.st org.st @@ -5801,21 +5334,14 @@ ens.tn fin.tn gov.tn ind.tn +info.tn intl.tn +mincom.tn nat.tn net.tn org.tn -info.tn perso.tn tourism.tn -edunet.tn -rnrt.tn -rns.tn -rnu.tn -mincom.tn -agrinet.tn -defense.tn -turen.tn to com.to gov.to @@ -5931,6 +5457,7 @@ kiev.ua kirovograd.ua km.ua kr.ua +kropyvnytskyi.ua krym.ua ks.ua kv.ua @@ -5938,6 +5465,7 @@ kyiv.ua lg.ua lt.ua lugansk.ua +luhansk.ua lutsk.ua lv.ua lviv.ua @@ -5961,11 +5489,13 @@ te.ua ternopil.ua uz.ua uzhgorod.ua +uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua +zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua @@ -6063,7 +5593,6 @@ k12.ca.us k12.co.us k12.ct.us k12.dc.us -k12.de.us k12.fl.us k12.ga.us k12.gu.us @@ -6245,6 +5774,7 @@ mil.vc edu.vc ve arts.ve +bib.ve co.ve com.ve e12.ve @@ -6256,7 +5786,9 @@ info.ve int.ve mil.ve net.ve +nom.ve org.ve +rar.ve rec.ve store.ve tec.ve @@ -6269,18 +5801,84 @@ k12.vi net.vi org.vi vn +ac.vn +ai.vn +biz.vn com.vn -net.vn -org.vn edu.vn gov.vn -int.vn -ac.vn -biz.vn +health.vn +id.vn info.vn +int.vn +io.vn name.vn +net.vn +org.vn pro.vn -health.vn +angiang.vn +bacgiang.vn +backan.vn +baclieu.vn +bacninh.vn +baria-vungtau.vn +bentre.vn +binhdinh.vn +binhduong.vn +binhphuoc.vn +binhthuan.vn +camau.vn +cantho.vn +caobang.vn +daklak.vn +daknong.vn +danang.vn +dienbien.vn +dongnai.vn +dongthap.vn +gialai.vn +hagiang.vn +haiduong.vn +haiphong.vn +hanam.vn +hanoi.vn +hatinh.vn +haugiang.vn +hoabinh.vn +hungyen.vn +khanhhoa.vn +kiengiang.vn +kontum.vn +laichau.vn +lamdong.vn +langson.vn +laocai.vn +longan.vn +namdinh.vn +nghean.vn +ninhbinh.vn +ninhthuan.vn +phutho.vn +phuyen.vn +quangbinh.vn +quangnam.vn +quangngai.vn +quangninh.vn +quangtri.vn +soctrang.vn +sonla.vn +tayninh.vn +thaibinh.vn +thainguyen.vn +thanhhoa.vn +thanhphohochiminh.vn +thuathienhue.vn +tiengiang.vn +travinh.vn +tuyenquang.vn +vinhlong.vn +vinhphuc.vn +yenbai.vn vu com.vu edu.vu @@ -6302,6 +5900,8 @@ xn--y9a3aq xn--54b7fta0cc бг xn--90ae +البحرين +xn--mgbcpq6gpa1a бел xn--90ais 中国 @@ -6378,6 +5978,8 @@ xn--mgbayh7gpa xn--3e0b707e қаз xn--80ao21a +ລາວ +xn--q7ce6a ලංකා xn--fzc2c9e2c இலங்கை @@ -6465,7 +6067,13 @@ xn--j1amh اليمن xn--mgb2ddes xxx -*.ye +ye +com.ye +edu.ye +gov.ye +net.ye +mil.ye +org.ye ac.za agric.za alt.za @@ -6504,7 +6112,6 @@ mil.zw org.zw aaa aarp -abarth abb abbott abbvie @@ -6518,23 +6125,19 @@ accountant accountants aco actor -adac ads adult aeg aetna -afamilycompany afl africa agakhan agency aig -aigo airbus airforce airtel akdn -alfaromeo alibaba alipay allfinanz @@ -6576,14 +6179,12 @@ auspost author auto autos -avianca aws axa azure baby baidu banamex -bananarepublic band bank bar @@ -6645,8 +6246,6 @@ broadway broker brother brussels -budapest -bugatti build builders business @@ -6661,7 +6260,6 @@ calvinklein cam camera camp -cancerresearch canon capetown capital @@ -6675,7 +6273,6 @@ careers cars casa case -caseih cash casino catering @@ -6683,8 +6280,6 @@ catholic cba cbn cbre -cbs -ceb center ceo cern @@ -6707,7 +6302,6 @@ citadel citi citic city -cityeats claims cleaning click @@ -6722,7 +6316,6 @@ codes coffee college cologne -comcast commbank community company @@ -6735,7 +6328,6 @@ consulting contact contractors cooking -cookingchannel cool corsica country @@ -6751,7 +6343,6 @@ crown crs cruise cruises -csc cuisinella cymru cyou @@ -6799,7 +6390,6 @@ download drive dtv dubai -duck dunlop dupont durban @@ -6822,7 +6412,6 @@ ericsson erni esq estate -etisalat eurovision eus events @@ -6846,7 +6435,6 @@ fedex feedback ferrari ferrero -fiat fidelity fido film @@ -6868,7 +6456,6 @@ flowers fly foo food -foodnetwork football ford forex @@ -6880,11 +6467,9 @@ free fresenius frl frogans -frontdoor frontier ftr fujitsu -fujixerox fun fund furniture @@ -6910,7 +6495,6 @@ gift gifts gives giving -glade glass gle global @@ -6936,7 +6520,6 @@ green gripe grocery group -guardian gucci guge guide @@ -6955,7 +6538,6 @@ help helsinki here hermes -hgtv hiphop hisamitsu hitachi @@ -6974,7 +6556,6 @@ hospital host hosting hot -hoteles hotels hotmail house @@ -7002,7 +6583,6 @@ ink institute insurance insure -intel international intuit investments @@ -7013,11 +6593,9 @@ ist istanbul itau itv -iveco jaguar java jcb -jcp jeep jetzt jewelry @@ -7039,8 +6617,8 @@ kerrylogistics kerryproperties kfh kia +kids kim -kinder kindle kitchen kiwi @@ -7057,7 +6635,6 @@ lacaixa lamborghini lamer lancaster -lancia land landrover lanxess @@ -7085,19 +6662,16 @@ lilly limited limo lincoln -linde link lipsy live living -lixil llc llp loan loans locker locus -loft lol london lotte @@ -7108,10 +6682,8 @@ lplfinancial ltd ltda lundbeck -lupin luxe luxury -macys madrid maif maison @@ -7125,7 +6697,6 @@ marketing markets marriott marshalls -maserati mattel mba mckinsey @@ -7138,7 +6709,6 @@ memorial men menu merckmsd -metlife miami microsoft mini @@ -7166,11 +6736,9 @@ movie msd mtn mtr -mutual +music nab nagoya -nationwide -natura navy nba nec @@ -7179,7 +6747,6 @@ netflix network neustar new -newholland news next nextdirect @@ -7194,7 +6761,6 @@ ninja nissan nissay nokia -northwesternmutual norton now nowruz @@ -7205,19 +6771,16 @@ ntt nyc obi observer -off office okinawa olayan olayangroup -oldnavy ollo omega one ong onl online -onyourside ooo open oracle @@ -7235,7 +6798,6 @@ pars partners parts party -passagens pay pccw pet @@ -7286,10 +6848,8 @@ pwc qpon quebec quest -qvc racing radio -raid read realestate realtor @@ -7317,12 +6877,9 @@ rexroth rich richardli ricoh -rightathome ril rio rip -rmit -rocher rocks rodeo rogers @@ -7351,7 +6908,6 @@ save saxo sbi sbs -sca scb schaeffler schmidt @@ -7360,7 +6916,6 @@ school schule schwarz science -scjohnson scot search seat @@ -7370,7 +6925,6 @@ seek select sener services -ses seven sew sex @@ -7378,7 +6932,6 @@ sexy sfr shangrila sharp -shaw shell shia shiksha @@ -7387,8 +6940,6 @@ shop shopping shouji show -showtime -shriram silk sina singles @@ -7415,7 +6966,6 @@ spa space sport spot -spreadbetting srl stada staples @@ -7439,10 +6989,8 @@ surf surgery suzuki swatch -swiftcover swiss sydney -symantec systems tab taipei @@ -7468,7 +7016,6 @@ theatre tiaa tickets tienda -tiffany tips tires tirol @@ -7491,7 +7038,6 @@ trade trading training travel -travelchannel travelers travelersinsurance trust @@ -7530,13 +7076,11 @@ viva vivo vlaanderen vodka -volkswagen volvo vote voting voto voyage -vuelos wales walmart walter @@ -7572,7 +7116,6 @@ wtc wtf xbox xerox -xfinity xihuan xin कॉम @@ -7587,8 +7130,6 @@ xn--30rr7y xn--3bst00m 在线 xn--3ds443g -大众汽车 -xn--3oq18vl8pn36a 点看 xn--3pxu8k คอม @@ -7683,22 +7224,16 @@ xn--io0a7i xn--j1aef 亚马逊 xn--jlq480n2rg -诺基亚 -xn--jlq61u9w7b 食品 xn--jvr189m 飞利浦 xn--kcrx77d1x4a -手表 -xn--kpu716f 手机 xn--kput3i ارامكو xn--mgba3a3ejt العليان xn--mgba7c0bbn0a -اتصالات -xn--mgbaakc7dvf بازار xn--mgbab2bd ابوظبي @@ -7727,8 +7262,6 @@ xn--nyqy26a xn--otu796d рус xn--p1acf -珠宝 -xn--pbt977c 大拿 xn--pssy2u みんな @@ -7782,106 +7315,760 @@ zero zip zone zuerich +co.krd +edu.krd +art.pl +gliwice.pl +krakow.pl +poznan.pl +wroc.pl +zakopane.pl +lib.de.us +12chars.dev +12chars.it +12chars.pro cc.ua inf.ua ltd.ua 611.to +a2hosted.com +cpserver.com +aaa.vodka +*.on-acorn.io +activetrail.biz +adaptable.app adobeaemcloud.com -adobeaemcloud.net *.dev.adobeaemcloud.com +aem.live +hlx.live +adobeaemcloud.net +aem.page +hlx.page +hlx3.page +adobeio-static.net +adobeioruntime.net +africa.com beep.pl +airkitapps.com +airkitapps-au.com +airkitapps.eu +aivencloud.com +akadns.net +akamai.net +akamai-staging.net +akamaiedge.net +akamaiedge-staging.net +akamaihd.net +akamaihd-staging.net +akamaiorigin.net +akamaiorigin-staging.net +akamaized.net +akamaized-staging.net +edgekey.net +edgekey-staging.net +edgesuite.net +edgesuite-staging.net barsy.ca *.compute.estate *.alces.network kasserver.com altervista.org alwaysdata.net +myamaze.net +execute-api.cn-north-1.amazonaws.com.cn +execute-api.cn-northwest-1.amazonaws.com.cn +execute-api.af-south-1.amazonaws.com +execute-api.ap-east-1.amazonaws.com +execute-api.ap-northeast-1.amazonaws.com +execute-api.ap-northeast-2.amazonaws.com +execute-api.ap-northeast-3.amazonaws.com +execute-api.ap-south-1.amazonaws.com +execute-api.ap-south-2.amazonaws.com +execute-api.ap-southeast-1.amazonaws.com +execute-api.ap-southeast-2.amazonaws.com +execute-api.ap-southeast-3.amazonaws.com +execute-api.ap-southeast-4.amazonaws.com +execute-api.ca-central-1.amazonaws.com +execute-api.ca-west-1.amazonaws.com +execute-api.eu-central-1.amazonaws.com +execute-api.eu-central-2.amazonaws.com +execute-api.eu-north-1.amazonaws.com +execute-api.eu-south-1.amazonaws.com +execute-api.eu-south-2.amazonaws.com +execute-api.eu-west-1.amazonaws.com +execute-api.eu-west-2.amazonaws.com +execute-api.eu-west-3.amazonaws.com +execute-api.il-central-1.amazonaws.com +execute-api.me-central-1.amazonaws.com +execute-api.me-south-1.amazonaws.com +execute-api.sa-east-1.amazonaws.com +execute-api.us-east-1.amazonaws.com +execute-api.us-east-2.amazonaws.com +execute-api.us-gov-east-1.amazonaws.com +execute-api.us-gov-west-1.amazonaws.com +execute-api.us-west-1.amazonaws.com +execute-api.us-west-2.amazonaws.com cloudfront.net +auth.af-south-1.amazoncognito.com +auth.ap-east-1.amazoncognito.com +auth.ap-northeast-1.amazoncognito.com +auth.ap-northeast-2.amazoncognito.com +auth.ap-northeast-3.amazoncognito.com +auth.ap-south-1.amazoncognito.com +auth.ap-south-2.amazoncognito.com +auth.ap-southeast-1.amazoncognito.com +auth.ap-southeast-2.amazoncognito.com +auth.ap-southeast-3.amazoncognito.com +auth.ap-southeast-4.amazoncognito.com +auth.ca-central-1.amazoncognito.com +auth.ca-west-1.amazoncognito.com +auth.eu-central-1.amazoncognito.com +auth.eu-central-2.amazoncognito.com +auth.eu-north-1.amazoncognito.com +auth.eu-south-1.amazoncognito.com +auth.eu-south-2.amazoncognito.com +auth.eu-west-1.amazoncognito.com +auth.eu-west-2.amazoncognito.com +auth.eu-west-3.amazoncognito.com +auth.il-central-1.amazoncognito.com +auth.me-central-1.amazoncognito.com +auth.me-south-1.amazoncognito.com +auth.sa-east-1.amazoncognito.com +auth.us-east-1.amazoncognito.com +auth-fips.us-east-1.amazoncognito.com +auth.us-east-2.amazoncognito.com +auth-fips.us-east-2.amazoncognito.com +auth-fips.us-gov-west-1.amazoncognito.com +auth.us-west-1.amazoncognito.com +auth-fips.us-west-1.amazoncognito.com +auth.us-west-2.amazoncognito.com +auth-fips.us-west-2.amazoncognito.com +*.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com -*.compute.amazonaws.com.cn us-east-1.amazonaws.com -cn-north-1.eb.amazonaws.com.cn -cn-northwest-1.eb.amazonaws.com.cn -elasticbeanstalk.com -ap-northeast-1.elasticbeanstalk.com -ap-northeast-2.elasticbeanstalk.com -ap-northeast-3.elasticbeanstalk.com -ap-south-1.elasticbeanstalk.com -ap-southeast-1.elasticbeanstalk.com -ap-southeast-2.elasticbeanstalk.com -ca-central-1.elasticbeanstalk.com -eu-central-1.elasticbeanstalk.com -eu-west-1.elasticbeanstalk.com -eu-west-2.elasticbeanstalk.com -eu-west-3.elasticbeanstalk.com -sa-east-1.elasticbeanstalk.com -us-east-1.elasticbeanstalk.com -us-east-2.elasticbeanstalk.com -us-gov-west-1.elasticbeanstalk.com -us-west-1.elasticbeanstalk.com -us-west-2.elasticbeanstalk.com -*.elb.amazonaws.com -*.elb.amazonaws.com.cn +emrappui-prod.cn-north-1.amazonaws.com.cn +emrnotebooks-prod.cn-north-1.amazonaws.com.cn +emrstudio-prod.cn-north-1.amazonaws.com.cn +emrappui-prod.cn-northwest-1.amazonaws.com.cn +emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn +emrstudio-prod.cn-northwest-1.amazonaws.com.cn +emrappui-prod.af-south-1.amazonaws.com +emrnotebooks-prod.af-south-1.amazonaws.com +emrstudio-prod.af-south-1.amazonaws.com +emrappui-prod.ap-east-1.amazonaws.com +emrnotebooks-prod.ap-east-1.amazonaws.com +emrstudio-prod.ap-east-1.amazonaws.com +emrappui-prod.ap-northeast-1.amazonaws.com +emrnotebooks-prod.ap-northeast-1.amazonaws.com +emrstudio-prod.ap-northeast-1.amazonaws.com +emrappui-prod.ap-northeast-2.amazonaws.com +emrnotebooks-prod.ap-northeast-2.amazonaws.com +emrstudio-prod.ap-northeast-2.amazonaws.com +emrappui-prod.ap-northeast-3.amazonaws.com +emrnotebooks-prod.ap-northeast-3.amazonaws.com +emrstudio-prod.ap-northeast-3.amazonaws.com +emrappui-prod.ap-south-1.amazonaws.com +emrnotebooks-prod.ap-south-1.amazonaws.com +emrstudio-prod.ap-south-1.amazonaws.com +emrappui-prod.ap-south-2.amazonaws.com +emrnotebooks-prod.ap-south-2.amazonaws.com +emrstudio-prod.ap-south-2.amazonaws.com +emrappui-prod.ap-southeast-1.amazonaws.com +emrnotebooks-prod.ap-southeast-1.amazonaws.com +emrstudio-prod.ap-southeast-1.amazonaws.com +emrappui-prod.ap-southeast-2.amazonaws.com +emrnotebooks-prod.ap-southeast-2.amazonaws.com +emrstudio-prod.ap-southeast-2.amazonaws.com +emrappui-prod.ap-southeast-3.amazonaws.com +emrnotebooks-prod.ap-southeast-3.amazonaws.com +emrstudio-prod.ap-southeast-3.amazonaws.com +emrappui-prod.ap-southeast-4.amazonaws.com +emrnotebooks-prod.ap-southeast-4.amazonaws.com +emrstudio-prod.ap-southeast-4.amazonaws.com +emrappui-prod.ca-central-1.amazonaws.com +emrnotebooks-prod.ca-central-1.amazonaws.com +emrstudio-prod.ca-central-1.amazonaws.com +emrappui-prod.ca-west-1.amazonaws.com +emrnotebooks-prod.ca-west-1.amazonaws.com +emrstudio-prod.ca-west-1.amazonaws.com +emrappui-prod.eu-central-1.amazonaws.com +emrnotebooks-prod.eu-central-1.amazonaws.com +emrstudio-prod.eu-central-1.amazonaws.com +emrappui-prod.eu-central-2.amazonaws.com +emrnotebooks-prod.eu-central-2.amazonaws.com +emrstudio-prod.eu-central-2.amazonaws.com +emrappui-prod.eu-north-1.amazonaws.com +emrnotebooks-prod.eu-north-1.amazonaws.com +emrstudio-prod.eu-north-1.amazonaws.com +emrappui-prod.eu-south-1.amazonaws.com +emrnotebooks-prod.eu-south-1.amazonaws.com +emrstudio-prod.eu-south-1.amazonaws.com +emrappui-prod.eu-south-2.amazonaws.com +emrnotebooks-prod.eu-south-2.amazonaws.com +emrstudio-prod.eu-south-2.amazonaws.com +emrappui-prod.eu-west-1.amazonaws.com +emrnotebooks-prod.eu-west-1.amazonaws.com +emrstudio-prod.eu-west-1.amazonaws.com +emrappui-prod.eu-west-2.amazonaws.com +emrnotebooks-prod.eu-west-2.amazonaws.com +emrstudio-prod.eu-west-2.amazonaws.com +emrappui-prod.eu-west-3.amazonaws.com +emrnotebooks-prod.eu-west-3.amazonaws.com +emrstudio-prod.eu-west-3.amazonaws.com +emrappui-prod.il-central-1.amazonaws.com +emrnotebooks-prod.il-central-1.amazonaws.com +emrstudio-prod.il-central-1.amazonaws.com +emrappui-prod.me-central-1.amazonaws.com +emrnotebooks-prod.me-central-1.amazonaws.com +emrstudio-prod.me-central-1.amazonaws.com +emrappui-prod.me-south-1.amazonaws.com +emrnotebooks-prod.me-south-1.amazonaws.com +emrstudio-prod.me-south-1.amazonaws.com +emrappui-prod.sa-east-1.amazonaws.com +emrnotebooks-prod.sa-east-1.amazonaws.com +emrstudio-prod.sa-east-1.amazonaws.com +emrappui-prod.us-east-1.amazonaws.com +emrnotebooks-prod.us-east-1.amazonaws.com +emrstudio-prod.us-east-1.amazonaws.com +emrappui-prod.us-east-2.amazonaws.com +emrnotebooks-prod.us-east-2.amazonaws.com +emrstudio-prod.us-east-2.amazonaws.com +emrappui-prod.us-gov-east-1.amazonaws.com +emrnotebooks-prod.us-gov-east-1.amazonaws.com +emrstudio-prod.us-gov-east-1.amazonaws.com +emrappui-prod.us-gov-west-1.amazonaws.com +emrnotebooks-prod.us-gov-west-1.amazonaws.com +emrstudio-prod.us-gov-west-1.amazonaws.com +emrappui-prod.us-west-1.amazonaws.com +emrnotebooks-prod.us-west-1.amazonaws.com +emrstudio-prod.us-west-1.amazonaws.com +emrappui-prod.us-west-2.amazonaws.com +emrnotebooks-prod.us-west-2.amazonaws.com +emrstudio-prod.us-west-2.amazonaws.com +*.cn-north-1.airflow.amazonaws.com.cn +*.cn-northwest-1.airflow.amazonaws.com.cn +*.af-south-1.airflow.amazonaws.com +*.ap-east-1.airflow.amazonaws.com +*.ap-northeast-1.airflow.amazonaws.com +*.ap-northeast-2.airflow.amazonaws.com +*.ap-northeast-3.airflow.amazonaws.com +*.ap-south-1.airflow.amazonaws.com +*.ap-south-2.airflow.amazonaws.com +*.ap-southeast-1.airflow.amazonaws.com +*.ap-southeast-2.airflow.amazonaws.com +*.ap-southeast-3.airflow.amazonaws.com +*.ap-southeast-4.airflow.amazonaws.com +*.ca-central-1.airflow.amazonaws.com +*.ca-west-1.airflow.amazonaws.com +*.eu-central-1.airflow.amazonaws.com +*.eu-central-2.airflow.amazonaws.com +*.eu-north-1.airflow.amazonaws.com +*.eu-south-1.airflow.amazonaws.com +*.eu-south-2.airflow.amazonaws.com +*.eu-west-1.airflow.amazonaws.com +*.eu-west-2.airflow.amazonaws.com +*.eu-west-3.airflow.amazonaws.com +*.il-central-1.airflow.amazonaws.com +*.me-central-1.airflow.amazonaws.com +*.me-south-1.airflow.amazonaws.com +*.sa-east-1.airflow.amazonaws.com +*.us-east-1.airflow.amazonaws.com +*.us-east-2.airflow.amazonaws.com +*.us-west-1.airflow.amazonaws.com +*.us-west-2.airflow.amazonaws.com +s3.dualstack.cn-north-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn +s3-website.dualstack.cn-north-1.amazonaws.com.cn +s3.cn-north-1.amazonaws.com.cn +s3-accesspoint.cn-north-1.amazonaws.com.cn +s3-deprecated.cn-north-1.amazonaws.com.cn +s3-object-lambda.cn-north-1.amazonaws.com.cn +s3-website.cn-north-1.amazonaws.com.cn +s3.dualstack.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn +s3.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.cn-northwest-1.amazonaws.com.cn +s3-object-lambda.cn-northwest-1.amazonaws.com.cn +s3-website.cn-northwest-1.amazonaws.com.cn +s3.dualstack.af-south-1.amazonaws.com +s3-accesspoint.dualstack.af-south-1.amazonaws.com +s3-website.dualstack.af-south-1.amazonaws.com +s3.af-south-1.amazonaws.com +s3-accesspoint.af-south-1.amazonaws.com +s3-object-lambda.af-south-1.amazonaws.com +s3-website.af-south-1.amazonaws.com +s3.dualstack.ap-east-1.amazonaws.com +s3-accesspoint.dualstack.ap-east-1.amazonaws.com +s3.ap-east-1.amazonaws.com +s3-accesspoint.ap-east-1.amazonaws.com +s3-object-lambda.ap-east-1.amazonaws.com +s3-website.ap-east-1.amazonaws.com +s3.dualstack.ap-northeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com +s3-website.dualstack.ap-northeast-1.amazonaws.com +s3.ap-northeast-1.amazonaws.com +s3-accesspoint.ap-northeast-1.amazonaws.com +s3-object-lambda.ap-northeast-1.amazonaws.com +s3-website.ap-northeast-1.amazonaws.com +s3.dualstack.ap-northeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com +s3-website.dualstack.ap-northeast-2.amazonaws.com +s3.ap-northeast-2.amazonaws.com +s3-accesspoint.ap-northeast-2.amazonaws.com +s3-object-lambda.ap-northeast-2.amazonaws.com +s3-website.ap-northeast-2.amazonaws.com +s3.dualstack.ap-northeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com +s3-website.dualstack.ap-northeast-3.amazonaws.com +s3.ap-northeast-3.amazonaws.com +s3-accesspoint.ap-northeast-3.amazonaws.com +s3-object-lambda.ap-northeast-3.amazonaws.com +s3-website.ap-northeast-3.amazonaws.com +s3.dualstack.ap-south-1.amazonaws.com +s3-accesspoint.dualstack.ap-south-1.amazonaws.com +s3-website.dualstack.ap-south-1.amazonaws.com +s3.ap-south-1.amazonaws.com +s3-accesspoint.ap-south-1.amazonaws.com +s3-object-lambda.ap-south-1.amazonaws.com +s3-website.ap-south-1.amazonaws.com +s3.dualstack.ap-south-2.amazonaws.com +s3-accesspoint.dualstack.ap-south-2.amazonaws.com +s3.ap-south-2.amazonaws.com +s3-accesspoint.ap-south-2.amazonaws.com +s3-object-lambda.ap-south-2.amazonaws.com +s3-website.ap-south-2.amazonaws.com +s3.dualstack.ap-southeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com +s3-website.dualstack.ap-southeast-1.amazonaws.com +s3.ap-southeast-1.amazonaws.com +s3-accesspoint.ap-southeast-1.amazonaws.com +s3-object-lambda.ap-southeast-1.amazonaws.com +s3-website.ap-southeast-1.amazonaws.com +s3.dualstack.ap-southeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com +s3-website.dualstack.ap-southeast-2.amazonaws.com +s3.ap-southeast-2.amazonaws.com +s3-accesspoint.ap-southeast-2.amazonaws.com +s3-object-lambda.ap-southeast-2.amazonaws.com +s3-website.ap-southeast-2.amazonaws.com +s3.dualstack.ap-southeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com +s3.ap-southeast-3.amazonaws.com +s3-accesspoint.ap-southeast-3.amazonaws.com +s3-object-lambda.ap-southeast-3.amazonaws.com +s3-website.ap-southeast-3.amazonaws.com +s3.dualstack.ap-southeast-4.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com +s3.ap-southeast-4.amazonaws.com +s3-accesspoint.ap-southeast-4.amazonaws.com +s3-object-lambda.ap-southeast-4.amazonaws.com +s3-website.ap-southeast-4.amazonaws.com +s3.dualstack.ca-central-1.amazonaws.com +s3-accesspoint.dualstack.ca-central-1.amazonaws.com +s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com +s3-fips.dualstack.ca-central-1.amazonaws.com +s3-website.dualstack.ca-central-1.amazonaws.com +s3.ca-central-1.amazonaws.com +s3-accesspoint.ca-central-1.amazonaws.com +s3-accesspoint-fips.ca-central-1.amazonaws.com +s3-fips.ca-central-1.amazonaws.com +s3-object-lambda.ca-central-1.amazonaws.com +s3-website.ca-central-1.amazonaws.com +s3.dualstack.ca-west-1.amazonaws.com +s3-accesspoint.dualstack.ca-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com +s3-fips.dualstack.ca-west-1.amazonaws.com +s3-website.dualstack.ca-west-1.amazonaws.com +s3.ca-west-1.amazonaws.com +s3-accesspoint.ca-west-1.amazonaws.com +s3-accesspoint-fips.ca-west-1.amazonaws.com +s3-fips.ca-west-1.amazonaws.com +s3-website.ca-west-1.amazonaws.com +s3.dualstack.eu-central-1.amazonaws.com +s3-accesspoint.dualstack.eu-central-1.amazonaws.com +s3-website.dualstack.eu-central-1.amazonaws.com +s3.eu-central-1.amazonaws.com +s3-accesspoint.eu-central-1.amazonaws.com +s3-object-lambda.eu-central-1.amazonaws.com +s3-website.eu-central-1.amazonaws.com +s3.dualstack.eu-central-2.amazonaws.com +s3-accesspoint.dualstack.eu-central-2.amazonaws.com +s3.eu-central-2.amazonaws.com +s3-accesspoint.eu-central-2.amazonaws.com +s3-object-lambda.eu-central-2.amazonaws.com +s3-website.eu-central-2.amazonaws.com +s3.dualstack.eu-north-1.amazonaws.com +s3-accesspoint.dualstack.eu-north-1.amazonaws.com +s3.eu-north-1.amazonaws.com +s3-accesspoint.eu-north-1.amazonaws.com +s3-object-lambda.eu-north-1.amazonaws.com +s3-website.eu-north-1.amazonaws.com +s3.dualstack.eu-south-1.amazonaws.com +s3-accesspoint.dualstack.eu-south-1.amazonaws.com +s3-website.dualstack.eu-south-1.amazonaws.com +s3.eu-south-1.amazonaws.com +s3-accesspoint.eu-south-1.amazonaws.com +s3-object-lambda.eu-south-1.amazonaws.com +s3-website.eu-south-1.amazonaws.com +s3.dualstack.eu-south-2.amazonaws.com +s3-accesspoint.dualstack.eu-south-2.amazonaws.com +s3.eu-south-2.amazonaws.com +s3-accesspoint.eu-south-2.amazonaws.com +s3-object-lambda.eu-south-2.amazonaws.com +s3-website.eu-south-2.amazonaws.com +s3.dualstack.eu-west-1.amazonaws.com +s3-accesspoint.dualstack.eu-west-1.amazonaws.com +s3-website.dualstack.eu-west-1.amazonaws.com +s3.eu-west-1.amazonaws.com +s3-accesspoint.eu-west-1.amazonaws.com +s3-deprecated.eu-west-1.amazonaws.com +s3-object-lambda.eu-west-1.amazonaws.com +s3-website.eu-west-1.amazonaws.com +s3.dualstack.eu-west-2.amazonaws.com +s3-accesspoint.dualstack.eu-west-2.amazonaws.com +s3.eu-west-2.amazonaws.com +s3-accesspoint.eu-west-2.amazonaws.com +s3-object-lambda.eu-west-2.amazonaws.com +s3-website.eu-west-2.amazonaws.com +s3.dualstack.eu-west-3.amazonaws.com +s3-accesspoint.dualstack.eu-west-3.amazonaws.com +s3-website.dualstack.eu-west-3.amazonaws.com +s3.eu-west-3.amazonaws.com +s3-accesspoint.eu-west-3.amazonaws.com +s3-object-lambda.eu-west-3.amazonaws.com +s3-website.eu-west-3.amazonaws.com +s3.dualstack.il-central-1.amazonaws.com +s3-accesspoint.dualstack.il-central-1.amazonaws.com +s3.il-central-1.amazonaws.com +s3-accesspoint.il-central-1.amazonaws.com +s3-object-lambda.il-central-1.amazonaws.com +s3-website.il-central-1.amazonaws.com +s3.dualstack.me-central-1.amazonaws.com +s3-accesspoint.dualstack.me-central-1.amazonaws.com +s3.me-central-1.amazonaws.com +s3-accesspoint.me-central-1.amazonaws.com +s3-object-lambda.me-central-1.amazonaws.com +s3-website.me-central-1.amazonaws.com +s3.dualstack.me-south-1.amazonaws.com +s3-accesspoint.dualstack.me-south-1.amazonaws.com +s3.me-south-1.amazonaws.com +s3-accesspoint.me-south-1.amazonaws.com +s3-object-lambda.me-south-1.amazonaws.com +s3-website.me-south-1.amazonaws.com s3.amazonaws.com +s3-1.amazonaws.com +s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com +s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com +s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com +s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com +mrap.accesspoint.s3-global.amazonaws.com +s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com -s3-us-gov-west-1.amazonaws.com s3-us-east-2.amazonaws.com +s3-us-gov-east-1.amazonaws.com +s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com -s3.ap-northeast-2.amazonaws.com -s3.ap-south-1.amazonaws.com -s3.cn-north-1.amazonaws.com.cn -s3.ca-central-1.amazonaws.com -s3.eu-central-1.amazonaws.com -s3.eu-west-2.amazonaws.com -s3.eu-west-3.amazonaws.com -s3.us-east-2.amazonaws.com -s3.dualstack.ap-northeast-1.amazonaws.com -s3.dualstack.ap-northeast-2.amazonaws.com -s3.dualstack.ap-south-1.amazonaws.com -s3.dualstack.ap-southeast-1.amazonaws.com -s3.dualstack.ap-southeast-2.amazonaws.com -s3.dualstack.ca-central-1.amazonaws.com -s3.dualstack.eu-central-1.amazonaws.com -s3.dualstack.eu-west-1.amazonaws.com -s3.dualstack.eu-west-2.amazonaws.com -s3.dualstack.eu-west-3.amazonaws.com -s3.dualstack.sa-east-1.amazonaws.com -s3.dualstack.us-east-1.amazonaws.com -s3.dualstack.us-east-2.amazonaws.com -s3-website-us-east-1.amazonaws.com -s3-website-us-west-1.amazonaws.com -s3-website-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com -s3-website.ap-northeast-2.amazonaws.com -s3-website.ap-south-1.amazonaws.com -s3-website.ca-central-1.amazonaws.com -s3-website.eu-central-1.amazonaws.com -s3-website.eu-west-2.amazonaws.com -s3-website.eu-west-3.amazonaws.com +s3-website-us-east-1.amazonaws.com +s3-website-us-gov-west-1.amazonaws.com +s3-website-us-west-1.amazonaws.com +s3-website-us-west-2.amazonaws.com +s3.dualstack.sa-east-1.amazonaws.com +s3-accesspoint.dualstack.sa-east-1.amazonaws.com +s3-website.dualstack.sa-east-1.amazonaws.com +s3.sa-east-1.amazonaws.com +s3-accesspoint.sa-east-1.amazonaws.com +s3-object-lambda.sa-east-1.amazonaws.com +s3-website.sa-east-1.amazonaws.com +s3.dualstack.us-east-1.amazonaws.com +s3-accesspoint.dualstack.us-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com +s3-fips.dualstack.us-east-1.amazonaws.com +s3-website.dualstack.us-east-1.amazonaws.com +s3.us-east-1.amazonaws.com +s3-accesspoint.us-east-1.amazonaws.com +s3-accesspoint-fips.us-east-1.amazonaws.com +s3-deprecated.us-east-1.amazonaws.com +s3-fips.us-east-1.amazonaws.com +s3-object-lambda.us-east-1.amazonaws.com +s3-website.us-east-1.amazonaws.com +s3.dualstack.us-east-2.amazonaws.com +s3-accesspoint.dualstack.us-east-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com +s3-fips.dualstack.us-east-2.amazonaws.com +s3.us-east-2.amazonaws.com +s3-accesspoint.us-east-2.amazonaws.com +s3-accesspoint-fips.us-east-2.amazonaws.com +s3-deprecated.us-east-2.amazonaws.com +s3-fips.us-east-2.amazonaws.com +s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com -amsw.nl -t3l3p0rt.net -tele.amune.org +s3.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com +s3-fips.dualstack.us-gov-east-1.amazonaws.com +s3.us-gov-east-1.amazonaws.com +s3-accesspoint.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.us-gov-east-1.amazonaws.com +s3-fips.us-gov-east-1.amazonaws.com +s3-object-lambda.us-gov-east-1.amazonaws.com +s3-website.us-gov-east-1.amazonaws.com +s3.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com +s3-fips.dualstack.us-gov-west-1.amazonaws.com +s3.us-gov-west-1.amazonaws.com +s3-accesspoint.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.us-gov-west-1.amazonaws.com +s3-fips.us-gov-west-1.amazonaws.com +s3-object-lambda.us-gov-west-1.amazonaws.com +s3-website.us-gov-west-1.amazonaws.com +s3.dualstack.us-west-1.amazonaws.com +s3-accesspoint.dualstack.us-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com +s3-fips.dualstack.us-west-1.amazonaws.com +s3-website.dualstack.us-west-1.amazonaws.com +s3.us-west-1.amazonaws.com +s3-accesspoint.us-west-1.amazonaws.com +s3-accesspoint-fips.us-west-1.amazonaws.com +s3-fips.us-west-1.amazonaws.com +s3-object-lambda.us-west-1.amazonaws.com +s3-website.us-west-1.amazonaws.com +s3.dualstack.us-west-2.amazonaws.com +s3-accesspoint.dualstack.us-west-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com +s3-fips.dualstack.us-west-2.amazonaws.com +s3-website.dualstack.us-west-2.amazonaws.com +s3.us-west-2.amazonaws.com +s3-accesspoint.us-west-2.amazonaws.com +s3-accesspoint-fips.us-west-2.amazonaws.com +s3-deprecated.us-west-2.amazonaws.com +s3-fips.us-west-2.amazonaws.com +s3-object-lambda.us-west-2.amazonaws.com +s3-website.us-west-2.amazonaws.com +labeling.ap-northeast-1.sagemaker.aws +labeling.ap-northeast-2.sagemaker.aws +labeling.ap-south-1.sagemaker.aws +labeling.ap-southeast-1.sagemaker.aws +labeling.ap-southeast-2.sagemaker.aws +labeling.ca-central-1.sagemaker.aws +labeling.eu-central-1.sagemaker.aws +labeling.eu-west-1.sagemaker.aws +labeling.eu-west-2.sagemaker.aws +labeling.us-east-1.sagemaker.aws +labeling.us-east-2.sagemaker.aws +labeling.us-west-2.sagemaker.aws +notebook.af-south-1.sagemaker.aws +notebook.ap-east-1.sagemaker.aws +notebook.ap-northeast-1.sagemaker.aws +notebook.ap-northeast-2.sagemaker.aws +notebook.ap-northeast-3.sagemaker.aws +notebook.ap-south-1.sagemaker.aws +notebook.ap-south-2.sagemaker.aws +notebook.ap-southeast-1.sagemaker.aws +notebook.ap-southeast-2.sagemaker.aws +notebook.ap-southeast-3.sagemaker.aws +notebook.ap-southeast-4.sagemaker.aws +notebook.ca-central-1.sagemaker.aws +notebook-fips.ca-central-1.sagemaker.aws +notebook.ca-west-1.sagemaker.aws +notebook-fips.ca-west-1.sagemaker.aws +notebook.eu-central-1.sagemaker.aws +notebook.eu-central-2.sagemaker.aws +notebook.eu-north-1.sagemaker.aws +notebook.eu-south-1.sagemaker.aws +notebook.eu-south-2.sagemaker.aws +notebook.eu-west-1.sagemaker.aws +notebook.eu-west-2.sagemaker.aws +notebook.eu-west-3.sagemaker.aws +notebook.il-central-1.sagemaker.aws +notebook.me-central-1.sagemaker.aws +notebook.me-south-1.sagemaker.aws +notebook.sa-east-1.sagemaker.aws +notebook.us-east-1.sagemaker.aws +notebook-fips.us-east-1.sagemaker.aws +notebook.us-east-2.sagemaker.aws +notebook-fips.us-east-2.sagemaker.aws +notebook.us-gov-east-1.sagemaker.aws +notebook-fips.us-gov-east-1.sagemaker.aws +notebook.us-gov-west-1.sagemaker.aws +notebook-fips.us-gov-west-1.sagemaker.aws +notebook.us-west-1.sagemaker.aws +notebook-fips.us-west-1.sagemaker.aws +notebook.us-west-2.sagemaker.aws +notebook-fips.us-west-2.sagemaker.aws +notebook.cn-north-1.sagemaker.com.cn +notebook.cn-northwest-1.sagemaker.com.cn +studio.af-south-1.sagemaker.aws +studio.ap-east-1.sagemaker.aws +studio.ap-northeast-1.sagemaker.aws +studio.ap-northeast-2.sagemaker.aws +studio.ap-northeast-3.sagemaker.aws +studio.ap-south-1.sagemaker.aws +studio.ap-southeast-1.sagemaker.aws +studio.ap-southeast-2.sagemaker.aws +studio.ap-southeast-3.sagemaker.aws +studio.ca-central-1.sagemaker.aws +studio.eu-central-1.sagemaker.aws +studio.eu-north-1.sagemaker.aws +studio.eu-south-1.sagemaker.aws +studio.eu-south-2.sagemaker.aws +studio.eu-west-1.sagemaker.aws +studio.eu-west-2.sagemaker.aws +studio.eu-west-3.sagemaker.aws +studio.il-central-1.sagemaker.aws +studio.me-central-1.sagemaker.aws +studio.me-south-1.sagemaker.aws +studio.sa-east-1.sagemaker.aws +studio.us-east-1.sagemaker.aws +studio.us-east-2.sagemaker.aws +studio.us-gov-east-1.sagemaker.aws +studio-fips.us-gov-east-1.sagemaker.aws +studio.us-gov-west-1.sagemaker.aws +studio-fips.us-gov-west-1.sagemaker.aws +studio.us-west-1.sagemaker.aws +studio.us-west-2.sagemaker.aws +studio.cn-north-1.sagemaker.com.cn +studio.cn-northwest-1.sagemaker.com.cn +*.experiments.sagemaker.aws +analytics-gateway.ap-northeast-1.amazonaws.com +analytics-gateway.ap-northeast-2.amazonaws.com +analytics-gateway.ap-south-1.amazonaws.com +analytics-gateway.ap-southeast-1.amazonaws.com +analytics-gateway.ap-southeast-2.amazonaws.com +analytics-gateway.eu-central-1.amazonaws.com +analytics-gateway.eu-west-1.amazonaws.com +analytics-gateway.us-east-1.amazonaws.com +analytics-gateway.us-east-2.amazonaws.com +analytics-gateway.us-west-2.amazonaws.com +amplifyapp.com +*.awsapprunner.com +webview-assets.aws-cloud9.af-south-1.amazonaws.com +vfs.cloud9.af-south-1.amazonaws.com +webview-assets.cloud9.af-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-east-1.amazonaws.com +vfs.cloud9.ap-east-1.amazonaws.com +webview-assets.cloud9.ap-east-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com +vfs.cloud9.ap-northeast-1.amazonaws.com +webview-assets.cloud9.ap-northeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com +vfs.cloud9.ap-northeast-2.amazonaws.com +webview-assets.cloud9.ap-northeast-2.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com +vfs.cloud9.ap-northeast-3.amazonaws.com +webview-assets.cloud9.ap-northeast-3.amazonaws.com +webview-assets.aws-cloud9.ap-south-1.amazonaws.com +vfs.cloud9.ap-south-1.amazonaws.com +webview-assets.cloud9.ap-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com +vfs.cloud9.ap-southeast-1.amazonaws.com +webview-assets.cloud9.ap-southeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com +vfs.cloud9.ap-southeast-2.amazonaws.com +webview-assets.cloud9.ap-southeast-2.amazonaws.com +webview-assets.aws-cloud9.ca-central-1.amazonaws.com +vfs.cloud9.ca-central-1.amazonaws.com +webview-assets.cloud9.ca-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-central-1.amazonaws.com +vfs.cloud9.eu-central-1.amazonaws.com +webview-assets.cloud9.eu-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-north-1.amazonaws.com +vfs.cloud9.eu-north-1.amazonaws.com +webview-assets.cloud9.eu-north-1.amazonaws.com +webview-assets.aws-cloud9.eu-south-1.amazonaws.com +vfs.cloud9.eu-south-1.amazonaws.com +webview-assets.cloud9.eu-south-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-1.amazonaws.com +vfs.cloud9.eu-west-1.amazonaws.com +webview-assets.cloud9.eu-west-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-2.amazonaws.com +vfs.cloud9.eu-west-2.amazonaws.com +webview-assets.cloud9.eu-west-2.amazonaws.com +webview-assets.aws-cloud9.eu-west-3.amazonaws.com +vfs.cloud9.eu-west-3.amazonaws.com +webview-assets.cloud9.eu-west-3.amazonaws.com +webview-assets.aws-cloud9.il-central-1.amazonaws.com +vfs.cloud9.il-central-1.amazonaws.com +webview-assets.aws-cloud9.me-south-1.amazonaws.com +vfs.cloud9.me-south-1.amazonaws.com +webview-assets.cloud9.me-south-1.amazonaws.com +webview-assets.aws-cloud9.sa-east-1.amazonaws.com +vfs.cloud9.sa-east-1.amazonaws.com +webview-assets.cloud9.sa-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-1.amazonaws.com +vfs.cloud9.us-east-1.amazonaws.com +webview-assets.cloud9.us-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-2.amazonaws.com +vfs.cloud9.us-east-2.amazonaws.com +webview-assets.cloud9.us-east-2.amazonaws.com +webview-assets.aws-cloud9.us-west-1.amazonaws.com +vfs.cloud9.us-west-1.amazonaws.com +webview-assets.cloud9.us-west-1.amazonaws.com +webview-assets.aws-cloud9.us-west-2.amazonaws.com +vfs.cloud9.us-west-2.amazonaws.com +webview-assets.cloud9.us-west-2.amazonaws.com +awsapps.com +cn-north-1.eb.amazonaws.com.cn +cn-northwest-1.eb.amazonaws.com.cn +elasticbeanstalk.com +af-south-1.elasticbeanstalk.com +ap-east-1.elasticbeanstalk.com +ap-northeast-1.elasticbeanstalk.com +ap-northeast-2.elasticbeanstalk.com +ap-northeast-3.elasticbeanstalk.com +ap-south-1.elasticbeanstalk.com +ap-southeast-1.elasticbeanstalk.com +ap-southeast-2.elasticbeanstalk.com +ap-southeast-3.elasticbeanstalk.com +ca-central-1.elasticbeanstalk.com +eu-central-1.elasticbeanstalk.com +eu-north-1.elasticbeanstalk.com +eu-south-1.elasticbeanstalk.com +eu-west-1.elasticbeanstalk.com +eu-west-2.elasticbeanstalk.com +eu-west-3.elasticbeanstalk.com +il-central-1.elasticbeanstalk.com +me-south-1.elasticbeanstalk.com +sa-east-1.elasticbeanstalk.com +us-east-1.elasticbeanstalk.com +us-east-2.elasticbeanstalk.com +us-gov-east-1.elasticbeanstalk.com +us-gov-west-1.elasticbeanstalk.com +us-west-1.elasticbeanstalk.com +us-west-2.elasticbeanstalk.com +*.elb.amazonaws.com.cn +*.elb.amazonaws.com +awsglobalaccelerator.com +*.private.repost.aws +eero.online +eero-stage.online apigee.io +panel.dev +siiites.com +appspacehosted.com +appspaceusercontent.com +appudo.net on-aptible.com +f5.si user.aseinet.ne.jp gv.vc d.gv.vc @@ -7891,19 +8078,41 @@ poivron.org potager.org sweetpepper.org myasustor.com +cdn.prod.atlassian-dev.net +translated.page +autocode.dev +myfritz.link myfritz.net +onavstack.net *.awdev.ca *.advisor.ws +ecommerce-shop.pl b-data.io -backplaneapp.io balena-devices.com *.banzai.cloud app.banzaicloud.io *.backyards.banzaicloud.io +base.ec +official.ec +buyshop.jp +fashionstore.jp +handcrafted.jp +kawaiishop.jp +supersale.jp +theshop.jp +shopselect.net +base.shop +beagleboard.io +*.beget.app +pages.gay betainabox.com bnr.la +bitbucket.io blackbaudcdn.net +of.je +bluebite.io boomla.net +boutir.com boxfuse.io square7.ch bplaced.com @@ -7911,56 +8120,89 @@ bplaced.de square7.de bplaced.net square7.net +*.s.brave.io +shop.brendly.hr +shop.brendly.rs browsersafetymark.io +radio.am +radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk +cafjs.com mycd.eu +canva-apps.cn +*.my.canvasite.cn +canva-apps.com +*.my.canva.site +drr.ac +uwu.ai carrd.co crd.co -uwu.ai -ae.org -ar.com +ju.mp +api.gov.uk +cdn77-storage.com +rsc.contentproxy9.cz +r.cdn77.net +cdn77-ssl.net +c.cdn77.org +rsc.cdn77.org +ssl.origin.cdn77-secure.org +za.bz br.com cn.com -com.de -com.se de.com eu.com -gb.com -gb.net -hu.com -hu.net -jp.net jpn.com -kr.com mex.com -no.com -qc.com ru.com sa.com -se.net uk.com -uk.net us.com -uy.com -za.bz za.com -africa.com -gr.com -in.net -us.org -co.com -c.la +com.de +gb.net +hu.net +jp.net +se.net +uk.net +ae.org +com.se certmgr.org -xenapponazure.com +cx.ua discourse.group discourse.team -virtueeldomein.nl -cleverapps.io +clerk.app +clerkstage.app *.lcl.dev +*.lclstage.dev *.stg.dev -clic2000.net +*.stgstage.dev +cleverapps.cc +*.services.clever-cloud.com +cleverapps.io +cleverapps.tech +clickrising.net +cloudns.asia +cloudns.be +cloudns.biz +cloudns.cc +cloudns.ch +cloudns.cl +cloudns.club +dnsabr.com +cloudns.cx +cloudns.eu +cloudns.in +cloudns.info +dns-cloud.net +dns-dynamic.net +cloudns.nz +cloudns.org +cloudns.ph +cloudns.pro +cloudns.pw +cloudns.us c66.me cloud66.ws cloud66.zone @@ -7969,37 +8211,34 @@ wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net -cloudcontrolled.com -cloudcontrolapp.com -cloudera.site +*.cloudera.site +cf-ipfs.com +cloudflare-ipfs.com trycloudflare.com +pages.dev +r2.dev workers.dev +cloudflare.net +cdn.cloudflare.net +cdn.cloudflareanycast.net +cdn.cloudflarecn.net +cdn.cloudflareglobal.net +cust.cloudscale.ch +objects.lpg.cloudscale.ch +objects.rma.cloudscale.ch wnext.app -co.ca -*.otap.co -co.cz -c.cdn77.org -cdn77-ssl.net -r.cdn77.net -rsc.cdn77.org -ssl.origin.cdn77-secure.org -cloudns.asia -cloudns.biz -cloudns.club -cloudns.cc -cloudns.eu -cloudns.in -cloudns.info -cloudns.org -cloudns.pro -cloudns.pw -cloudns.us -cloudeity.net cnpy.gdn +*.otap.co +co.ca +co.com +codeberg.page +csb.app +preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl +convex.site ac.ru edu.ru gov.ru @@ -8007,56 +8246,113 @@ int.ru mil.ru test.ru dyn.cosidns.de -dynamisches-dns.de dnsupdater.de +dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net +craft.me realm.cz +on.crisp.email *.cryptonomic.net -cupcake.is curv.dev *.customer-oci.com *.oci.customer-oci.com *.ocp.customer-oci.com *.ocs.customer-oci.com +cfolks.pl cyon.link cyon.site -daplie.me -localhost.daplie.me -dattolocal.com -dattorelay.com -dattoweb.com -mydatto.com -dattolocal.net -mydatto.net +platform0.app +fnwk.site +folionetwork.site biz.dk co.dk firm.dk reg.dk store.dk +daplie.me +localhost.daplie.me dyndns.dappnode.io *.dapps.earth *.bzz.dapps.earth builtwithdark.com +darklang.io +demo.datadetect.com +instance.datadetect.com edgestack.me +dattolocal.com +dattorelay.com +dattoweb.com +mydatto.com +dattolocal.net +mydatto.net +ddns5.com +ddnss.de +dyn.ddnss.de +dyndns.ddnss.de +dyn-ip24.de +dyndns1.de +home-webserver.de +dyn.home-webserver.de +myhome-server.de +ddnss.org debian.net +definima.io +definima.net +deno.dev +deno-staging.dev dedyn.io +deta.app +deta.dev +dfirma.pl +dkonto.pl +you2.pl +ondigitalocean.app +*.digitaloceanspaces.com +us.kg +*.rss.my.id +*.diher.solutions +discordsays.com +discordsez.com +jozi.biz dnshome.de +bci.dnstrace.pro online.th shop.th drayddns.com +shoparena.pl dreamhosters.com +durumis.com mydrobo.com drud.io drud.us duckdns.org -bitbridge.net dy.fi tunk.org +dyndns.biz +for-better.biz +for-more.biz +for-some.biz +for-the.biz +selfip.biz +webhop.biz +ftpaccess.cc +game-server.cc +myphotos.cc +scrapping.cc +blogdns.com +cechire.com +dnsalias.com +dnsdojo.com +doesntexist.com +dontexist.com +doomdns.com +dyn-o-saur.com +dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com @@ -8071,64 +8367,14 @@ dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com -dyndns.biz -dyndns.info -dyndns.org -dyndns.tv -at-band-camp.net -ath.cx -barrel-of-knowledge.info -barrell-of-knowledge.info -better-than.tv -blogdns.com -blogdns.net -blogdns.org -blogsite.org -boldlygoingnowhere.org -broke-it.net -buyshouses.net -cechire.com -dnsalias.com -dnsalias.net -dnsalias.org -dnsdojo.com -dnsdojo.net -dnsdojo.org -does-it.net -doesntexist.com -doesntexist.org -dontexist.com -dontexist.net -dontexist.org -doomdns.com -doomdns.org -dvrdns.org -dyn-o-saur.com -dynalias.com -dynalias.net -dynalias.org -dynathome.net -dyndns.ws -endofinternet.net -endofinternet.org -endoftheinternet.org est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com -for-better.biz -for-more.biz -for-our.info -for-some.biz -for-the.biz -forgot.her.name -forgot.his.name from-ak.com from-al.com from-ar.com -from-az.net from-ca.com -from-co.net from-ct.com from-dc.com from-de.com @@ -8141,10 +8387,8 @@ from-il.com from-in.com from-ks.com from-ky.com -from-la.net from-ma.com from-md.com -from-me.org from-mi.com from-mn.com from-mo.com @@ -8157,7 +8401,6 @@ from-nh.com from-nj.com from-nm.com from-nv.com -from-ny.net from-oh.com from-ok.com from-or.com @@ -8175,45 +8418,18 @@ from-wa.com from-wi.com from-wv.com from-wy.com -ftpaccess.cc -fuettertdasnetz.de -game-host.org -game-server.cc getmyip.com -gets-it.net -go.dyndns.org gotdns.com -gotdns.org -groks-the.info -groks-this.info -ham-radio-op.net -here-for-more.info hobby-site.com -hobby-site.org -home.dyndns.org -homedns.org -homeftp.net -homeftp.org -homeip.net homelinux.com -homelinux.net -homelinux.org homeunix.com -homeunix.net -homeunix.org iamallama.com -in-the-band.net is-a-anarchist.com is-a-blogger.com is-a-bookkeeper.com -is-a-bruinsfan.org is-a-bulls-fan.com -is-a-candidate.org is-a-caterer.com -is-a-celticsfan.org is-a-chef.com -is-a-chef.net -is-a-chef.org is-a-conservative.com is-a-cpa.com is-a-cubicle-slave.com @@ -8222,31 +8438,25 @@ is-a-designer.com is-a-doctor.com is-a-financialadvisor.com is-a-geek.com -is-a-geek.net -is-a-geek.org is-a-green.com is-a-guru.com is-a-hard-worker.com is-a-hunter.com -is-a-knight.org is-a-landscaper.com is-a-lawyer.com is-a-liberal.com is-a-libertarian.com -is-a-linux-user.org is-a-llama.com is-a-musician.com is-a-nascarfan.com is-a-nurse.com is-a-painter.com -is-a-patsfan.org is-a-personaltrainer.com is-a-photographer.com is-a-player.com is-a-republican.com is-a-rockstar.com is-a-socialist.com -is-a-soxfan.org is-a-student.com is-a-teacher.com is-a-techie.com @@ -8258,96 +8468,150 @@ is-an-anarchist.com is-an-artist.com is-an-engineer.com is-an-entertainer.com -is-by.us is-certified.com -is-found.org is-gone.com is-into-anime.com is-into-cars.com is-into-cartoons.com is-into-games.com is-leet.com -is-lost.org is-not-certified.com -is-saved.org is-slick.com is-uberleet.com -is-very-bad.org -is-very-evil.org -is-very-good.org -is-very-nice.org -is-very-sweet.org is-with-theband.com isa-geek.com -isa-geek.net -isa-geek.org isa-hockeynut.com issmarterthanyou.com +likes-pie.com +likescandy.com +neat-url.com +saves-the-whales.com +selfip.com +sells-for-less.com +sells-for-u.com +servebbs.com +simple-url.com +space-to-rent.com +teaches-yoga.com +writesthisblog.com +ath.cx +fuettertdasnetz.de isteingeek.de istmein.de -kicks-ass.net -kicks-ass.org -knowsitall.info -land-4-sale.us lebtimnetz.de leitungsen.de -likes-pie.com -likescandy.com +traeumtgerade.de +barrel-of-knowledge.info +barrell-of-knowledge.info +dyndns.info +for-our.info +groks-the.info +groks-this.info +here-for-more.info +knowsitall.info +selfip.info +webhop.info +forgot.her.name +forgot.his.name +at-band-camp.net +blogdns.net +broke-it.net +buyshouses.net +dnsalias.net +dnsdojo.net +does-it.net +dontexist.net +dynalias.net +dynathome.net +endofinternet.net +from-az.net +from-co.net +from-la.net +from-ny.net +gets-it.net +ham-radio-op.net +homeftp.net +homeip.net +homelinux.net +homeunix.net +in-the-band.net +is-a-chef.net +is-a-geek.net +isa-geek.net +kicks-ass.net +office-on-the.net +podzone.net +scrapper-site.net +selfip.net +sells-it.net +servebbs.net +serveftp.net +thruhere.net +webhop.net merseine.nu mine.nu +shacknet.nu +blogdns.org +blogsite.org +boldlygoingnowhere.org +dnsalias.org +dnsdojo.org +doesntexist.org +dontexist.org +doomdns.org +dvrdns.org +dynalias.org +dyndns.org +go.dyndns.org +home.dyndns.org +endofinternet.org +endoftheinternet.org +from-me.org +game-host.org +gotdns.org +hobby-site.org +homedns.org +homeftp.org +homelinux.org +homeunix.org +is-a-bruinsfan.org +is-a-candidate.org +is-a-celticsfan.org +is-a-chef.org +is-a-geek.org +is-a-knight.org +is-a-linux-user.org +is-a-patsfan.org +is-a-soxfan.org +is-found.org +is-lost.org +is-saved.org +is-very-bad.org +is-very-evil.org +is-very-good.org +is-very-nice.org +is-very-sweet.org +isa-geek.org +kicks-ass.org misconfused.org -mypets.ws -myphotos.cc -neat-url.com -office-on-the.net -on-the-web.tv -podzone.net podzone.org readmyblog.org -saves-the-whales.com -scrapper-site.net -scrapping.cc -selfip.biz -selfip.com -selfip.info -selfip.net selfip.org -sells-for-less.com -sells-for-u.com -sells-it.net sellsyourhome.org -servebbs.com -servebbs.net servebbs.org -serveftp.net serveftp.org servegame.org -shacknet.nu -simple-url.com -space-to-rent.com stuff-4-sale.org -stuff-4-sale.us -teaches-yoga.com -thruhere.net -traeumtgerade.de -webhop.biz -webhop.info -webhop.net webhop.org +better-than.tv +dyndns.tv +on-the-web.tv worse-than.tv -writesthisblog.com -ddnss.de -dyn.ddnss.de -dyndns.ddnss.de -dyndns1.de -dyn-ip24.de -home-webserver.de -dyn.home-webserver.de -myhome-server.de -ddnss.org -definima.net -definima.io -bci.dnstrace.pro +is-by.us +land-4-sale.us +stuff-4-sale.us +dyndns.ws +mypets.ws ddnsfree.com ddnsgeek.com giize.com @@ -8364,15 +8628,28 @@ freeddns.org mywire.org webredirect.org myddns.rocks -blogsite.xyz dynv6.net e4.cz -en-root.fr -mytuleap.com +easypanel.app +easypanel.host +*.ewp.live onred.one staging.onred.one -enonic.io -customer.enonic.io +twmail.cc +twmail.net +twmail.org +mymailer.com.tw +url.tw +at.emf.camp +rt.ht +elementor.cloud +elementor.cool +en-root.fr +mytuleap.com +tuleap-partners.com +encr.app +encoreapi.com +eu.encoway.cloud eu.org al.eu.org asso.eu.org @@ -8429,6 +8706,7 @@ sk.eu.org tr.eu.org uk.eu.org us.eu.org +eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com @@ -8437,13 +8715,11 @@ us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com -twmail.cc -twmail.net -twmail.org -mymailer.com.tw -url.tw +relay.evervault.app +relay.evervault.dev +expo.app +staging.expo.app onfabrica.com -apps.fbsbx.com ru.net adygeya.ru bashkiria.ru @@ -8518,9 +8794,9 @@ vladimir.su vologda.su channelsdvr.net u.channelsdvr.net +edgecompute.app +fastly-edge.com fastly-terrarium.com -fastlylb.net -map.fastlylb.net freetls.fastly.net map.fastly.net a.prod.fastly.net @@ -8528,34 +8804,42 @@ global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net +fastlylb.net +map.fastlylb.net +*.user.fm fastvps-server.com fastvps.host myfast.host fastvps.site myfast.space -fhapp.xyz +conn.uk +copro.uk +hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org -conn.uk -copro.uk -couk.me -ukco.me mydobiss.com +fh-muenster.io filegear.me -filegear-au.me -filegear-de.me -filegear-gb.me -filegear-ie.me -filegear-jp.me -filegear-sg.me firebaseapp.com +fireweb.app +flap.id +fldrv.com +flutterflow.app fly.dev -edgeapp.net shw.io -flynnhosting.net +edgeapp.net +forgeblocks.com +id.forgerock.io +framer.ai +framer.app +framercanvas.com +framer.media +framer.photos +framer.website +framer.wiki 0e.vc freebox-os.com freeboxos.com @@ -8564,7 +8848,24 @@ fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org +freemyip.com +*.frusky.de wien.funkfeuer.at +daemon.asia +dix.asia +mydns.bz +0am.jp +0g0.jp +0j0.jp +0t0.jp +mydns.jp +pgw.jp +wjg.jp +keyword-on.net +live-on.net +server-on.net +mydns.tw +mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at @@ -8573,77 +8874,202 @@ futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud +aliases121.com +campaign.gov.uk service.gov.uk +independent-commission.uk +independent-inquest.uk +independent-inquiry.uk +independent-panel.uk +independent-review.uk +public-inquiry.uk +royal-commission.uk gehirn.ne.jp usercontent.jp gentapps.com gentlentapis.com lab.ms -github.io +cdn-edges.net +localcert.net +localhostcert.net +corpnet.work +gsj.bz githubusercontent.com +githubpreview.dev +github.io gitlab.io +gitapp.si gitpage.si glitch.me -lolipop.io -cloudapps.digital -london.cloudapps.digital -homeoffice.gov.uk -ro.im +nog.community +co.ro shop.ro +lolipop.io +angry.jp +babyblue.jp +babymilk.jp +backdrop.jp +bambina.jp +bitter.jp +blush.jp +boo.jp +boy.jp +boyfriend.jp +but.jp +candypop.jp +capoo.jp +catfood.jp +cheap.jp +chicappa.jp +chillout.jp +chips.jp +chowder.jp +chu.jp +ciao.jp +cocotte.jp +coolblog.jp +cranky.jp +cutegirl.jp +daa.jp +deca.jp +deci.jp +digick.jp +egoism.jp +fakefur.jp +fem.jp +flier.jp +floppy.jp +fool.jp +frenchkiss.jp +girlfriend.jp +girly.jp +gloomy.jp +gonna.jp +greater.jp +hacca.jp +heavy.jp +her.jp +hiho.jp +hippy.jp +holy.jp +hungry.jp +icurus.jp +itigo.jp +jellybean.jp +kikirara.jp +kill.jp +kilo.jp +kuron.jp +littlestar.jp +lolipopmc.jp +lolitapunk.jp +lomo.jp +lovepop.jp +lovesick.jp +main.jp +mods.jp +mond.jp +mongolian.jp +moo.jp +namaste.jp +nikita.jp +nobushi.jp +noor.jp +oops.jp +parallel.jp +parasite.jp +pecori.jp +peewee.jp +penne.jp +pepper.jp +perma.jp +pigboat.jp +pinoko.jp +punyu.jp +pupu.jp +pussycat.jp +pya.jp +raindrop.jp +readymade.jp +sadist.jp +schoolbus.jp +secret.jp +staba.jp +stripper.jp +sub.jp +sunnyday.jp +thick.jp +tonkotsu.jp +under.jp +upper.jp +velvet.jp +verse.jp +versus.jp +vivian.jp +watson.jp +weblike.jp +whitesnow.jp +zombie.jp +heteml.net +graphic.design goip.de -run.app -a.run.app -web.app -*.0emm.com -appspot.com -*.r.appspot.com blogspot.ae blogspot.al blogspot.am +*.hosted.app +*.run.app +web.app +blogspot.com.ar +blogspot.co.at +blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj +blogspot.com.br +blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl -blogspot.co.at -blogspot.co.id -blogspot.co.il -blogspot.co.ke -blogspot.co.nz -blogspot.co.uk -blogspot.co.za -blogspot.com -blogspot.com.ar -blogspot.com.au -blogspot.com.br -blogspot.com.by blogspot.com.co -blogspot.com.cy -blogspot.com.ee -blogspot.com.eg -blogspot.com.es -blogspot.com.mt -blogspot.com.ng -blogspot.com.tr -blogspot.com.uy +*.0emm.com +appspot.com +*.r.appspot.com +blogspot.com +codespot.com +googleapis.com +googlecode.com +pagespeedmobilizer.com +publishproxy.com +withgoogle.com +withyoutube.com blogspot.cv +blogspot.com.cy blogspot.cz blogspot.de +*.gateway.dev blogspot.dk +blogspot.com.ee +blogspot.com.eg +blogspot.com.es blogspot.fi blogspot.fr +cloud.goog +translate.goog +*.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu +blogspot.co.id blogspot.ie +blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp +blogspot.co.ke blogspot.kr blogspot.li blogspot.lt @@ -8651,10 +9077,14 @@ blogspot.lu blogspot.md blogspot.mk blogspot.mr +blogspot.com.mt blogspot.mx blogspot.my +cloudfunctions.net +blogspot.com.ng blogspot.nl blogspot.no +blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa @@ -8668,65 +9098,92 @@ blogspot.si blogspot.sk blogspot.sn blogspot.td +blogspot.com.tr blogspot.tw blogspot.ug +blogspot.co.uk +blogspot.com.uy blogspot.vn -cloudfunctions.net -cloud.goog -codespot.com -googleapis.com -googlecode.com -pagespeedmobilizer.com -publishproxy.com -withgoogle.com -withyoutube.com -graphox.us -awsmppl.com +blogspot.co.za +goupile.fr +pymnt.uk +cloudapps.digital +london.cloudapps.digital +gov.nl +grayjayleagues.com +günstigbestellen.de +xn--gnstigbestellen-zvb.de +günstigliefern.de +xn--gnstigliefern-wob.de fin.ci free.hr caa.li ua.rs conf.se -hs.zone +häkkinen.fi +xn--hkkinen-5wa.fi hs.run +hs.zone hashbang.sh hasura.app hasura-app.io +hatenablog.com +hatenadiary.com +hateblo.jp +hatenablog.jp +hatenadiary.jp +hatenadiary.org +pages.it.hs-heilbronn.de +heiyu.space +helioho.st +heliohost.us hepforge.org herokuapp.com herokussl.com -myravendb.com +ravendb.cloud ravendb.community -ravendb.me development.run ravendb.run -bpl.biz +homesklep.pl +*.kin.one +*.id.pub +*.kin.pub +secaas.hk +hoplix.shop orx.biz -ng.city biz.gl -ng.ink col.ng firm.ng gen.ng ltd.ng ngo.ng -ng.school +edu.scot sch.so +ie.ua hostyhosting.io -häkkinen.fi -xn--hkkinen-5wa.fi +hypernode.io +iobb.net +co.cz *.moonscale.io moonscale.net +gr.com iki.fi +ibxos.it +iliadboxos.it +smushcdn.com +wphostedmail.com +wpmucdn.com +tempurl.host +wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de -in-dsl.net -in-dsl.org in-vpn.de +in-dsl.net in-vpn.net +in-dsl.org in-vpn.org biz.at info.at @@ -8759,35 +9216,128 @@ se.leg.br sp.leg.br to.leg.br pixolino.com +na4u.ru +apps-1and1.com +live-website.com +apps-1and1.net +websitebuilder.online +app-ionos.space +iopsys.se ipifony.net +ir.md +is-a.dev +is-a-good.dev +iservschule.de mein-iserv.de +schulplattform.de schulserver.de test-iserv.de iserv.dev -iobb.net -hidora.com +mel.cloudlets.com.au +cloud.interhostsolutions.be +mycloud.by +alp1.ae.flow.ch +appengine.flow.ch +es-1.axarnet.cloud +diadem.cloud +vip.jelastic.cloud +jele.cloud +it1.eur.aruba.jenv-aruba.cloud +it1.jenv-aruba.cloud +keliweb.cloud +cs.keliweb.cloud +oxa.cloud +tn.oxa.cloud +uk.oxa.cloud +primetel.cloud +uk.primetel.cloud +ca.reclaim.cloud +uk.reclaim.cloud +us.reclaim.cloud +ch.trendhosting.cloud +de.trendhosting.cloud +jele.club +amscompute.com +dopaas.com +paas.hosted-by-previder.com +rag-cloud.hosteur.com +rag-cloud-ch.hosteur.com +jcloud.ik-server.com +jcloud-ver-jpc.ik-server.com demo.jelastic.com +kilatiron.com +paas.massivegrid.com +jed.wafaicloud.com +lon.wafaicloud.com +ryd.wafaicloud.com j.scaleforce.com.cy +jelastic.dogado.eu +fi.cloudplatform.fi +demo.datacenter.fi +paas.datacenter.fi +jele.host mircloud.host +paas.beebyte.io +sekd1.beebyteapp.io +jele.io +cloud-fr1.unispace.io +jc.neen.it +cloud.jelastic.open.tim.it +jcloud.kz +upaas.kazteleport.kz +cloudjiffy.net +fra1-de.cloudjiffy.net +west1-us.cloudjiffy.net jls-sto1.elastx.net +jls-sto2.elastx.net +jls-sto3.elastx.net +faststacks.net +fr-1.paas.massivegrid.net +lon-1.paas.massivegrid.net +lon-2.paas.massivegrid.net +ny-1.paas.massivegrid.net +ny-2.paas.massivegrid.net +sg-1.paas.massivegrid.net +jelastic.saveincloud.net +nordeste-idc.saveincloud.net +j.scaleforce.net +jelastic.tsukaeru.net +sdscloud.pl +unicloud.pl +mircloud.ru +jelastic.regruhosting.ru +enscaled.sg +jele.site +jelastic.team +orangecloud.tn j.layershift.co.uk +phx.enscaled.us +mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru -*.triton.zone +jotelulu.cloud +webadorsite.com +jouwweb.site *.cns.joyent.com +*.triton.zone js.org kaas.gg khplay.nl +ktistory.com +kapsi.fi +ezproxy.kuleuven.be +kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems +koobin.events +webthings.io +krellian.net oya.to -co.krd -edu.krd git-repos.de lcube-server.de svn-repos.de @@ -8795,6 +9345,8 @@ leadpages.co lpages.co lpusercontent.com lelux.site +libp2p.direct +runcontainers.dev co.business co.education co.events @@ -8802,59 +9354,85 @@ co.financial co.network co.place co.technology -app.lmpm.com -linkitools.space -linkyard.cloud linkyard-cloud.ch +linkyard.cloud members.linode.com *.nodebalancer.linode.com *.linodeobjects.com +ip.linodeusercontent.com we.bs +filegear-sg.me +ggff.net +*.user.localcert.dev loginline.app loginline.dev loginline.io loginline.services loginline.site +lohmus.me +servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl -uklugs.org glug.org.uk lug.org.uk lugs.org.uk barsy.bg -barsy.co.uk -barsyonline.co.uk +barsy.club barsycenter.com barsyonline.com -barsy.club barsy.de +barsy.dev barsy.eu +barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu +barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub +barsy.ro +barsy.rs barsy.shop +barsyonline.shop barsy.site +barsy.store barsy.support barsy.uk +barsy.co.uk +barsyonline.co.uk *.magentosite.cloud +hb.cldmail.ru mayfirst.info mayfirst.org -hb.cldmail.ru +matlab.cloud +modelscape.com +mwcloudnonprod.com +polyspace.com +mazeplay.com +mcdir.me +mcdir.ru +vps.mcdir.ru +mcpre.ru +mcpe.me +mediatech.by +mediatech.dev +hra.health miniserver.com memset.net -cloud.metacentrum.cz +messerli.app +atmeta.com +apps.fbsbx.com +*.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz @@ -8862,285 +9440,491 @@ meteorapp.com eu.meteorapp.com co.pl *.azurecontainer.io -azurewebsites.net +azure-api.net azure-mobile.net +azureedge.net +azurefd.net +azurestaticapps.net +1.azurestaticapps.net +2.azurestaticapps.net +3.azurestaticapps.net +4.azurestaticapps.net +5.azurestaticapps.net +6.azurestaticapps.net +7.azurestaticapps.net +centralus.azurestaticapps.net +eastasia.azurestaticapps.net +eastus2.azurestaticapps.net +westeurope.azurestaticapps.net +westus2.azurestaticapps.net +azurewebsites.net cloudapp.net -mozilla-iot.org +trafficmanager.net +blob.core.windows.net +servicebus.windows.net +routingthecloud.com +sn.mynetname.net +routingthecloud.net +routingthecloud.org +csx.cc +forte.id +modx.dev bmoattachments.org net.ru org.ru pp.ru +hostedpi.com +caracal.mythic-beasts.com +customer.mythic-beasts.com +fentiger.mythic-beasts.com +lynx.mythic-beasts.com +ocelot.mythic-beasts.com +oncilla.mythic-beasts.com +onza.mythic-beasts.com +sphinx.mythic-beasts.com +vs.mythic-beasts.com +x.mythic-beasts.com +yali.mythic-beasts.com +cust.retrosnub.co.uk ui.nabu.casa -pony.club -of.fashion -on.fashion -of.football -in.london -of.london -for.men -and.mom -for.mom -for.one -for.sale -of.work -to.work -nctu.me +cloud.nospamproxy.com +netfy.app netlify.app 4u.com +nfshost.com +ipfs.nftstorage.link +ngo.us +ngrok.app +ngrok-free.app +ngrok.dev +ngrok-free.dev ngrok.io +ap.ngrok.io +au.ngrok.io +eu.ngrok.io +in.ngrok.io +jp.ngrok.io +sa.ngrok.io +us.ngrok.io +ngrok.pizza +ngrok.pro +torun.pl nh-serv.co.uk -nfshost.com -dnsking.ch -mypi.co -n4t.co -001www.com -ddnslive.com -myiphost.com -forumz.info -16-b.it -32-b.it -64-b.it -soundcast.me -tcp4.me -dnsup.net -hicam.net -now-dns.net -ownip.net -vpndns.net -dynserv.org -now-dns.org -x443.pw -now-dns.top -ntdll.top -freeddns.us -crafting.xyz -zapto.xyz -nsupdate.info -nerdpol.ovh +nimsite.uk +ar.com +hu.com +kr.com +no.com +qc.com +uy.com +mmafan.biz +myftp.biz +no-ip.biz +no-ip.ca +fantasyleague.cc +gotdns.ch +3utilities.com blogsyte.com -brasilia.me -cable-modem.org ciscofreak.com -collegefan.org -couchpotatofries.org damnserver.com -ddns.me +ddnsking.com ditchyourip.com -dnsfor.me dnsiskinky.com -dvrcam.info dynns.com -eating-organic.net -fantasyleague.cc geekgalaxy.com -golffan.us health-carereform.com homesecuritymac.com homesecuritypc.com -hopto.me -ilovecollege.info -loginto.me -mlbfan.org -mmafan.biz myactivedirectory.com -mydissent.net -myeffect.net -mymediapc.net -mypsx.net mysecuritycamera.com -mysecuritycamera.net -mysecuritycamera.org +myvnc.com net-freaks.com -nflfan.org -nhlfan.net -no-ip.ca -no-ip.co.uk -no-ip.net -noip.us onthewifi.com -pgafan.net point2this.com -pointto.us -privatizehealthinsurance.net quicksytes.com -read-books.org securitytactics.com +servebeer.com +servecounterstrike.com serveexchange.com +serveftp.com +servegame.com +servehalflife.com +servehttp.com servehumour.com +serveirc.com +servemp3.com servep2p.com +servepics.com +servequake.com servesarcasm.com stufftoread.com -ufcfan.org unusualperson.com workisboring.com -3utilities.com -bounceme.net -ddns.net -ddnsking.com -gotdns.ch -hopto.org -myftp.biz -myftp.org -myvnc.com -no-ip.biz +dvrcam.info +ilovecollege.info no-ip.info -no-ip.org +brasilia.me +ddns.me +dnsfor.me +hopto.me +loginto.me noip.me +webhop.me +bounceme.net +ddns.net +eating-organic.net +mydissent.net +myeffect.net +mymediapc.net +mypsx.net +mysecuritycamera.net +nhlfan.net +no-ip.net +pgafan.net +privatizehealthinsurance.net redirectme.net -servebeer.com serveblog.net -servecounterstrike.com -serveftp.com -servegame.com -servehalflife.com -servehttp.com -serveirc.com serveminecraft.net -servemp3.com -servepics.com -servequake.com sytes.net -webhop.me +cable-modem.org +collegefan.org +couchpotatofries.org +hopto.org +mlbfan.org +myftp.org +mysecuritycamera.org +nflfan.org +no-ip.org +read-books.org +ufcfan.org zapto.org +no-ip.co.uk +golffan.us +noip.us +pointto.us stage.nodeart.io -nodum.co -nodum.io -pcloud.host +*.developer.app +noop.app +*.northflank.app +*.build.run +*.code.run +*.database.run +*.migration.run +noticeable.news +notion.site +dnsking.ch +mypi.co +n4t.co +001www.com +ddnslive.com +myiphost.com +forumz.info +16-b.it +32-b.it +64-b.it +soundcast.me +tcp4.me +dnsup.net +hicam.net +now-dns.net +ownip.net +vpndns.net +dynserv.org +now-dns.org +x443.pw +now-dns.top +ntdll.top +freeddns.us +crafting.xyz +zapto.xyz +nsupdate.info +nerdpol.ovh nyc.mn -nom.ae -nom.af -nom.ai -nom.al -nym.by -nom.bz -nym.bz -nom.cl -nym.ec -nom.gd -nom.ge -nom.gl -nym.gr -nom.gt -nym.gy -nym.hk -nom.hn -nym.ie -nom.im -nom.ke -nym.kz -nym.la -nym.lc -nom.li -nym.li -nym.lt -nym.lu -nom.lv -nym.me -nom.mk -nym.mn -nym.mx -nom.nu -nym.nz -nym.pe -nym.pt -nom.pw -nom.qa -nym.ro -nom.rs -nom.si -nym.sk -nom.st -nym.su -nym.sx -nom.tj -nym.tw -nom.ug -nom.uy -nom.vc -nom.vg +prvcy.page +obl.ong +observablehq.cloud static.observableusercontent.com -cya.gg +omg.lol cloudycluster.net -nid.io +omniwe.site +123webseite.at +123website.be +simplesite.com.br +123website.ch +simplesite.com +123webseite.de +123hjemmeside.dk +123miweb.es +123kotisivu.fi +123siteweb.fr +simplesite.gr +123homepage.it +123website.lu +123website.nl +123hjemmeside.no +service.one +simplesite.pl +123paginaweb.pt +123minsida.se +is-a-fullstack.dev +is-cool.dev +is-not-a.dev +localplayer.dev +is-local.org +opensocial.site opencraft.hosting +orsites.com operaunite.com +tech.orange +can.re +authgear-staging.com +authgearapps.com skygearapp.com outsystemscloud.com +*.hosting.ovh.net +*.webpaas.ovh.net ownprovider.com own.pm *.owo.codes ox.rs oy.lc pgfog.com -pagefrontapp.com pagexl.com -art.pl -gliwice.pl -krakow.pl -poznan.pl -wroc.pl -zakopane.pl -pantheonsite.io gotpantheon.com +pantheonsite.io +*.paywhirl.com +*.xmit.co +xmit.dev +madethis.site +srv.us +gh.srv.us +gl.srv.us +lk3.ru mypep.link perspecta.cloud on-web.fr -*.platform.sh +*.upsun.app +upsunapp.com +ent.platform.sh +eu.platform.sh +us.platform.sh *.platformsh.site +*.tst.site platter-app.com platter-app.dev platterp.us -pdns.page -plesk.page -pleskns.com +pley.games dyn53.io +onporter.run co.bn +postman-echo.com +pstmn.io +mock.pstmn.io +httpbin.org +prequalifyme.today xen.prgmr.com priv.at -prvcy.page *.dweb.link protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org -qualifioapp.com -qbuser.com -instantcloud.cn -ras.ru +pythonanywhere.com +eu.pythonanywhere.com qa2.com qcx.io *.sys.qcx.io -dev-myqnapcloud.com +myqnapcloud.cn alpha-myqnapcloud.com +dev-myqnapcloud.com +mycloudnas.com +mynascloud.com myqnapcloud.com +qoto.io +qualifioapp.com +ladesk.com +qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net -g.vbrplsbx.io -*.on-k3s.io +cloudsite.builders +myradweb.net +servername.us +web.in +in.net +myrdbx.io +site.rb-hosting.io *.on-rancher.cloud +*.on-k3s.io *.on-rio.io +ravpage.co.il +readthedocs-hosted.com readthedocs.io rhcloud.com -app.render.com +instances.spawn.cc onrender.com +app.render.com +replit.app +id.replit.app +firewalledreplit.co +id.firewalledreplit.co repl.co +id.repl.co +replit.dev +archer.replit.dev +bones.replit.dev +canary.replit.dev +global.replit.dev +hacker.replit.dev +id.replit.dev +janeway.replit.dev +kim.replit.dev +kira.replit.dev +kirk.replit.dev +odo.replit.dev +paris.replit.dev +picard.replit.dev +pike.replit.dev +prerelease.replit.dev +reed.replit.dev +riker.replit.dev +sisko.replit.dev +spock.replit.dev +staging.replit.dev +sulu.replit.dev +tarpit.replit.dev +teams.replit.dev +tucker.replit.dev +wesley.replit.dev +worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io -wellbeingzone.eu -ptplus.fit -wellbeingzone.co.uk +adimo.co.uk +itcouldbewor.se +aus.basketball +nz.basketball git-pages.rit.edu +rocky.page +биз.рус +xn--90amc.xn--p1acf +ком.рус +xn--j1aef.xn--p1acf +крым.рус +xn--j1ael8b.xn--p1acf +мир.рус +xn--h1ahn.xn--p1acf +мск.рус +xn--j1adp.xn--p1acf +орг.рус +xn--c1avg.xn--p1acf +самара.рус +xn--80aaa0cvac.xn--p1acf +сочи.рус +xn--h1aliz.xn--p1acf +спб.рус +xn--90a1af.xn--p1acf +я.рус +xn--41a.xn--p1acf +ras.ru +180r.com +dojin.com +sakuratan.com +sakuraweb.com +x0.com +2-d.jp +bona.jp +crap.jp +daynight.jp +eek.jp +flop.jp +halfmoon.jp +jeez.jp +matrix.jp +mimoza.jp +ivory.ne.jp +mail-box.ne.jp +mints.ne.jp +mokuren.ne.jp +opal.ne.jp +sakura.ne.jp +sumomo.ne.jp +topaz.ne.jp +netgamers.jp +nyanta.jp +o0o0.jp +rdy.jp +rgr.jp +rulez.jp +s3.isk01.sakurastorage.jp +s3.isk02.sakurastorage.jp +saloon.jp +sblo.jp +skr.jp +tank.jp +uh-oh.jp +undo.jp +rs.webaccel.jp +user.webaccel.jp +websozai.jp +xii.jp +squares.net +jpn.org +kirara.st +x0.to +from.tv +sakura.tv +*.builder.code.com +*.dev-builder.code.com +*.stg-builder.code.com +*.001.test.code-builder-stg.platform.salesforce.com +*.d.crm.dev +*.w.crm.dev +*.wa.crm.dev +*.wb.crm.dev +*.wc.crm.dev +*.wd.crm.dev +*.we.crm.dev +*.wf.crm.dev sandcats.io -logoip.de logoip.com +logoip.de +fr-par-1.baremetal.scw.cloud +fr-par-2.baremetal.scw.cloud +nl-ams-1.baremetal.scw.cloud +cockpit.fr-par.scw.cloud +fnc.fr-par.scw.cloud +functions.fnc.fr-par.scw.cloud +k8s.fr-par.scw.cloud +nodes.k8s.fr-par.scw.cloud +s3.fr-par.scw.cloud +s3-website.fr-par.scw.cloud +whm.fr-par.scw.cloud +priv.instances.scw.cloud +pub.instances.scw.cloud +k8s.scw.cloud +cockpit.nl-ams.scw.cloud +k8s.nl-ams.scw.cloud +nodes.k8s.nl-ams.scw.cloud +s3.nl-ams.scw.cloud +s3-website.nl-ams.scw.cloud +whm.nl-ams.scw.cloud +cockpit.pl-waw.scw.cloud +k8s.pl-waw.scw.cloud +nodes.k8s.pl-waw.scw.cloud +s3.pl-waw.scw.cloud +s3-website.pl-waw.scw.cloud +scalebook.scw.cloud +smartlabeling.scw.cloud +dedibox.fr schokokeks.net gov.scot +service.gov.scot scrysec.com +client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de @@ -9152,12 +9936,19 @@ my-firewall.org myfirewall.org spdns.org seidat.net +sellfy.store +minisite.ms senseering.net +servebolt.cloud +magnet.page biz.ua co.ua pp.ua +as.sh.cn +sheezy.games shiftedit.io myshopblocks.com +myshopify.com shopitsite.com shopware.store mo-siemens.io @@ -9170,59 +9961,147 @@ siteleaf.net bounty-full.com alpha.bounty-full.com beta.bounty-full.com -stackhero-network.com -static.land -dev.static.land -sites.static.land +small-web.org +aeroport.fr +avocat.fr +chambagri.fr +chirurgiens-dentistes.fr +experts-comptables.fr +medecin.fr +notaires.fr +pharmacien.fr +port.fr +veterinaire.fr +vp4.me +*.snowflake.app +*.privatelink.snowflake.app +streamlit.app +streamlitapp.com +try-snowplow.com +mafelo.net playstation-cloud.com +srht.site apps.lair.io *.stolos.io spacekit.io +ind.mom customer.speedpartner.de +myspreadshop.at +myspreadshop.com.au +myspreadshop.be +myspreadshop.ca +myspreadshop.ch +myspreadshop.com +myspreadshop.de +myspreadshop.dk +myspreadshop.es +myspreadshop.fi +myspreadshop.fr +myspreadshop.ie +myspreadshop.it +myspreadshop.net +myspreadshop.nl +myspreadshop.no +myspreadshop.pl +myspreadshop.se +myspreadshop.co.uk +w-corp-staticblitz.com +w-credentialless-staticblitz.com +w-staticblitz.com +stackhero-network.com +runs.onstackit.cloud +stackit.gg +stackit.rocks +stackit.run +stackit.zone +musician.io +novecore.site api.stdlib.com +feedback.ac +forms.ac +assessments.cx +calculators.cx +funnels.cx +paynow.cx +quizzes.cx +researched.cx +tests.cx +surveys.so +storebase.store +storipress.app storj.farm -utwente.io +strapiapp.com +media.strapiapp.com +vps-host.net +atl.jelastic.vps-host.net +njs.jelastic.vps-host.net +ric.jelastic.vps-host.net +streak-link.com +streaklinks.com +streakusercontent.com soc.srcf.net user.srcf.net +utwente.io temp-dns.com -applicationcloud.io -scapp.io -*.s5y.io +supabase.co +supabase.in +supabase.net *.sensiosite.cloud +*.s5y.io syncloud.it -diskstation.me dscloud.biz -dscloud.me -dscloud.mobi +direct.quickconnect.cn dsmynas.com -dsmynas.net -dsmynas.org familyds.com -familyds.net -familyds.org +diskstation.me +dscloud.me i234.me myds.me synology.me -vpnplus.to +dscloud.mobi +dsmynas.net +familyds.net +dsmynas.org +familyds.org direct.quickconnect.to +vpnplus.to +mytabit.com +mytabit.co.il +tabitorder.co.il taifun-dns.de +beta.tailscale.net +ts.net +*.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl -edugit.org +p.tawk.email +p.tawkto.email +site.tb-hosting.com +edugit.io +s3.teckids.org telebit.app telebit.io *.telebit.xyz -gwiddle.co.uk +*.firenet.ch +*.svc.firenet.ch +reservd.com thingdustdata.com cust.dev.thingdust.io +reservd.dev.thingdust.io cust.disrec.thingdust.io +reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io +reservd.testing.thingdust.io +tickets.io arvo.network azimuth.network +tlon.network +torproject.net +pages.torproject.net bloxcms.com townnews-staging.com 12hp.at @@ -9247,10 +10126,9 @@ lima.zone *.transurl.be *.transurl.eu *.transurl.nl +site.transip.me tuxfamily.org dd-dns.de -diskstation.eu -diskstation.org dray-dns.de draydns.de dyn-vpn.de @@ -9261,81 +10139,83 @@ my-wan.de syno-ds.de synology-diskstation.de synology-ds.de -uber.space +diskstation.eu +diskstation.org +typedream.app +pro.typeform.com *.uberspace.de +uber.space hk.com -hk.org -ltd.hk inc.hk -virtualuser.de +ltd.hk +hk.org +it.com +unison-services.cloud virtual-user.de +virtualuser.de +name.pm +sch.tf +biz.wf +sch.wf +org.yt +rs.ba +bielsko.pl +upli.io urown.cloud dnsupdate.info -lib.de.us -2038.io +us.org +v.ua +express.val.run +web.val.run vercel.app vercel.dev now.sh +2038.io router.management v-info.info voorloper.cloud -neko.am -nyaa.am -be.ax -cat.ax -es.ax -eu.ax -gg.ax -mc.ax -us.ax -xy.ax -nl.ci -xx.gl -app.gp -blog.gt -de.gt -to.gt -be.gy -cc.hn -blog.kg -io.kg -jp.kg -tv.kg -uk.kg -us.kg -de.ls -at.md -de.md -jp.md -to.md -uwu.nu -indie.porn -vxl.sh -ch.tc -me.tc -we.tc -nyan.to -at.vg -blog.vu -dev.vu -me.vu -v.ua +*.vultrobjects.com wafflecell.com +webflow.io +webflowtest.io *.webhare.dev -wedeploy.io -wedeploy.me -wedeploy.sh +bookonline.app +hotelwithflight.com +reserve-online.com +reserve-online.net +cprapid.com +pleskns.com +wp2.host +pdns.page +plesk.page +wpsquared.site +*.wadl.top remotewd.com -wmflabs.org +box.ca +pages.wiardweb.com toolforge.org wmcloud.org +wmflabs.org +wdh.app panel.gg daemon.panel.gg +wixsite.com +wixstudio.com +editorx.io +wixstudio.io +wix.run +messwithdns.com +woltlab-demo.com myforum.community community-pro.de diskussionsbereich.de community-pro.net meinforum.net +affinitylottery.org.uk +raffleentry.org.uk +weeklylottery.org.uk +wpenginepowered.com +js.wpenginepowered.com half.host xnbay.com u2.xnbay.com @@ -9355,12 +10235,14 @@ ybo.party ybo.review ybo.science ybo.trade +ynh.fr nohost.me noho.st za.net za.org +zap.cloud +zeabur.app bss.design basicserver.io virtualserver.io -enterprisecloud.nu -mintere.site \ No newline at end of file +enterprisecloud.nu \ No newline at end of file diff --git a/Scripts/exec-bundler.sh b/Scripts/exec-bundler.sh new file mode 100755 index 0000000..f22fc96 --- /dev/null +++ b/Scripts/exec-bundler.sh @@ -0,0 +1,31 @@ +#!/bin/zsh + +local option_list=( + "bundle install" + "bundle update" + "bundle list" + "bundle outdated" + "bundle clean" + "gem update bundler" +) + +if ! command -v fzf &> /dev/null; then + tput setaf 1; echo "fzf is not installed."; tput sgr0 + exit 1 +fi + +local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") + +if [ -z "$command" ]; then + echo "No command selected" + exit 1 +fi + +bundle config set --local clean 'true' +bundle config set --local path '.bundle' + +# command="bundle exec $command" +echo "\n$command\n" +eval $command + +exit 0 \ No newline at end of file diff --git a/Scripts/exec-fastlane.sh b/Scripts/exec-fastlane.sh new file mode 100755 index 0000000..8359636 --- /dev/null +++ b/Scripts/exec-fastlane.sh @@ -0,0 +1,30 @@ +#!/bin/zsh + +local option_list=( + "fastlane prebuild" + "fastlane test_all" + "fastlane build_spm" + "fastlane build_carthage" + "fastlane lint_cocoapods" + "fastlane push_cocoapods" + "fastlane set_version" + "fastlane bump_version" +) + +if ! command -v fzf &> /dev/null; then + tput setaf 1; echo "fzf is not installed."; tput sgr0 + exit 1 +fi + +local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") + +if [ -z "$command" ]; then + echo "No command selected" + exit 1 +fi + +command="bundle exec $command" +echo "\n$command\n" +eval $command + +exit 0 \ No newline at end of file diff --git a/update-psl.py b/Scripts/update-psl.py similarity index 96% rename from update-psl.py rename to Scripts/update-psl.py index 2492855..0d59122 100644 --- a/update-psl.py +++ b/Scripts/update-psl.py @@ -8,7 +8,7 @@ if __name__ == '__main__': # Variables - src_dir = os.path.dirname(os.path.abspath(__file__)) + src_dir = os.path.dirname(os.path.abspath(os.path.join(__file__, '..'))) psl_file = os.path.abspath(os.path.join(src_dir, 'Resources/public_suffix_list.dat')) psl_url = 'https://publicsuffix.org/list/public_suffix_list.dat' diff --git a/TLDExtract.xcodeproj/project.pbxproj b/TLDExtract.xcodeproj/project.pbxproj index e2d614c..1c02493 100644 --- a/TLDExtract.xcodeproj/project.pbxproj +++ b/TLDExtract.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -384,8 +384,9 @@ A7A0ECD4219EB279004FBE05 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 1010; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1540; ORGANIZATIONNAME = Gumob; TargetAttributes = { A7A0ECDC219EB279004FBE05 = { @@ -501,8 +502,8 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + shellPath = /bin/zsh; + shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; }; A7948D7221A32ADA0016DFB7 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; @@ -520,8 +521,8 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + shellPath = /bin/zsh; + shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; }; A7948D7421A32B070016DFB7 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; @@ -539,11 +540,12 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks\n"; + shellPath = /bin/zsh; + shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; }; A7A0ED0E219EB3AD004FBE05 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -557,11 +559,12 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "python update-psl.py\n"; + shellPath = /bin/zsh; + shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; }; A7A0ED63219EC891004FBE05 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -575,11 +578,12 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "python update-psl.py\n"; + shellPath = /bin/zsh; + shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; }; A7A0ED64219EC8A9004FBE05 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); @@ -593,8 +597,8 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "python update-psl.py\n"; + shellPath = /bin/zsh; + shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -706,6 +710,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -718,6 +723,8 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + EXCLUDED_ARCHS = arm64; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; @@ -732,7 +739,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -771,6 +778,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -783,6 +791,8 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = NO; + EXCLUDED_ARCHS = arm64; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -791,7 +801,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 10.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.12; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; @@ -815,17 +825,21 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -833,6 +847,9 @@ SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -847,23 +864,30 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -879,16 +903,21 @@ "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -903,16 +932,21 @@ "$(PROJECT_DIR)/Carthage/Build/iOS", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -922,11 +956,13 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", @@ -934,17 +970,23 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -954,11 +996,13 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", @@ -966,17 +1010,23 @@ FRAMEWORK_VERSION = A; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -987,23 +1037,28 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -1014,23 +1069,28 @@ CODE_SIGN_IDENTITY = ""; CODE_SIGN_STYLE = Manual; COMBINE_HIDPI_IMAGES = YES; + DEAD_CODE_STRIPPING = YES; DEVELOPMENT_TEAM = ""; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/Mac", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/../Frameworks", "@loader_path/../Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.12; + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-macOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = macosx; SWIFT_VERSION = 5.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -1044,17 +1104,21 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1062,7 +1126,9 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -1076,17 +1142,21 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_MODULE_VERIFIER = YES; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/tvOS", ); INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -1094,7 +1164,9 @@ SKIP_INSTALL = YES; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; @@ -1110,18 +1182,22 @@ "$(PROJECT_DIR)/Carthage/Build/tvOS", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; @@ -1136,18 +1212,22 @@ "$(PROJECT_DIR)/Carthage/Build/tvOS", ); INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MACOSX_DEPLOYMENT_TARGET = 10.13; PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-tvOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; SDKROOT = appletvos; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 11.0; + TVOS_DEPLOYMENT_TARGET = 12.0; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; diff --git a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme index d201b6f..9c42a79 100644 --- a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme +++ b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme @@ -1,6 +1,6 @@ + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + - - - - - - - - + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + - - - - - - - - + onlyGenerateCoverageForSpecifiedTargets = "YES"> + + + + - - - - - - - - Date: Sun, 25 Aug 2024 15:29:14 +0900 Subject: [PATCH 02/33] build(ToDo): Change xcode configuration for Xcode 15.4 --- Cartfile | 3 +- Cartfile.resolved | 2 +- Package.swift | 3 +- Scripts/exec-bundler.sh | 31 - Scripts/exec-fastlane.sh | 30 - Source/Info.plist | 24 - TLDExtract.podspec | 2 +- TLDExtract.xcodeproj/project.pbxproj | 1099 +++-------------- .../xcschemes/TLDExtract-macOS.xcscheme | 106 -- .../xcschemes/TLDExtract-tvOS.xcscheme | 106 -- ...tract-iOS.xcscheme => TLDExtract.xcscheme} | 52 +- Tests/Info.plist | 22 - run.sh | 62 + Scripts/update-psl.py => update-psl.py | 2 +- 14 files changed, 283 insertions(+), 1261 deletions(-) delete mode 100755 Scripts/exec-bundler.sh delete mode 100755 Scripts/exec-fastlane.sh delete mode 100644 Source/Info.plist delete mode 100644 TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-macOS.xcscheme delete mode 100644 TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-tvOS.xcscheme rename TLDExtract.xcodeproj/xcshareddata/xcschemes/{TLDExtract-iOS.xcscheme => TLDExtract.xcscheme} (57%) delete mode 100644 Tests/Info.plist create mode 100755 run.sh rename Scripts/update-psl.py => update-psl.py (96%) diff --git a/Cartfile b/Cartfile index 6021ee4..ef1ab23 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1,2 @@ -github "gumob/PunycodeSwift" ~> 2.1.1 +# github "gumob/PunycodeSwift" ~> 3.0 +github "gumob/PunycodeSwift" "release/v3.0.0" diff --git a/Cartfile.resolved b/Cartfile.resolved index e89da54..ab2f3d4 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "gumob/PunycodeSwift" "2.1.1" +github "gumob/PunycodeSwift" "8e7de65d79e7a4bb74a474422bf07f6de57c8fec" diff --git a/Package.swift b/Package.swift index d07bf1d..537085c 100644 --- a/Package.swift +++ b/Package.swift @@ -11,7 +11,8 @@ let package = Package( targets: ["TLDExtract"]) ], dependencies: [ - .package(url: "https://github.com/gumob/PunycodeSwift.git", .from: "2.1.0") + // .package(url: "https://github.com/gumob/PunycodeSwift.git", .from: "3.0.0"), + .package(url: "https://github.com/gumob/PunycodeSwift.git", .branch("release/v3.0.0")) ], targets: [ .target( diff --git a/Scripts/exec-bundler.sh b/Scripts/exec-bundler.sh deleted file mode 100755 index f22fc96..0000000 --- a/Scripts/exec-bundler.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/zsh - -local option_list=( - "bundle install" - "bundle update" - "bundle list" - "bundle outdated" - "bundle clean" - "gem update bundler" -) - -if ! command -v fzf &> /dev/null; then - tput setaf 1; echo "fzf is not installed."; tput sgr0 - exit 1 -fi - -local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") - -if [ -z "$command" ]; then - echo "No command selected" - exit 1 -fi - -bundle config set --local clean 'true' -bundle config set --local path '.bundle' - -# command="bundle exec $command" -echo "\n$command\n" -eval $command - -exit 0 \ No newline at end of file diff --git a/Scripts/exec-fastlane.sh b/Scripts/exec-fastlane.sh deleted file mode 100755 index 8359636..0000000 --- a/Scripts/exec-fastlane.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/zsh - -local option_list=( - "fastlane prebuild" - "fastlane test_all" - "fastlane build_spm" - "fastlane build_carthage" - "fastlane lint_cocoapods" - "fastlane push_cocoapods" - "fastlane set_version" - "fastlane bump_version" -) - -if ! command -v fzf &> /dev/null; then - tput setaf 1; echo "fzf is not installed."; tput sgr0 - exit 1 -fi - -local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") - -if [ -z "$command" ]; then - echo "No command selected" - exit 1 -fi - -command="bundle exec $command" -echo "\n$command\n" -eval $command - -exit 0 \ No newline at end of file diff --git a/Source/Info.plist b/Source/Info.plist deleted file mode 100644 index 69e5657..0000000 --- a/Source/Info.plist +++ /dev/null @@ -1,24 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 2.1.0 - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSHumanReadableCopyright - Copyright © 2018 Gumob. All rights reserved. - - diff --git a/TLDExtract.podspec b/TLDExtract.podspec index 874abd3..ccc1bef 100644 --- a/TLDExtract.podspec +++ b/TLDExtract.podspec @@ -16,6 +16,6 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "11.0" s.swift_version = '5.0' - s.dependency "Punycode", "~> 2.1" + s.dependency "Punycode", "~> 3.0" end diff --git a/TLDExtract.xcodeproj/project.pbxproj b/TLDExtract.xcodeproj/project.pbxproj index 1c02493..7921afd 100644 --- a/TLDExtract.xcodeproj/project.pbxproj +++ b/TLDExtract.xcodeproj/project.pbxproj @@ -3,480 +3,217 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 56; objects = { /* Begin PBXBuildFile section */ - A720FBC921A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A720FBC821A1C47A009D1A73 /* public_suffix_list_frozen.dat */; }; - A720FBCA21A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A720FBC821A1C47A009D1A73 /* public_suffix_list_frozen.dat */; }; - A720FBCB21A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A720FBC821A1C47A009D1A73 /* public_suffix_list_frozen.dat */; }; - A7948D6E21A310E40016DFB7 /* Punycode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7948D6B21A310CE0016DFB7 /* Punycode.framework */; }; - A7948D6F21A310E60016DFB7 /* Punycode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7948D6821A310CE0016DFB7 /* Punycode.framework */; }; - A7948D7021A310E90016DFB7 /* Punycode.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7948D6421A310CE0016DFB7 /* Punycode.framework */; }; - A7A0ECE7219EB279004FBE05 /* TLDExtract.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7A0ECDD219EB279004FBE05 /* TLDExtract.framework */; }; - A7A0ED3A219EC0FD004FBE05 /* TLDExtract.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7A0ED14219EB6C8004FBE05 /* TLDExtract.framework */; }; - A7A0ED65219EC8D1004FBE05 /* TLDExtract.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7A0ED42219EC3E3004FBE05 /* TLDExtract.framework */; }; - A7A1431A219F008C003FB96A /* TLDExtractTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14318219F0075003FB96A /* TLDExtractTests.swift */; }; - A7A1431B219F008D003FB96A /* TLDExtractTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14318219F0075003FB96A /* TLDExtractTests.swift */; }; - A7A1431C219F008D003FB96A /* TLDExtractTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14318219F0075003FB96A /* TLDExtractTests.swift */; }; - A7A1432D219F00E4003FB96A /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14323219F00CA003FB96A /* Parser.swift */; }; - A7A1432E219F00E4003FB96A /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14321219F00CA003FB96A /* TLDExtract.swift */; }; - A7A14334219F00F3003FB96A /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14323219F00CA003FB96A /* Parser.swift */; }; - A7A14335219F00F3003FB96A /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14321219F00CA003FB96A /* TLDExtract.swift */; }; - A7A1433B219F00F4003FB96A /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14323219F00CA003FB96A /* Parser.swift */; }; - A7A1433C219F00F4003FB96A /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A14321219F00CA003FB96A /* TLDExtract.swift */; }; - A7A1433D219F011F003FB96A /* TLDExtract.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A14326219F00CA003FB96A /* TLDExtract.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7A1433E219F0120003FB96A /* TLDExtract.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A14326219F00CA003FB96A /* TLDExtract.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7A1433F219F0121003FB96A /* TLDExtract.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A14326219F00CA003FB96A /* TLDExtract.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7A14342219F0176003FB96A /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7A14341219F0176003FB96A /* public_suffix_list.dat */; }; - A7A14343219F0176003FB96A /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7A14341219F0176003FB96A /* public_suffix_list.dat */; }; - A7A14344219F0176003FB96A /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7A14341219F0176003FB96A /* public_suffix_list.dat */; }; - DFABE00D3E5627088CF1A8CA /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE00150DE2E3DAB4AD335 /* TLDExtractError.swift */; }; - DFABE436F8F95492E8B44A9D /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE78E1232DC989B13A5AD /* Model.swift */; }; - DFABE4A957FD77C74234E72F /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE78E1232DC989B13A5AD /* Model.swift */; }; - DFABE7F5DC38A132A5C60428 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE00150DE2E3DAB4AD335 /* TLDExtractError.swift */; }; - DFABE862E83374564094A278 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE78E1232DC989B13A5AD /* Model.swift */; }; - DFABEB1EBAC873A14967945C /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE24C2B53C4305AAE373D /* Extension.swift */; }; - DFABEB7A8BFA160D17EFA477 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE24C2B53C4305AAE373D /* Extension.swift */; }; - DFABEDE9FA876580FE136AB7 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE24C2B53C4305AAE373D /* Extension.swift */; }; - DFABEE33046A1A165DAC85D8 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = DFABE00150DE2E3DAB4AD335 /* TLDExtractError.swift */; }; + A7450B1A2C7AF9CE00D659D7 /* TLDExtract.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */; }; + A7450B322C7AFA2B00D659D7 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B292C7AFA2B00D659D7 /* Extension.swift */; }; + A7450B342C7AFA2B00D659D7 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2B2C7AFA2B00D659D7 /* Model.swift */; }; + A7450B352C7AFA2B00D659D7 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2C2C7AFA2B00D659D7 /* Parser.swift */; }; + A7450B362C7AFA2B00D659D7 /* SPMPSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */; }; + A7450B372C7AFA2B00D659D7 /* TLDExtract.h in Headers */ = {isa = PBXBuildFile; fileRef = A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A7450B382C7AFA2B00D659D7 /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */; }; + A7450B392C7AFA2B00D659D7 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */; }; + A7450B3E2C7AFA4100D659D7 /* TLDExtractTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */; }; + A7450B442C7B05EF00D659D7 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */; }; + A7450B452C7B05EF00D659D7 /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - A7A0ECE8219EB279004FBE05 /* PBXContainerItemProxy */ = { + A7450B1B2C7AF9CE00D659D7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A7A0ECD4219EB279004FBE05 /* Project object */; + containerPortal = A7450B082C7AF9CD00D659D7 /* Project object */; proxyType = 1; - remoteGlobalIDString = A7A0ECDC219EB279004FBE05; + remoteGlobalIDString = A7450B102C7AF9CE00D659D7; remoteInfo = TLDExtract; }; - A7A0ED1E219EB6C9004FBE05 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A7A0ECD4219EB279004FBE05 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A7A0ED13219EB6C8004FBE05; - remoteInfo = "TLDExtract-macOS"; - }; - A7A0ED4C219EC3E3004FBE05 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = A7A0ECD4219EB279004FBE05 /* Project object */; - proxyType = 1; - remoteGlobalIDString = A7A0ED41219EC3E3004FBE05; - remoteInfo = "TLDExtract-tvOS"; - }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - A720FBC821A1C47A009D1A73 /* public_suffix_list_frozen.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list_frozen.dat; sourceTree = ""; }; - A7948D6421A310CE0016DFB7 /* Punycode.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Punycode.framework; sourceTree = ""; }; - A7948D6821A310CE0016DFB7 /* Punycode.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Punycode.framework; sourceTree = ""; }; - A7948D6B21A310CE0016DFB7 /* Punycode.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Punycode.framework; sourceTree = ""; }; - A7A0ECDD219EB279004FBE05 /* TLDExtract.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtract.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A0ECE6219EB279004FBE05 /* TLDExtract-iOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "TLDExtract-iOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A0ED14219EB6C8004FBE05 /* TLDExtract.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtract.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A0ED1C219EB6C9004FBE05 /* TLDExtract-macOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "TLDExtract-macOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A0ED42219EC3E3004FBE05 /* TLDExtract.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtract.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A0ED4A219EC3E3004FBE05 /* TLDExtract-tvOSTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "TLDExtract-tvOSTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - A7A14318219F0075003FB96A /* TLDExtractTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TLDExtractTests.swift; sourceTree = ""; }; - A7A14319219F0075003FB96A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A7A14321219F00CA003FB96A /* TLDExtract.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TLDExtract.swift; sourceTree = ""; }; - A7A14323219F00CA003FB96A /* Parser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - A7A14326219F00CA003FB96A /* TLDExtract.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TLDExtract.h; sourceTree = ""; }; - A7A14327219F00CA003FB96A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - A7A14341219F0176003FB96A /* public_suffix_list.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list.dat; sourceTree = ""; }; - DFABE00150DE2E3DAB4AD335 /* TLDExtractError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractError.swift; sourceTree = ""; }; - DFABE24C2B53C4305AAE373D /* Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; - DFABE78E1232DC989B13A5AD /* Model.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; + A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtract.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TLDExtractTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A7450B292C7AFA2B00D659D7 /* Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; + A7450B2B2C7AFA2B00D659D7 /* Model.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; + A7450B2C2C7AFA2B00D659D7 /* Parser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SPMPSL.swift; sourceTree = ""; }; + A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TLDExtract.h; sourceTree = ""; }; + A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtract.swift; sourceTree = ""; }; + A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractError.swift; sourceTree = ""; }; + A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractTests.swift; sourceTree = ""; }; + A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list_frozen.dat; sourceTree = ""; }; + A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list.dat; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - A7A0ECDA219EB279004FBE05 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A7948D6E21A310E40016DFB7 /* Punycode.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ECE3219EB279004FBE05 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A0ECE7219EB279004FBE05 /* TLDExtract.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED11219EB6C8004FBE05 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A7948D6F21A310E60016DFB7 /* Punycode.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED19219EB6C9004FBE05 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A0ED3A219EC0FD004FBE05 /* TLDExtract.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED3F219EC3E3004FBE05 /* Frameworks */ = { + A7450B0E2C7AF9CE00D659D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7948D7021A310E90016DFB7 /* Punycode.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7A0ED47219EC3E3004FBE05 /* Frameworks */ = { + A7450B162C7AF9CE00D659D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7A0ED65219EC8D1004FBE05 /* TLDExtract.framework in Frameworks */, + A7450B1A2C7AF9CE00D659D7 /* TLDExtract.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - A7948D6221A310CE0016DFB7 /* tvOS */ = { - isa = PBXGroup; - children = ( - A7948D6421A310CE0016DFB7 /* Punycode.framework */, - ); - name = tvOS; - path = Carthage/Build/tvOS; - sourceTree = ""; - }; - A7948D6621A310CE0016DFB7 /* Mac */ = { + A7450B072C7AF9CD00D659D7 = { isa = PBXGroup; children = ( - A7948D6821A310CE0016DFB7 /* Punycode.framework */, + A7450B312C7AFA2B00D659D7 /* Source */, + A7450B3C2C7AFA4100D659D7 /* Tests */, + A7450B432C7B05EF00D659D7 /* Resources */, + A7450B122C7AF9CE00D659D7 /* Products */, ); - name = Mac; - path = Carthage/Build/Mac; sourceTree = ""; }; - A7948D6921A310CE0016DFB7 /* iOS */ = { + A7450B122C7AF9CE00D659D7 /* Products */ = { isa = PBXGroup; children = ( - A7948D6B21A310CE0016DFB7 /* Punycode.framework */, - ); - name = iOS; - path = Carthage/Build/iOS; - sourceTree = ""; - }; - A7A0ECD3219EB279004FBE05 = { - isa = PBXGroup; - children = ( - A7A1431D219F00CA003FB96A /* Source */, - A7A14317219F0075003FB96A /* Tests */, - A7A14340219F0176003FB96A /* Resources */, - A7A0ECDE219EB279004FBE05 /* Products */, - A7A0ED36219EB9FD004FBE05 /* Frameworks */, - ); - sourceTree = ""; - }; - A7A0ECDE219EB279004FBE05 /* Products */ = { - isa = PBXGroup; - children = ( - A7A0ECDD219EB279004FBE05 /* TLDExtract.framework */, - A7A0ECE6219EB279004FBE05 /* TLDExtract-iOSTests.xctest */, - A7A0ED14219EB6C8004FBE05 /* TLDExtract.framework */, - A7A0ED1C219EB6C9004FBE05 /* TLDExtract-macOSTests.xctest */, - A7A0ED42219EC3E3004FBE05 /* TLDExtract.framework */, - A7A0ED4A219EC3E3004FBE05 /* TLDExtract-tvOSTests.xctest */, + A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */, + A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */, ); name = Products; sourceTree = ""; }; - A7A0ED36219EB9FD004FBE05 /* Frameworks */ = { + A7450B312C7AFA2B00D659D7 /* Source */ = { isa = PBXGroup; children = ( - A7948D6921A310CE0016DFB7 /* iOS */, - A7948D6621A310CE0016DFB7 /* Mac */, - A7948D6221A310CE0016DFB7 /* tvOS */, + A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */, + A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */, + A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */, + A7450B292C7AFA2B00D659D7 /* Extension.swift */, + A7450B2B2C7AFA2B00D659D7 /* Model.swift */, + A7450B2C2C7AFA2B00D659D7 /* Parser.swift */, + A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */, ); - name = Frameworks; + path = Source; sourceTree = ""; }; - A7A14317219F0075003FB96A /* Tests */ = { + A7450B3C2C7AFA4100D659D7 /* Tests */ = { isa = PBXGroup; children = ( - A7A14319219F0075003FB96A /* Info.plist */, - A7A14318219F0075003FB96A /* TLDExtractTests.swift */, + A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */, ); path = Tests; sourceTree = ""; }; - A7A1431D219F00CA003FB96A /* Source */ = { - isa = PBXGroup; - children = ( - A7A14327219F00CA003FB96A /* Info.plist */, - A7A14326219F00CA003FB96A /* TLDExtract.h */, - A7A14321219F00CA003FB96A /* TLDExtract.swift */, - DFABE00150DE2E3DAB4AD335 /* TLDExtractError.swift */, - A7A14323219F00CA003FB96A /* Parser.swift */, - DFABE78E1232DC989B13A5AD /* Model.swift */, - DFABE24C2B53C4305AAE373D /* Extension.swift */, - ); - path = Source; - sourceTree = ""; - }; - A7A14340219F0176003FB96A /* Resources */ = { + A7450B432C7B05EF00D659D7 /* Resources */ = { isa = PBXGroup; children = ( - A7A14341219F0176003FB96A /* public_suffix_list.dat */, - A720FBC821A1C47A009D1A73 /* public_suffix_list_frozen.dat */, + A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */, + A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */, ); path = Resources; - sourceTree = ""; + sourceTree = SOURCE_ROOT; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - A7A0ECD8219EB279004FBE05 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1433D219F011F003FB96A /* TLDExtract.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED0F219EB6C8004FBE05 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1433E219F0120003FB96A /* TLDExtract.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED3D219EC3E3004FBE05 /* Headers */ = { + A7450B0C2C7AF9CE00D659D7 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A7A1433F219F0121003FB96A /* TLDExtract.h in Headers */, + A7450B372C7AFA2B00D659D7 /* TLDExtract.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - A7A0ECDC219EB279004FBE05 /* TLDExtract-iOS */ = { + A7450B102C7AF9CE00D659D7 /* TLDExtract */ = { isa = PBXNativeTarget; - buildConfigurationList = A7A0ECF1219EB279004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-iOS" */; + buildConfigurationList = A7450B232C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtract" */; buildPhases = ( - A7A0ED0E219EB3AD004FBE05 /* Update Public Suffix List */, - A7A0ECD8219EB279004FBE05 /* Headers */, - A7A0ECD9219EB279004FBE05 /* Sources */, - A7A0ECDA219EB279004FBE05 /* Frameworks */, - A7A0ECDB219EB279004FBE05 /* Resources */, + A7450B3F2C7B012900D659D7 /* ShellScript */, + A7450B0C2C7AF9CE00D659D7 /* Headers */, + A7450B0D2C7AF9CE00D659D7 /* Sources */, + A7450B0E2C7AF9CE00D659D7 /* Frameworks */, + A7450B0F2C7AF9CE00D659D7 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = "TLDExtract-iOS"; + name = TLDExtract; productName = TLDExtract; - productReference = A7A0ECDD219EB279004FBE05 /* TLDExtract.framework */; + productReference = A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */; productType = "com.apple.product-type.framework"; }; - A7A0ECE5219EB279004FBE05 /* TLDExtract-iOSTests */ = { + A7450B182C7AF9CE00D659D7 /* TLDExtractTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A7A0ECF4219EB279004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-iOSTests" */; + buildConfigurationList = A7450B262C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractTests" */; buildPhases = ( - A7A0ECE2219EB279004FBE05 /* Sources */, - A7A0ECE3219EB279004FBE05 /* Frameworks */, - A7A0ECE4219EB279004FBE05 /* Resources */, - A7948D7121A32A990016DFB7 /* Copy Carthage Frameworks */, + A7450B152C7AF9CE00D659D7 /* Sources */, + A7450B162C7AF9CE00D659D7 /* Frameworks */, + A7450B172C7AF9CE00D659D7 /* Resources */, + A7450B402C7B019D00D659D7 /* Copy Carthage Frameworks */, ); buildRules = ( ); dependencies = ( - A7A0ECE9219EB279004FBE05 /* PBXTargetDependency */, + A7450B1C2C7AF9CE00D659D7 /* PBXTargetDependency */, ); - name = "TLDExtract-iOSTests"; + name = TLDExtractTests; productName = TLDExtractTests; - productReference = A7A0ECE6219EB279004FBE05 /* TLDExtract-iOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - A7A0ED13219EB6C8004FBE05 /* TLDExtract-macOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = A7A0ED25219EB6C9004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-macOS" */; - buildPhases = ( - A7A0ED63219EC891004FBE05 /* Update Public Suffix List */, - A7A0ED0F219EB6C8004FBE05 /* Headers */, - A7A0ED10219EB6C8004FBE05 /* Sources */, - A7A0ED11219EB6C8004FBE05 /* Frameworks */, - A7A0ED12219EB6C8004FBE05 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "TLDExtract-macOS"; - productName = "TLDExtract-macOS"; - productReference = A7A0ED14219EB6C8004FBE05 /* TLDExtract.framework */; - productType = "com.apple.product-type.framework"; - }; - A7A0ED1B219EB6C9004FBE05 /* TLDExtract-macOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A7A0ED28219EB6C9004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-macOSTests" */; - buildPhases = ( - A7A0ED18219EB6C9004FBE05 /* Sources */, - A7A0ED19219EB6C9004FBE05 /* Frameworks */, - A7A0ED1A219EB6C9004FBE05 /* Resources */, - A7948D7221A32ADA0016DFB7 /* Copy Carthage Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - A7A0ED1F219EB6C9004FBE05 /* PBXTargetDependency */, - ); - name = "TLDExtract-macOSTests"; - productName = "TLDExtract-macOSTests"; - productReference = A7A0ED1C219EB6C9004FBE05 /* TLDExtract-macOSTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - A7A0ED41219EC3E3004FBE05 /* TLDExtract-tvOS */ = { - isa = PBXNativeTarget; - buildConfigurationList = A7A0ED53219EC3E3004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-tvOS" */; - buildPhases = ( - A7A0ED64219EC8A9004FBE05 /* Update Public Suffix List */, - A7A0ED3D219EC3E3004FBE05 /* Headers */, - A7A0ED3E219EC3E3004FBE05 /* Sources */, - A7A0ED3F219EC3E3004FBE05 /* Frameworks */, - A7A0ED40219EC3E3004FBE05 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = "TLDExtract-tvOS"; - productName = "TLDExtract-tvOS"; - productReference = A7A0ED42219EC3E3004FBE05 /* TLDExtract.framework */; - productType = "com.apple.product-type.framework"; - }; - A7A0ED49219EC3E3004FBE05 /* TLDExtract-tvOSTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = A7A0ED56219EC3E3004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-tvOSTests" */; - buildPhases = ( - A7A0ED46219EC3E3004FBE05 /* Sources */, - A7A0ED47219EC3E3004FBE05 /* Frameworks */, - A7A0ED48219EC3E3004FBE05 /* Resources */, - A7948D7421A32B070016DFB7 /* Copy Carthage Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - A7A0ED4D219EC3E3004FBE05 /* PBXTargetDependency */, - ); - name = "TLDExtract-tvOSTests"; - productName = "TLDExtract-tvOSTests"; - productReference = A7A0ED4A219EC3E3004FBE05 /* TLDExtract-tvOSTests.xctest */; + productReference = A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - A7A0ECD4219EB279004FBE05 /* Project object */ = { + A7450B082C7AF9CD00D659D7 /* Project object */ = { isa = PBXProject; attributes = { - BuildIndependentTargetsInParallel = YES; - LastSwiftUpdateCheck = 1010; + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1540; LastUpgradeCheck = 1540; - ORGANIZATIONNAME = Gumob; TargetAttributes = { - A7A0ECDC219EB279004FBE05 = { - CreatedOnToolsVersion = 10.1; - LastSwiftMigration = 1020; - }; - A7A0ECE5219EB279004FBE05 = { - CreatedOnToolsVersion = 10.1; - LastSwiftMigration = 1020; + A7450B102C7AF9CE00D659D7 = { + CreatedOnToolsVersion = 15.4; }; - A7A0ED13219EB6C8004FBE05 = { - CreatedOnToolsVersion = 10.1; - }; - A7A0ED1B219EB6C9004FBE05 = { - CreatedOnToolsVersion = 10.1; - }; - A7A0ED41219EC3E3004FBE05 = { - CreatedOnToolsVersion = 10.1; - }; - A7A0ED49219EC3E3004FBE05 = { - CreatedOnToolsVersion = 10.1; + A7450B182C7AF9CE00D659D7 = { + CreatedOnToolsVersion = 15.4; }; }; }; - buildConfigurationList = A7A0ECD7219EB279004FBE05 /* Build configuration list for PBXProject "TLDExtract" */; - compatibilityVersion = "Xcode 9.3"; + buildConfigurationList = A7450B0B2C7AF9CD00D659D7 /* Build configuration list for PBXProject "TLDExtract" */; + compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); - mainGroup = A7A0ECD3219EB279004FBE05; - productRefGroup = A7A0ECDE219EB279004FBE05 /* Products */; + mainGroup = A7450B072C7AF9CD00D659D7; + productRefGroup = A7450B122C7AF9CE00D659D7 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - A7A0ECDC219EB279004FBE05 /* TLDExtract-iOS */, - A7A0ECE5219EB279004FBE05 /* TLDExtract-iOSTests */, - A7A0ED13219EB6C8004FBE05 /* TLDExtract-macOS */, - A7A0ED1B219EB6C9004FBE05 /* TLDExtract-macOSTests */, - A7A0ED41219EC3E3004FBE05 /* TLDExtract-tvOS */, - A7A0ED49219EC3E3004FBE05 /* TLDExtract-tvOSTests */, + A7450B102C7AF9CE00D659D7 /* TLDExtract */, + A7450B182C7AF9CE00D659D7 /* TLDExtractTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - A7A0ECDB219EB279004FBE05 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A14342219F0176003FB96A /* public_suffix_list.dat in Resources */, - A720FBC921A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ECE4219EB279004FBE05 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED12219EB6C8004FBE05 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A14343219F0176003FB96A /* public_suffix_list.dat in Resources */, - A720FBCA21A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED1A219EB6C9004FBE05 /* Resources */ = { + A7450B0F2C7AF9CE00D659D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + A7450B442C7B05EF00D659D7 /* public_suffix_list_frozen.dat in Resources */, + A7450B452C7B05EF00D659D7 /* public_suffix_list.dat in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7A0ED40219EC3E3004FBE05 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A14344219F0176003FB96A /* public_suffix_list.dat in Resources */, - A720FBCB21A1C47A009D1A73 /* public_suffix_list_frozen.dat in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED48219EC3E3004FBE05 /* Resources */ = { + A7450B172C7AF9CE00D659D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -486,26 +223,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - A7948D7121A32A990016DFB7 /* Copy Carthage Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/Punycode.framework", - ); - name = "Copy Carthage Frameworks"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; - }; - A7948D7221A32ADA0016DFB7 /* Copy Carthage Frameworks */ = { + A7450B3F2C7B012900D659D7 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -513,18 +231,16 @@ inputFileListPaths = ( ); inputPaths = ( - "$(SRCROOT)/Carthage/Build/Mac/Punycode.framework", ); - name = "Copy Carthage Frameworks"; outputFileListPaths = ( ); outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/zsh; - shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; + shellScript = "source .venv/bin/activate\n.venv/bin/python ./update-psl.py\n"; }; - A7948D7421A32B070016DFB7 /* Copy Carthage Frameworks */ = { + A7450B402C7B019D00D659D7 /* Copy Carthage Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -532,7 +248,7 @@ inputFileListPaths = ( ); inputPaths = ( - "$(SRCROOT)/Carthage/Build/tvOS/Punycode.framework", + "$(SRCROOT)/Carthage/Build/iOS/Punycode.framework", ); name = "Copy Carthage Frameworks"; outputFileListPaths = ( @@ -543,155 +259,49 @@ shellPath = /bin/zsh; shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; }; - A7A0ED0E219EB3AD004FBE05 /* Update Public Suffix List */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Update Public Suffix List"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; - }; - A7A0ED63219EC891004FBE05 /* Update Public Suffix List */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Update Public Suffix List"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; - }; - A7A0ED64219EC8A9004FBE05 /* Update Public Suffix List */ = { - isa = PBXShellScriptBuildPhase; - alwaysOutOfDate = 1; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - ); - name = "Update Public Suffix List"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "source .venv/bin/activate\n.venv/bin/python ./Scripts/update-psl.py\n"; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - A7A0ECD9219EB279004FBE05 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1432D219F00E4003FB96A /* Parser.swift in Sources */, - A7A1432E219F00E4003FB96A /* TLDExtract.swift in Sources */, - DFABEE33046A1A165DAC85D8 /* TLDExtractError.swift in Sources */, - DFABE862E83374564094A278 /* Model.swift in Sources */, - DFABEB7A8BFA160D17EFA477 /* Extension.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ECE2219EB279004FBE05 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1431A219F008C003FB96A /* TLDExtractTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED10219EB6C8004FBE05 /* Sources */ = { + A7450B0D2C7AF9CE00D659D7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7A14334219F00F3003FB96A /* Parser.swift in Sources */, - A7A14335219F00F3003FB96A /* TLDExtract.swift in Sources */, - DFABE7F5DC38A132A5C60428 /* TLDExtractError.swift in Sources */, - DFABE436F8F95492E8B44A9D /* Model.swift in Sources */, - DFABEDE9FA876580FE136AB7 /* Extension.swift in Sources */, + A7450B382C7AFA2B00D659D7 /* TLDExtract.swift in Sources */, + A7450B392C7AFA2B00D659D7 /* TLDExtractError.swift in Sources */, + A7450B322C7AFA2B00D659D7 /* Extension.swift in Sources */, + A7450B342C7AFA2B00D659D7 /* Model.swift in Sources */, + A7450B352C7AFA2B00D659D7 /* Parser.swift in Sources */, + A7450B362C7AFA2B00D659D7 /* SPMPSL.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7A0ED18219EB6C9004FBE05 /* Sources */ = { + A7450B152C7AF9CE00D659D7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7A1431B219F008D003FB96A /* TLDExtractTests.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED3E219EC3E3004FBE05 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1433B219F00F4003FB96A /* Parser.swift in Sources */, - A7A1433C219F00F4003FB96A /* TLDExtract.swift in Sources */, - DFABE00D3E5627088CF1A8CA /* TLDExtractError.swift in Sources */, - DFABE4A957FD77C74234E72F /* Model.swift in Sources */, - DFABEB1EBAC873A14967945C /* Extension.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - A7A0ED46219EC3E3004FBE05 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - A7A1431C219F008D003FB96A /* TLDExtractTests.swift in Sources */, + A7450B3E2C7AFA4100D659D7 /* TLDExtractTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - A7A0ECE9219EB279004FBE05 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A7A0ECDC219EB279004FBE05 /* TLDExtract-iOS */; - targetProxy = A7A0ECE8219EB279004FBE05 /* PBXContainerItemProxy */; - }; - A7A0ED1F219EB6C9004FBE05 /* PBXTargetDependency */ = { + A7450B1C2C7AF9CE00D659D7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A7A0ED13219EB6C8004FBE05 /* TLDExtract-macOS */; - targetProxy = A7A0ED1E219EB6C9004FBE05 /* PBXContainerItemProxy */; - }; - A7A0ED4D219EC3E3004FBE05 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = A7A0ED41219EC3E3004FBE05 /* TLDExtract-tvOS */; - targetProxy = A7A0ED4C219EC3E3004FBE05 /* PBXContainerItemProxy */; + target = A7450B102C7AF9CE00D659D7 /* TLDExtract */; + targetProxy = A7450B1B2C7AF9CE00D659D7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - A7A0ECEF219EB279004FBE05 /* Debug */ = { + A7450B212C7AF9CE00D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -717,15 +327,13 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - EXCLUDED_ARCHS = arm64; - GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_DYNAMIC_NO_PIC = NO; GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; @@ -740,26 +348,29 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACOSX_DEPLOYMENT_TARGET = 10.12; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; + WATCHOS_DEPLOYMENT_TARGET = 4.0; + XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; - A7A0ECF0219EB279004FBE05 /* Release */ = { + A7450B222C7AF9CE00D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; - CLANG_CXX_LIBRARY = "libc++"; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_ENABLE_OBJC_WEAK = YES; @@ -785,15 +396,13 @@ CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGN_IDENTITY = ""; COPY_PHASE_STRIP = NO; CURRENT_PROJECT_VERSION = 1; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_USER_SCRIPT_SANDBOXING = NO; - EXCLUDED_ARCHS = arm64; - GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_C_LANGUAGE_STANDARD = gnu17; GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -802,429 +411,159 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - MACOSX_DEPLOYMENT_TARGET = 10.12; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MACOSX_DEPLOYMENT_TARGET = 10.13; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; - SDKROOT = iphoneos; SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; - VALIDATE_PRODUCT = YES; + TVOS_DEPLOYMENT_TARGET = 12.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - A7A0ECF2219EB279004FBE05 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - A7A0ECF3219EB279004FBE05 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ENABLE_MODULES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Release; - }; - A7A0ECF5219EB279004FBE05 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-iOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - A7A0ECF6219EB279004FBE05 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/iOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-iOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - TVOS_DEPLOYMENT_TARGET = 12.0; WATCHOS_DEPLOYMENT_TARGET = 4.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; - A7A0ED26219EB6C9004FBE05 /* Debug */ = { + A7450B242C7AF9CE00D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEAD_CODE_STRIPPING = YES; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", + "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - A7A0ED27219EB6C9004FBE05 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - COMBINE_HIDPI_IMAGES = YES; - DEAD_CODE_STRIPPING = YES; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - FRAMEWORK_VERSION = A; - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( "@executable_path/../Frameworks", "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Release; - }; - A7A0ED29219EB6C9004FBE05 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; TVOS_DEPLOYMENT_TARGET = 12.0; WATCHOS_DEPLOYMENT_TARGET = 4.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; - A7A0ED2A219EB6C9004FBE05 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - COMBINE_HIDPI_IMAGES = YES; - DEAD_CODE_STRIPPING = YES; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/Mac", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/../Frameworks", - "@loader_path/../Frameworks", - ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-macOSTests"; - PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = macosx; - SWIFT_VERSION = 5.0; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Release; - }; - A7A0ED54219EC3E3004FBE05 /* Debug */ = { + A7450B252C7AF9CE00D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { - CODE_SIGN_IDENTITY = ""; + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = ""; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 12.0; LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 12.0; - WATCHOS_DEPLOYMENT_TARGET = 4.0; - XROS_DEPLOYMENT_TARGET = 1.0; - }; - name = Debug; - }; - A7A0ED55219EC3E3004FBE05 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Automatic; - DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = ""; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_MODULE_VERIFIER = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", + "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = ( + "@executable_path/../Frameworks", "@loader_path/Frameworks", ); MACOSX_DEPLOYMENT_TARGET = 10.13; - MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu11 gnu++14"; + MARKETING_VERSION = 1.0; + MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; + MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; - PRODUCT_NAME = "$(PROJECT_NAME:c99extidentifier)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = auto; SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_INSTALL_OBJC_HEADER = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; TVOS_DEPLOYMENT_TARGET = 12.0; WATCHOS_DEPLOYMENT_TARGET = 4.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Release; }; - A7A0ED57219EC3E3004FBE05 /* Debug */ = { + A7450B272C7AF9CE00D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-tvOSTests"; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractTests; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; TVOS_DEPLOYMENT_TARGET = 12.0; WATCHOS_DEPLOYMENT_TARGET = 4.0; XROS_DEPLOYMENT_TARGET = 1.0; }; name = Debug; }; - A7A0ED58219EC3E3004FBE05 /* Release */ = { + A7450B282C7AF9CE00D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Manual; - DEVELOPMENT_TEAM = ""; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(PROJECT_DIR)/Carthage/Build/tvOS", - ); - INFOPLIST_FILE = "$(SRCROOT)/Tests/Info.plist"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; IPHONEOS_DEPLOYMENT_TARGET = 12.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); MACOSX_DEPLOYMENT_TARGET = 10.13; - PRODUCT_BUNDLE_IDENTIFIER = "com.gumob.TLDExtract-tvOSTests"; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractTests; PRODUCT_NAME = "$(TARGET_NAME)"; - PROVISIONING_PROFILE_SPECIFIER = ""; - SDKROOT = appletvos; + SDKROOT = auto; + SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; + SUPPORTS_MACCATALYST = YES; + SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = YES; + SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = YES; + SWIFT_EMIT_LOC_STRINGS = NO; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = 3; + TARGETED_DEVICE_FAMILY = "1,2,3,4,7"; TVOS_DEPLOYMENT_TARGET = 12.0; WATCHOS_DEPLOYMENT_TARGET = 4.0; XROS_DEPLOYMENT_TARGET = 1.0; @@ -1234,70 +573,34 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - A7A0ECD7219EB279004FBE05 /* Build configuration list for PBXProject "TLDExtract" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A7A0ECEF219EB279004FBE05 /* Debug */, - A7A0ECF0219EB279004FBE05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A7A0ECF1219EB279004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-iOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A7A0ECF2219EB279004FBE05 /* Debug */, - A7A0ECF3219EB279004FBE05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A7A0ECF4219EB279004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-iOSTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A7A0ECF5219EB279004FBE05 /* Debug */, - A7A0ECF6219EB279004FBE05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A7A0ED25219EB6C9004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-macOS" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - A7A0ED26219EB6C9004FBE05 /* Debug */, - A7A0ED27219EB6C9004FBE05 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - A7A0ED28219EB6C9004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-macOSTests" */ = { + A7450B0B2C7AF9CD00D659D7 /* Build configuration list for PBXProject "TLDExtract" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7A0ED29219EB6C9004FBE05 /* Debug */, - A7A0ED2A219EB6C9004FBE05 /* Release */, + A7450B212C7AF9CE00D659D7 /* Debug */, + A7450B222C7AF9CE00D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7A0ED53219EC3E3004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-tvOS" */ = { + A7450B232C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtract" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7A0ED54219EC3E3004FBE05 /* Debug */, - A7A0ED55219EC3E3004FBE05 /* Release */, + A7450B242C7AF9CE00D659D7 /* Debug */, + A7450B252C7AF9CE00D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7A0ED56219EC3E3004FBE05 /* Build configuration list for PBXNativeTarget "TLDExtract-tvOSTests" */ = { + A7450B262C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7A0ED57219EC3E3004FBE05 /* Debug */, - A7A0ED58219EC3E3004FBE05 /* Release */, + A7450B272C7AF9CE00D659D7 /* Debug */, + A7450B282C7AF9CE00D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = A7A0ECD4219EB279004FBE05 /* Project object */; + rootObject = A7450B082C7AF9CD00D659D7 /* Project object */; } diff --git a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-macOS.xcscheme b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-macOS.xcscheme deleted file mode 100644 index 5aac298..0000000 --- a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-macOS.xcscheme +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-tvOS.xcscheme b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-tvOS.xcscheme deleted file mode 100644 index fd3a46e..0000000 --- a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-tvOS.xcscheme +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme similarity index 57% rename from TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme rename to TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme index 9c42a79..438a6c1 100644 --- a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract-iOS.xcscheme +++ b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme @@ -1,10 +1,11 @@ + version = "1.7"> + buildImplicitDependencies = "YES" + buildArchitectures = "Automatic"> @@ -27,34 +28,16 @@ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "YES" - codeCoverageEnabled = "YES" - onlyGenerateCoverageForSpecifiedTargets = "YES"> - - - - - - - - + shouldAutocreateTestPlan = "YES"> + skipped = "NO" + parallelizable = "YES"> @@ -70,15 +53,6 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> - - - - diff --git a/Tests/Info.plist b/Tests/Info.plist deleted file mode 100644 index 9366bbb..0000000 --- a/Tests/Info.plist +++ /dev/null @@ -1,22 +0,0 @@ - - - - - CFBundleDevelopmentRegion - $(DEVELOPMENT_LANGUAGE) - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - BNDL - CFBundleShortVersionString - 2.1.0 - CFBundleVersion - 1 - - diff --git a/run.sh b/run.sh new file mode 100755 index 0000000..89001bf --- /dev/null +++ b/run.sh @@ -0,0 +1,62 @@ +#!/bin/zsh + +# Check if the 'fzf' command is available in the system +if ! command -v fzf &> /dev/null; then + tput setaf 1; echo "fzf is not installed."; tput sgr0 + exit 1 +fi + +local option_list=( + "clean" + " " + "carthage update" + " " + "pod cache clean --all" + " " + "python update-psl.py" + " " + "fastlane prebuild" + "fastlane test_all" + "fastlane build_spm" + "fastlane build_carthage" + "fastlane lint_cocoapods" + "fastlane push_cocoapods" + "fastlane set_version" + "fastlane bump_version" + " " + "gem install bundler" + "gem update bundler" + "bundle install" + "bundle update" + "bundle list" + "bundle outdated" + "bundle clean" +) + +local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") + +case "$command" in + "") echo "No command selected" &&exit 1;; + clean) command="xcodebuild clean;" + command+="xcodebuild -alltargets clean;" + command+="xcrun --kill-cache;" + command+="xcrun simctl erase all;" + command+="rm -rf ~/Library/Developer/Xcode/DerivedData/;" + ;; + "clean all") : ;; + carthage*) command="carthage update --platform macos;" + command+="carthage update --platform ios;" + command+="carthage update --platform tvos;" + command+="carthage update --platform watchos;" + command+="carthage update --platform visionos;" + ;; + python*) : ;; + fastlane*) command="bundle exec $command";; + bundle*) bundle config set --local clean 'true' && bundle config set --local path '.bundle' ;; +esac + +# command="bundle exec $command" +echo "\n$command\n" +eval $command + +exit 0 \ No newline at end of file diff --git a/Scripts/update-psl.py b/update-psl.py similarity index 96% rename from Scripts/update-psl.py rename to update-psl.py index 0d59122..2492855 100644 --- a/Scripts/update-psl.py +++ b/update-psl.py @@ -8,7 +8,7 @@ if __name__ == '__main__': # Variables - src_dir = os.path.dirname(os.path.abspath(os.path.join(__file__, '..'))) + src_dir = os.path.dirname(os.path.abspath(__file__)) psl_file = os.path.abspath(os.path.join(src_dir, 'Resources/public_suffix_list.dat')) psl_url = 'https://publicsuffix.org/list/public_suffix_list.dat' From 5a3840a5e453d53f1c99f361b507887ecaf0e60b Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 16:29:01 +0900 Subject: [PATCH 03/33] build: Update TLDExtract Swift library to version 3.0.0, adding support for watchOS and visionOS platforms. --- TLDExtract.podspec | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/TLDExtract.podspec b/TLDExtract.podspec index ccc1bef..9992d63 100644 --- a/TLDExtract.podspec +++ b/TLDExtract.podspec @@ -1,20 +1,22 @@ Pod::Spec.new do |s| - s.name = "TLDExtract" - s.version = "2.1.0" - s.summary = "A Pure Swift library for extracting TLD supporting iOS, macOS, and tvOS." - s.homepage = "https://github.com/gumob/TLDExtractSwift" - s.license = { :type => "MIT", :file => "LICENSE" } - s.author = { "gumob" => "hello@gumob.com" } - s.frameworks = 'Foundation' - s.requires_arc = true - s.source = { :git => "https://github.com/gumob/TLDExtractSwift.git", :tag => "#{s.version}" } - s.source_files = "Source/*.{swift}" - s.resources = "Resources/*.dat" - s.ios.deployment_target = "10.0" - s.osx.deployment_target = "10.12" - s.tvos.deployment_target = "11.0" - s.swift_version = '5.0' + s.name = "TLDExtract" + s.version = "3.0.0" + s.summary = "A Pure Swift library for extracting TLD supporting macOS, iOS, tvOS, watchOS, and visionOS." + s.homepage = "https://github.com/gumob/TLDExtractSwift" + s.license = { :type => "MIT", :file => "LICENSE" } + s.author = { "gumob" => "gumob.dev@gmail.com" } + s.frameworks = 'Foundation' + s.requires_arc = true + s.source = { :git => "https://github.com/gumob/TLDExtractSwift.git", :tag => "#{s.version}" } + s.source_files = "Source/*.{swift}" + s.resources = "Resources/*.dat" + s.osx.deployment_target = "10.13" + s.ios.deployment_target = "12.0" + s.tvos.deployment_target = "12.0" + s.watchos.deployment_target = "4.0" + s.visionos.deployment_target = "1.0" + s.swift_version = '5.0' s.dependency "Punycode", "~> 3.0" From 8dbdd9849dd2f71c9eaacce7596cde8d25298420 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 16:42:43 +0900 Subject: [PATCH 04/33] build: Change run script name --- TLDExtract.xcodeproj/project.pbxproj | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/TLDExtract.xcodeproj/project.pbxproj b/TLDExtract.xcodeproj/project.pbxproj index 7921afd..316dbcd 100644 --- a/TLDExtract.xcodeproj/project.pbxproj +++ b/TLDExtract.xcodeproj/project.pbxproj @@ -132,7 +132,7 @@ isa = PBXNativeTarget; buildConfigurationList = A7450B232C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtract" */; buildPhases = ( - A7450B3F2C7B012900D659D7 /* ShellScript */, + A7450B3F2C7B012900D659D7 /* Update Public Suffix List */, A7450B0C2C7AF9CE00D659D7 /* Headers */, A7450B0D2C7AF9CE00D659D7 /* Sources */, A7450B0E2C7AF9CE00D659D7 /* Frameworks */, @@ -223,7 +223,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - A7450B3F2C7B012900D659D7 /* ShellScript */ = { + A7450B3F2C7B012900D659D7 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -232,6 +232,7 @@ ); inputPaths = ( ); + name = "Update Public Suffix List"; outputFileListPaths = ( ); outputPaths = ( @@ -257,7 +258,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/zsh; - shellScript = "/opt/homebrew/bin/carthage copy-frameworks\n"; + shellScript = "# /opt/homebrew/bin/carthage copy-frameworks\n"; }; /* End PBXShellScriptBuildPhase section */ From 9f1958ae02d186fb90f8711639ff9b59598ac44b Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 16:58:56 +0900 Subject: [PATCH 05/33] build: Fixed a issue that prevented building projects with Xcode 15.4 in arm64 environment. --- Source/TLDExtract.h | 17 -- Source/TLDExtractSwift.h | 18 ++ .../xcschemes/TLDExtract.xcscheme | 80 ------ .../project.pbxproj | 258 ++++++++---------- ...Tests.swift => TLDExtractSwiftTests.swift} | 11 +- 5 files changed, 142 insertions(+), 242 deletions(-) delete mode 100644 Source/TLDExtract.h create mode 100644 Source/TLDExtractSwift.h delete mode 100644 TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme rename {TLDExtract.xcodeproj => TLDExtractSwift.xcodeproj}/project.pbxproj (64%) rename Tests/{TLDExtractTests.swift => TLDExtractSwiftTests.swift} (99%) diff --git a/Source/TLDExtract.h b/Source/TLDExtract.h deleted file mode 100644 index c35725b..0000000 --- a/Source/TLDExtract.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// TLDExtract.h -// TLDExtract -// -// Created by kojirof on 2018/11/16. -// Copyright © 2018 Gumob. All rights reserved. -// - -#import - -//! Project version number for TLDExtract. -FOUNDATION_EXPORT double TLDExtractVersionNumber; - -//! Project version string for TLDExtract. -FOUNDATION_EXPORT const unsigned char TLDExtractVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Source/TLDExtractSwift.h b/Source/TLDExtractSwift.h new file mode 100644 index 0000000..d2c97e2 --- /dev/null +++ b/Source/TLDExtractSwift.h @@ -0,0 +1,18 @@ +// +// TLDExtractSwift.h +// TLDExtractSwift +// +// Created by Kojiro Futamura on 2024/08/25. +// + +#import + +//! Project version number for TLDExtractSwift. +FOUNDATION_EXPORT double TLDExtractSwiftVersionNumber; + +//! Project version string for TLDExtractSwift. +FOUNDATION_EXPORT const unsigned char TLDExtractSwiftVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import + + diff --git a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme b/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme deleted file mode 100644 index 438a6c1..0000000 --- a/TLDExtract.xcodeproj/xcshareddata/xcschemes/TLDExtract.xcscheme +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TLDExtract.xcodeproj/project.pbxproj b/TLDExtractSwift.xcodeproj/project.pbxproj similarity index 64% rename from TLDExtract.xcodeproj/project.pbxproj rename to TLDExtractSwift.xcodeproj/project.pbxproj index 316dbcd..4b03dc4 100644 --- a/TLDExtract.xcodeproj/project.pbxproj +++ b/TLDExtractSwift.xcodeproj/project.pbxproj @@ -7,184 +7,183 @@ objects = { /* Begin PBXBuildFile section */ - A7450B1A2C7AF9CE00D659D7 /* TLDExtract.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */; }; - A7450B322C7AFA2B00D659D7 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B292C7AFA2B00D659D7 /* Extension.swift */; }; - A7450B342C7AFA2B00D659D7 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2B2C7AFA2B00D659D7 /* Model.swift */; }; - A7450B352C7AFA2B00D659D7 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2C2C7AFA2B00D659D7 /* Parser.swift */; }; - A7450B362C7AFA2B00D659D7 /* SPMPSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */; }; - A7450B372C7AFA2B00D659D7 /* TLDExtract.h in Headers */ = {isa = PBXBuildFile; fileRef = A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A7450B382C7AFA2B00D659D7 /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */; }; - A7450B392C7AFA2B00D659D7 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */; }; - A7450B3E2C7AFA4100D659D7 /* TLDExtractTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */; }; - A7450B442C7B05EF00D659D7 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */; }; - A7450B452C7B05EF00D659D7 /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */; }; + A7450B592C7B186700D659D7 /* TLDExtractSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A7450B502C7B186700D659D7 /* TLDExtractSwift.framework */; }; + A7450B712C7B18DC00D659D7 /* Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B682C7B18DC00D659D7 /* Extension.swift */; }; + A7450B722C7B18DC00D659D7 /* Model.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B692C7B18DC00D659D7 /* Model.swift */; }; + A7450B732C7B18DC00D659D7 /* Parser.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6A2C7B18DC00D659D7 /* Parser.swift */; }; + A7450B742C7B18DC00D659D7 /* SPMPSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6B2C7B18DC00D659D7 /* SPMPSL.swift */; }; + A7450B762C7B18DC00D659D7 /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6D2C7B18DC00D659D7 /* TLDExtract.swift */; }; + A7450B772C7B18DC00D659D7 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6E2C7B18DC00D659D7 /* TLDExtractError.swift */; }; + A7450B782C7B18DC00D659D7 /* TLDExtractSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A7450B6F2C7B18DC00D659D7 /* TLDExtractSwift.h */; }; + A7450B7C2C7B191A00D659D7 /* TLDExtractSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B792C7B191A00D659D7 /* TLDExtractSwiftTests.swift */; }; + A7450B822C7B1A4100D659D7 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B7F2C7B1A4100D659D7 /* public_suffix_list_frozen.dat */; }; + A7450B832C7B1A4100D659D7 /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B802C7B1A4100D659D7 /* public_suffix_list.dat */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - A7450B1B2C7AF9CE00D659D7 /* PBXContainerItemProxy */ = { + A7450B5A2C7B186700D659D7 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = A7450B082C7AF9CD00D659D7 /* Project object */; + containerPortal = A7450B472C7B186700D659D7 /* Project object */; proxyType = 1; - remoteGlobalIDString = A7450B102C7AF9CE00D659D7; - remoteInfo = TLDExtract; + remoteGlobalIDString = A7450B4F2C7B186700D659D7; + remoteInfo = TLDExtractSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtract.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TLDExtractTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - A7450B292C7AFA2B00D659D7 /* Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; - A7450B2B2C7AFA2B00D659D7 /* Model.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; - A7450B2C2C7AFA2B00D659D7 /* Parser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; - A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SPMPSL.swift; sourceTree = ""; }; - A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TLDExtract.h; sourceTree = ""; }; - A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtract.swift; sourceTree = ""; }; - A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractError.swift; sourceTree = ""; }; - A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractTests.swift; sourceTree = ""; }; - A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list_frozen.dat; sourceTree = ""; }; - A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list.dat; sourceTree = ""; }; + A7450B502C7B186700D659D7 /* TLDExtractSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = TLDExtractSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A7450B582C7B186700D659D7 /* TLDExtractSwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TLDExtractSwiftTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; + A7450B682C7B18DC00D659D7 /* Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Extension.swift; sourceTree = ""; }; + A7450B692C7B18DC00D659D7 /* Model.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Model.swift; sourceTree = ""; }; + A7450B6A2C7B18DC00D659D7 /* Parser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Parser.swift; sourceTree = ""; }; + A7450B6B2C7B18DC00D659D7 /* SPMPSL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SPMPSL.swift; sourceTree = ""; }; + A7450B6D2C7B18DC00D659D7 /* TLDExtract.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtract.swift; sourceTree = ""; }; + A7450B6E2C7B18DC00D659D7 /* TLDExtractError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractError.swift; sourceTree = ""; }; + A7450B6F2C7B18DC00D659D7 /* TLDExtractSwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TLDExtractSwift.h; sourceTree = ""; }; + A7450B792C7B191A00D659D7 /* TLDExtractSwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TLDExtractSwiftTests.swift; sourceTree = ""; }; + A7450B7F2C7B1A4100D659D7 /* public_suffix_list_frozen.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list_frozen.dat; sourceTree = ""; }; + A7450B802C7B1A4100D659D7 /* public_suffix_list.dat */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = public_suffix_list.dat; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - A7450B0E2C7AF9CE00D659D7 /* Frameworks */ = { + A7450B4D2C7B186700D659D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - A7450B162C7AF9CE00D659D7 /* Frameworks */ = { + A7450B552C7B186700D659D7 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - A7450B1A2C7AF9CE00D659D7 /* TLDExtract.framework in Frameworks */, + A7450B592C7B186700D659D7 /* TLDExtractSwift.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - A7450B072C7AF9CD00D659D7 = { + A7450B462C7B186700D659D7 = { isa = PBXGroup; children = ( - A7450B312C7AFA2B00D659D7 /* Source */, - A7450B3C2C7AFA4100D659D7 /* Tests */, - A7450B432C7B05EF00D659D7 /* Resources */, - A7450B122C7AF9CE00D659D7 /* Products */, + A7450B702C7B18DC00D659D7 /* Source */, + A7450B7B2C7B191A00D659D7 /* Tests */, + A7450B812C7B1A4100D659D7 /* Resources */, + A7450B512C7B186700D659D7 /* Products */, ); sourceTree = ""; }; - A7450B122C7AF9CE00D659D7 /* Products */ = { + A7450B512C7B186700D659D7 /* Products */ = { isa = PBXGroup; children = ( - A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */, - A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */, + A7450B502C7B186700D659D7 /* TLDExtractSwift.framework */, + A7450B582C7B186700D659D7 /* TLDExtractSwiftTests.xctest */, ); name = Products; sourceTree = ""; }; - A7450B312C7AFA2B00D659D7 /* Source */ = { + A7450B702C7B18DC00D659D7 /* Source */ = { isa = PBXGroup; children = ( - A7450B2E2C7AFA2B00D659D7 /* TLDExtract.h */, - A7450B2F2C7AFA2B00D659D7 /* TLDExtract.swift */, - A7450B302C7AFA2B00D659D7 /* TLDExtractError.swift */, - A7450B292C7AFA2B00D659D7 /* Extension.swift */, - A7450B2B2C7AFA2B00D659D7 /* Model.swift */, - A7450B2C2C7AFA2B00D659D7 /* Parser.swift */, - A7450B2D2C7AFA2B00D659D7 /* SPMPSL.swift */, + A7450B6F2C7B18DC00D659D7 /* TLDExtractSwift.h */, + A7450B6D2C7B18DC00D659D7 /* TLDExtract.swift */, + A7450B6E2C7B18DC00D659D7 /* TLDExtractError.swift */, + A7450B682C7B18DC00D659D7 /* Extension.swift */, + A7450B692C7B18DC00D659D7 /* Model.swift */, + A7450B6A2C7B18DC00D659D7 /* Parser.swift */, + A7450B6B2C7B18DC00D659D7 /* SPMPSL.swift */, ); path = Source; sourceTree = ""; }; - A7450B3C2C7AFA4100D659D7 /* Tests */ = { + A7450B7B2C7B191A00D659D7 /* Tests */ = { isa = PBXGroup; children = ( - A7450B3B2C7AFA4100D659D7 /* TLDExtractTests.swift */, + A7450B792C7B191A00D659D7 /* TLDExtractSwiftTests.swift */, ); path = Tests; sourceTree = ""; }; - A7450B432C7B05EF00D659D7 /* Resources */ = { + A7450B812C7B1A4100D659D7 /* Resources */ = { isa = PBXGroup; children = ( - A7450B412C7B05EF00D659D7 /* public_suffix_list_frozen.dat */, - A7450B422C7B05EF00D659D7 /* public_suffix_list.dat */, + A7450B7F2C7B1A4100D659D7 /* public_suffix_list_frozen.dat */, + A7450B802C7B1A4100D659D7 /* public_suffix_list.dat */, ); path = Resources; - sourceTree = SOURCE_ROOT; + sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - A7450B0C2C7AF9CE00D659D7 /* Headers */ = { + A7450B4B2C7B186700D659D7 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - A7450B372C7AFA2B00D659D7 /* TLDExtract.h in Headers */, + A7450B782C7B18DC00D659D7 /* TLDExtractSwift.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - A7450B102C7AF9CE00D659D7 /* TLDExtract */ = { + A7450B4F2C7B186700D659D7 /* TLDExtractSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = A7450B232C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtract" */; + buildConfigurationList = A7450B622C7B186700D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractSwift" */; buildPhases = ( - A7450B3F2C7B012900D659D7 /* Update Public Suffix List */, - A7450B0C2C7AF9CE00D659D7 /* Headers */, - A7450B0D2C7AF9CE00D659D7 /* Sources */, - A7450B0E2C7AF9CE00D659D7 /* Frameworks */, - A7450B0F2C7AF9CE00D659D7 /* Resources */, + A7450B7E2C7B1A0E00D659D7 /* Update Public Suffix List */, + A7450B4B2C7B186700D659D7 /* Headers */, + A7450B4C2C7B186700D659D7 /* Sources */, + A7450B4D2C7B186700D659D7 /* Frameworks */, + A7450B4E2C7B186700D659D7 /* Resources */, ); buildRules = ( ); dependencies = ( ); - name = TLDExtract; - productName = TLDExtract; - productReference = A7450B112C7AF9CE00D659D7 /* TLDExtract.framework */; + name = TLDExtractSwift; + productName = TLDExtractSwift; + productReference = A7450B502C7B186700D659D7 /* TLDExtractSwift.framework */; productType = "com.apple.product-type.framework"; }; - A7450B182C7AF9CE00D659D7 /* TLDExtractTests */ = { + A7450B572C7B186700D659D7 /* TLDExtractSwiftTests */ = { isa = PBXNativeTarget; - buildConfigurationList = A7450B262C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractTests" */; + buildConfigurationList = A7450B652C7B186700D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractSwiftTests" */; buildPhases = ( - A7450B152C7AF9CE00D659D7 /* Sources */, - A7450B162C7AF9CE00D659D7 /* Frameworks */, - A7450B172C7AF9CE00D659D7 /* Resources */, - A7450B402C7B019D00D659D7 /* Copy Carthage Frameworks */, + A7450B542C7B186700D659D7 /* Sources */, + A7450B552C7B186700D659D7 /* Frameworks */, + A7450B562C7B186700D659D7 /* Resources */, ); buildRules = ( ); dependencies = ( - A7450B1C2C7AF9CE00D659D7 /* PBXTargetDependency */, + A7450B5B2C7B186700D659D7 /* PBXTargetDependency */, ); - name = TLDExtractTests; - productName = TLDExtractTests; - productReference = A7450B192C7AF9CE00D659D7 /* TLDExtractTests.xctest */; + name = TLDExtractSwiftTests; + productName = TLDExtractSwiftTests; + productReference = A7450B582C7B186700D659D7 /* TLDExtractSwiftTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - A7450B082C7AF9CD00D659D7 /* Project object */ = { + A7450B472C7B186700D659D7 /* Project object */ = { isa = PBXProject; attributes = { BuildIndependentTargetsInParallel = 1; LastSwiftUpdateCheck = 1540; LastUpgradeCheck = 1540; TargetAttributes = { - A7450B102C7AF9CE00D659D7 = { + A7450B4F2C7B186700D659D7 = { CreatedOnToolsVersion = 15.4; }; - A7450B182C7AF9CE00D659D7 = { + A7450B572C7B186700D659D7 = { CreatedOnToolsVersion = 15.4; }; }; }; - buildConfigurationList = A7450B0B2C7AF9CD00D659D7 /* Build configuration list for PBXProject "TLDExtract" */; + buildConfigurationList = A7450B4A2C7B186700D659D7 /* Build configuration list for PBXProject "TLDExtractSwift" */; compatibilityVersion = "Xcode 14.0"; developmentRegion = en; hasScannedForEncodings = 0; @@ -192,28 +191,28 @@ en, Base, ); - mainGroup = A7450B072C7AF9CD00D659D7; - productRefGroup = A7450B122C7AF9CE00D659D7 /* Products */; + mainGroup = A7450B462C7B186700D659D7; + productRefGroup = A7450B512C7B186700D659D7 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - A7450B102C7AF9CE00D659D7 /* TLDExtract */, - A7450B182C7AF9CE00D659D7 /* TLDExtractTests */, + A7450B4F2C7B186700D659D7 /* TLDExtractSwift */, + A7450B572C7B186700D659D7 /* TLDExtractSwiftTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - A7450B0F2C7AF9CE00D659D7 /* Resources */ = { + A7450B4E2C7B186700D659D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7450B442C7B05EF00D659D7 /* public_suffix_list_frozen.dat in Resources */, - A7450B452C7B05EF00D659D7 /* public_suffix_list.dat in Resources */, + A7450B822C7B1A4100D659D7 /* public_suffix_list_frozen.dat in Resources */, + A7450B832C7B1A4100D659D7 /* public_suffix_list.dat in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7450B172C7AF9CE00D659D7 /* Resources */ = { + A7450B562C7B186700D659D7 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -223,7 +222,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - A7450B3F2C7B012900D659D7 /* Update Public Suffix List */ = { + A7450B7E2C7B1A0E00D659D7 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -238,64 +237,45 @@ outputPaths = ( ); runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; + shellPath = /bin/sh; shellScript = "source .venv/bin/activate\n.venv/bin/python ./update-psl.py\n"; }; - A7450B402C7B019D00D659D7 /* Copy Carthage Frameworks */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/Punycode.framework", - ); - name = "Copy Carthage Frameworks"; - outputFileListPaths = ( - ); - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/zsh; - shellScript = "# /opt/homebrew/bin/carthage copy-frameworks\n"; - }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - A7450B0D2C7AF9CE00D659D7 /* Sources */ = { + A7450B4C2C7B186700D659D7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7450B382C7AFA2B00D659D7 /* TLDExtract.swift in Sources */, - A7450B392C7AFA2B00D659D7 /* TLDExtractError.swift in Sources */, - A7450B322C7AFA2B00D659D7 /* Extension.swift in Sources */, - A7450B342C7AFA2B00D659D7 /* Model.swift in Sources */, - A7450B352C7AFA2B00D659D7 /* Parser.swift in Sources */, - A7450B362C7AFA2B00D659D7 /* SPMPSL.swift in Sources */, + A7450B712C7B18DC00D659D7 /* Extension.swift in Sources */, + A7450B722C7B18DC00D659D7 /* Model.swift in Sources */, + A7450B742C7B18DC00D659D7 /* SPMPSL.swift in Sources */, + A7450B772C7B18DC00D659D7 /* TLDExtractError.swift in Sources */, + A7450B732C7B18DC00D659D7 /* Parser.swift in Sources */, + A7450B762C7B18DC00D659D7 /* TLDExtract.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A7450B152C7AF9CE00D659D7 /* Sources */ = { + A7450B542C7B186700D659D7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - A7450B3E2C7AFA4100D659D7 /* TLDExtractTests.swift in Sources */, + A7450B7C2C7B191A00D659D7 /* TLDExtractSwiftTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - A7450B1C2C7AF9CE00D659D7 /* PBXTargetDependency */ = { + A7450B5B2C7B186700D659D7 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = A7450B102C7AF9CE00D659D7 /* TLDExtract */; - targetProxy = A7450B1B2C7AF9CE00D659D7 /* PBXContainerItemProxy */; + target = A7450B4F2C7B186700D659D7 /* TLDExtractSwift */; + targetProxy = A7450B5A2C7B186700D659D7 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - A7450B212C7AF9CE00D659D7 /* Debug */ = { + A7450B602C7B186700D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -364,7 +344,7 @@ }; name = Debug; }; - A7450B222C7AF9CE00D659D7 /* Release */ = { + A7450B612C7B186700D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -425,7 +405,7 @@ }; name = Release; }; - A7450B242C7AF9CE00D659D7 /* Debug */ = { + A7450B632C7B186700D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; @@ -453,7 +433,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractSwift; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = auto; SKIP_INSTALL = YES; @@ -471,7 +451,7 @@ }; name = Debug; }; - A7450B252C7AF9CE00D659D7 /* Release */ = { + A7450B642C7B186700D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; @@ -499,7 +479,7 @@ MARKETING_VERSION = 1.0; MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++"; MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20"; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtract; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractSwift; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = auto; SKIP_INSTALL = YES; @@ -517,7 +497,7 @@ }; name = Release; }; - A7450B272C7AF9CE00D659D7 /* Debug */ = { + A7450B662C7B186700D659D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; @@ -528,7 +508,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractTests; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractSwiftTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; @@ -544,7 +524,7 @@ }; name = Debug; }; - A7450B282C7AF9CE00D659D7 /* Release */ = { + A7450B672C7B186700D659D7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; @@ -555,7 +535,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 12.0; MACOSX_DEPLOYMENT_TARGET = 10.13; MARKETING_VERSION = 1.0; - PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractTests; + PRODUCT_BUNDLE_IDENTIFIER = com.gumob.TLDExtractSwiftTests; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = auto; SUPPORTED_PLATFORMS = "appletvos appletvsimulator iphoneos iphonesimulator macosx watchos watchsimulator xros xrsimulator"; @@ -574,34 +554,34 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - A7450B0B2C7AF9CD00D659D7 /* Build configuration list for PBXProject "TLDExtract" */ = { + A7450B4A2C7B186700D659D7 /* Build configuration list for PBXProject "TLDExtractSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7450B212C7AF9CE00D659D7 /* Debug */, - A7450B222C7AF9CE00D659D7 /* Release */, + A7450B602C7B186700D659D7 /* Debug */, + A7450B612C7B186700D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7450B232C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtract" */ = { + A7450B622C7B186700D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7450B242C7AF9CE00D659D7 /* Debug */, - A7450B252C7AF9CE00D659D7 /* Release */, + A7450B632C7B186700D659D7 /* Debug */, + A7450B642C7B186700D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - A7450B262C7AF9CE00D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractTests" */ = { + A7450B652C7B186700D659D7 /* Build configuration list for PBXNativeTarget "TLDExtractSwiftTests" */ = { isa = XCConfigurationList; buildConfigurations = ( - A7450B272C7AF9CE00D659D7 /* Debug */, - A7450B282C7AF9CE00D659D7 /* Release */, + A7450B662C7B186700D659D7 /* Debug */, + A7450B672C7B186700D659D7 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = A7450B082C7AF9CD00D659D7 /* Project object */; + rootObject = A7450B472C7B186700D659D7 /* Project object */; } diff --git a/Tests/TLDExtractTests.swift b/Tests/TLDExtractSwiftTests.swift similarity index 99% rename from Tests/TLDExtractTests.swift rename to Tests/TLDExtractSwiftTests.swift index 0c7e149..b3cebf4 100644 --- a/Tests/TLDExtractTests.swift +++ b/Tests/TLDExtractSwiftTests.swift @@ -1,15 +1,14 @@ // -// TLDExtractTests.swift -// TLDExtractTests +// TLDExtractSwiftTests.swift +// TLDExtractSwiftTests // -// Created by kojirof on 2018/11/16. -// Copyright © 2018 Gumob. All rights reserved. +// Created by Kojiro Futamura on 2024/08/25. // import XCTest -@testable import TLDExtract +@testable import TLDExtractSwift -class TLDExtractTests: XCTestCase { +class TLDExtractSwiftTests: XCTestCase { var tldExtractor: TLDExtract! From fd0ca032b511d9d5ca76814cde13adee11128eb2 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:07:09 +0900 Subject: [PATCH 06/33] build(TLDExtractSwift.xcodeproj/project.pbxproj): Add alwaysOutOfDate flag to Update Public Suffix List script phase This commit adds the 'alwaysOutOfDate' flag to the 'Update Public Suffix List' script phase in the TLDExtractSwift Xcode project file. This change ensures that the script will be executed every time the project is built, regardless of whether its output has changed or not. This is useful for scripts that perform tasks like updating data files, which should always be run to ensure the latest information is used. --- TLDExtractSwift.xcodeproj/project.pbxproj | 1 + 1 file changed, 1 insertion(+) diff --git a/TLDExtractSwift.xcodeproj/project.pbxproj b/TLDExtractSwift.xcodeproj/project.pbxproj index 4b03dc4..7b93a49 100644 --- a/TLDExtractSwift.xcodeproj/project.pbxproj +++ b/TLDExtractSwift.xcodeproj/project.pbxproj @@ -224,6 +224,7 @@ /* Begin PBXShellScriptBuildPhase section */ A7450B7E2C7B1A0E00D659D7 /* Update Public Suffix List */ = { isa = PBXShellScriptBuildPhase; + alwaysOutOfDate = 1; buildActionMask = 2147483647; files = ( ); From 322b34095b1c3ccb2b60d7fc2e4846ab7d5a2ed4 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:19:08 +0900 Subject: [PATCH 07/33] build(TLDExtractSwift.xcodeproj/project.pbxproj): Add Public attribute to TLDExtractSwift.h in Headers and fix the error below. `DEFINES_MODULE was set, but no umbrella header could be found to generate the module map` The change adds the Public attribute to the TLDExtractSwift.h file located in the Headers folder of the TLDExtractSwift project. This attribute is used to specify that the header file can be accessed by other modules, making it public. The change was made to improve the accessibility and usability of the TLDExtractSwift library. --- TLDExtractSwift.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/TLDExtractSwift.xcodeproj/project.pbxproj b/TLDExtractSwift.xcodeproj/project.pbxproj index 7b93a49..4a24b81 100644 --- a/TLDExtractSwift.xcodeproj/project.pbxproj +++ b/TLDExtractSwift.xcodeproj/project.pbxproj @@ -14,7 +14,7 @@ A7450B742C7B18DC00D659D7 /* SPMPSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6B2C7B18DC00D659D7 /* SPMPSL.swift */; }; A7450B762C7B18DC00D659D7 /* TLDExtract.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6D2C7B18DC00D659D7 /* TLDExtract.swift */; }; A7450B772C7B18DC00D659D7 /* TLDExtractError.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B6E2C7B18DC00D659D7 /* TLDExtractError.swift */; }; - A7450B782C7B18DC00D659D7 /* TLDExtractSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A7450B6F2C7B18DC00D659D7 /* TLDExtractSwift.h */; }; + A7450B782C7B18DC00D659D7 /* TLDExtractSwift.h in Headers */ = {isa = PBXBuildFile; fileRef = A7450B6F2C7B18DC00D659D7 /* TLDExtractSwift.h */; settings = {ATTRIBUTES = (Public, ); }; }; A7450B7C2C7B191A00D659D7 /* TLDExtractSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7450B792C7B191A00D659D7 /* TLDExtractSwiftTests.swift */; }; A7450B822C7B1A4100D659D7 /* public_suffix_list_frozen.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B7F2C7B1A4100D659D7 /* public_suffix_list_frozen.dat */; }; A7450B832C7B1A4100D659D7 /* public_suffix_list.dat in Resources */ = {isa = PBXBuildFile; fileRef = A7450B802C7B1A4100D659D7 /* public_suffix_list.dat */; }; From d5407f01885aed8aea0c309bb1681a2b94cd233c Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:26:50 +0900 Subject: [PATCH 08/33] build: Add a scheme for testing --- .../xcschemes/TLDExtractSwift.xcscheme | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 TLDExtractSwift.xcodeproj/xcshareddata/xcschemes/TLDExtractSwift.xcscheme diff --git a/TLDExtractSwift.xcodeproj/xcshareddata/xcschemes/TLDExtractSwift.xcscheme b/TLDExtractSwift.xcodeproj/xcshareddata/xcschemes/TLDExtractSwift.xcscheme new file mode 100644 index 0000000..ffd1642 --- /dev/null +++ b/TLDExtractSwift.xcodeproj/xcshareddata/xcschemes/TLDExtractSwift.xcscheme @@ -0,0 +1,80 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 72ef4a39c8c20cf645ec39abfe3469db83e62fa5 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:27:23 +0900 Subject: [PATCH 09/33] chore: Ignore `fastlane/reports` --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6c575f1..0d2c15b 100644 --- a/.gitignore +++ b/.gitignore @@ -65,6 +65,7 @@ fastlane/report.xml fastlane/Preview.html fastlane/screenshots/**/*.png fastlane/test_output +fastlane/reports # Direnv .envrc @@ -74,4 +75,4 @@ fastlane/test_output .ruby-version # Python -.python-version +.python-version \ No newline at end of file From 9d0c15de2990de4ffffbddb5fa9ead7d89b299ab Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:29:13 +0900 Subject: [PATCH 10/33] build: Rename package name from TLDExtract to TLDExtractSwift and update product and target names accordingly. This change is to improve the naming consistency and avoid confusion with other packages that may have similar names. --- Package.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Package.swift b/Package.swift index 537085c..4043db5 100644 --- a/Package.swift +++ b/Package.swift @@ -4,11 +4,11 @@ import PackageDescription let package = Package( - name: "TLDExtract", + name: "TLDExtractSwift", products: [ .library( - name: "TLDExtract", - targets: ["TLDExtract"]) + name: "TLDExtractSwift", + targets: ["TLDExtractSwift"]) ], dependencies: [ // .package(url: "https://github.com/gumob/PunycodeSwift.git", .from: "3.0.0"), @@ -16,12 +16,12 @@ let package = Package( ], targets: [ .target( - name: "TLDExtract", + name: "TLDExtractSwift", dependencies: ["Punycode"], path: "Source"), .testTarget( name: "TLDExtractSwiftTests", - dependencies: ["TLDExtract"], + dependencies: ["TLDExtractSwift"], path: "Tests") ] ) From d180097d3b28a0c4f529be973ace2804bcdab0f9 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:30:46 +0900 Subject: [PATCH 11/33] build: Update Punycode dependency to version 3.0.0 from gumob/PunycodeSwift repository (#123) --- Package.resolved | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Package.resolved b/Package.resolved index ee8179a..7303556 100644 --- a/Package.resolved +++ b/Package.resolved @@ -3,10 +3,10 @@ "pins": [ { "package": "Punycode", - "repositoryURL": "https://github.com/twodayslate/PunycodeSwift.git", + "repositoryURL": "https://github.com/gumob/PunycodeSwift.git", "state": { - "branch": "master", - "revision": "a06c9efbb707daf102a00e9e11dcf3c553a71288", + "branch": "release/v3.0.0", + "revision": "8e7de65d79e7a4bb74a474422bf07f6de57c8fec", "version": null } } From 48a9cade27e3288e9d8228dfcdcc466bb63fed38 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:33:35 +0900 Subject: [PATCH 12/33] docs(fastlane/README.md): update fastlane installation instructions and add links to official documentation This commit updates the fastlane README.md file by adding links to the official installation, documentation, and updating the text to reflect the current best practices for installing and using fastlane. This change improves the clarity and accuracy of the documentation, making it easier for developers to understand how to use fastlane in their projects. --- fastlane/README.md | 91 ++++++++++++++++++++++++++++++---------------- 1 file changed, 59 insertions(+), 32 deletions(-) diff --git a/fastlane/README.md b/fastlane/README.md index 64f0f72..75f7b05 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -1,59 +1,86 @@ fastlane documentation -================ +---- + # Installation Make sure you have the latest version of the Xcode command line tools installed: -``` +```sh xcode-select --install ``` -Install _fastlane_ using -``` -[sudo] gem install fastlane -NV -``` -or alternatively using `brew cask install fastlane` +For _fastlane_ installation instructions, see [Installing _fastlane_](https://docs.fastlane.tools/#installing-fastlane) # Available Actions -## iOS -### ios prebuild -``` -fastlane ios prebuild + +### prebuild + +```sh +[bundle exec] fastlane prebuild ``` + Prebuild -### ios set_version -``` -fastlane ios set_version + +### set_version + +```sh +[bundle exec] fastlane set_version ``` + Set version number -### ios bump_version -``` -fastlane ios bump_version + +### bump_version + +```sh +[bundle exec] fastlane bump_version ``` + Bump version number -### ios tests -``` -fastlane ios tests + +### test_all + +```sh +[bundle exec] fastlane test_all ``` -Run Tests -### ios build_carthage + +Run all tests + +### build_spm + +```sh +[bundle exec] fastlane build_spm ``` -fastlane ios build_carthage + +Lint Swift Package Manager + +### build_carthage + +```sh +[bundle exec] fastlane build_carthage ``` + Build Carthage -### ios lint_cocoapods -``` -fastlane ios lint_cocoapods + +### lint_cocoapods + +```sh +[bundle exec] fastlane lint_cocoapods ``` + Lint Cocoapods -### ios push_cocoapods -``` -fastlane ios push_cocoapods + +### push_cocoapods + +```sh +[bundle exec] fastlane push_cocoapods ``` + Push Cocoapods ---- -This README.md is auto-generated and will be re-generated every time [fastlane](https://fastlane.tools) is run. -More information about fastlane can be found on [fastlane.tools](https://fastlane.tools). -The documentation of fastlane can be found on [docs.fastlane.tools](https://docs.fastlane.tools). +This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. + +More information about _fastlane_ can be found on [fastlane.tools](https://fastlane.tools). + +The documentation of _fastlane_ can be found on [docs.fastlane.tools](https://docs.fastlane.tools). From 11678edca9702b4823504a586cec3f112557bd5a Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:37:28 +0900 Subject: [PATCH 13/33] ci: Update tasks for Xcode 15.4 This script appears to be a Fastlane configuration file for an iOS project. It defines several lanes (tasks) for running tests on watchOS and visionOS simulators, building and linting with Swift Package Manager (SPM), Cocoapods, and Carthage. The removed lines were related to linting and pushing Cocoapods, which seem to have been replaced by similar tasks for SPM and Carthage. Here's a brief explanation of the added lanes: - `build_spm`: Builds and tests the project using Swift Package Manager. - `build_carthage`: Builds the project with Carthage for iOS, tvOS, watchOS, and (commented out) visionOS platforms. - `lint_cocoapods`: Lints Cocoapods libraries. - `push_cocoapods`: Pushes changes to the Cocoapods repository. The watchOS and visionOS tests are run using Fastlane's `run_tests` action, which launches the specified simulator, builds the project, runs the tests, generates code coverage reports, and saves the results in HTML and JUnit formats. The `slather` action is used to generate HTML test reports for watchOS and visionOS tests as well. It seems that this project no longer uses Cocoapods for dependency management, opting instead for Swift Package Manager and Carthage. --- fastlane/Fastfile | 356 +++++++++++++++++++++++++++++----------------- 1 file changed, 223 insertions(+), 133 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 3146a5e..dd8fa93 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -13,147 +13,237 @@ ENV["EXPANDED_CODE_SIGN_IDENTITY"] = "" ENV["EXPANDED_CODE_SIGN_IDENTITY_NAME"] = "" ENV["EXPANDED_PROVISIONING_PROFILE"] = "" -default_xcodeproj = ENV["DEFAULT_XCODEPROJ"] -default_podspec = ENV["DEFAULT_PODSPEC"] - -scheme_iOS = ENV["SCHEME_IOS"] -scheme_macOS = ENV["SCHEME_MACOS"] -scheme_tvOS = ENV["SCHEME_TVOS"] - -scheme_iOSTests = ENV["SCHEME_IOS_TEST"] -scheme_macOSTests = ENV["SCHEME_MACOS_TEST"] -scheme_tvOSTests = ENV["SCHEME_TVOS_TEST"] - -framework_info_plist = ENV["FRAMEWORK_INFO_PLIST"] -test_info_plist = ENV["TEST_INFO_PLIST"] - -platform :ios do - - desc "Prebuild" - lane :prebuild do - tests - build_carthage - lint_cocoapods - end +xcodeproj_file="TLDExtractSwift.xcodeproj" +podspec_file="TLDExtractSwift.podspec" +scheme = "TLDExtractSwift" +framework_info_plist = "./Source/Info.plist" +test_info_plist = "./Tests/Info.plist" + +desc "Prebuild" +lane :prebuild do + test_all + build_spm + build_carthage + lint_cocoapods +end - ########################################## - # Versioning - ########################################## - - desc "Set version number" - lane :set_version do - current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') - new_app_version = prompt( - text: "Please enter version number (Current: #{current_app_version}): ", - ci_input: current_app_version - ) - regexp = Regexp.new("[0-9]+\.[0-9]+\.[0-9]+") - matched = regexp.match(new_app_version) - if matched then - set_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) - set_info_plist_value(path: test_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) - version_bump_podspec(path: default_podspec, version_number: new_app_version) - UI.message("Changed version from #{current_app_version} to #{new_app_version} ") - else - UI.error("Invalid version number. #{new_app_version}") - end - end - desc "Bump version number" - lane :bump_version do - bump_type = UI.select("Select version position to be upgraded: ", ["patch", "minor", "major"]) - current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') - current_app_versions = current_app_version.split(".") - current_app_version_patch = current_app_versions[2].to_i - current_app_version_minor = current_app_versions[1].to_i - current_app_version_major = current_app_versions[0].to_i - UI.message(current_app_versions) - if bump_type == "patch" then - current_app_version_patch += 1 - elsif bump_type == "minor" then - current_app_version_patch = 0 - current_app_version_minor += 1 - elsif bump_type == "major" then - current_app_version_patch = 0 - current_app_version_minor = 0 - current_app_version_major += 1 - end - new_app_version = [current_app_version_major, current_app_version_minor, current_app_version_patch].join(".") +########################################## +# Versioning +########################################## + +desc "Set version number" +lane :set_version do + current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') + new_app_version = prompt( + text: "Please enter version number (Current: #{current_app_version}): ", + ci_input: current_app_version + ) + regexp = Regexp.new("[0-9]+\.[0-9]+\.[0-9]+") + matched = regexp.match(new_app_version) + if matched then set_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) set_info_plist_value(path: test_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) - version_bump_podspec(path: default_podspec, version_number: new_app_version) - UI.message("Changed version from #{current_app_version_major} to #{new_app_version} ") + version_bump_podspec(path: podspec_file, version_number: new_app_version) + UI.message("Changed version from #{current_app_version} to #{new_app_version} ") + else + UI.error("Invalid version number. #{new_app_version}") end +end - ########################################## - # Test - ########################################## - - desc "Run Tests" - lane :tests do - xcclean - run_tests( - scheme: scheme_iOS, - devices: ["iPhone X"], -# clean: true, - code_coverage: true - ) -# slather( -# scheme: scheme_iOS, -# proj: default_xcodeproj, -# output_directory: "./reports/iOS", -# html: true, -# show: true -# ) - run_tests( - scheme: scheme_macOS, - destination: "platform=macOS", -# clean: true, - code_coverage: true - ) -# slather( -# scheme: scheme_macOS, -# proj: default_xcodeproj, -# output_directory: "./reports/macOS", -# html: true, -# show: true -# ) - run_tests( - scheme: scheme_tvOS, - devices: ["Apple TV"], -# clean: true, - code_coverage: true - ) -# slather( -# scheme: scheme_tvOS, -# proj: default_xcodeproj, -# output_directory: "./reports/tvOS", -# html: true, -# show: true -# ) +desc "Bump version number" +lane :bump_version do + bump_type = UI.select("Select version position to be upgraded: ", ["patch", "minor", "major"]) + current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') + current_app_versions = current_app_version.split(".") + current_app_version_patch = current_app_versions[2].to_i + current_app_version_minor = current_app_versions[1].to_i + current_app_version_major = current_app_versions[0].to_i + UI.message(current_app_versions) + if bump_type == "patch" then + current_app_version_patch += 1 + elsif bump_type == "minor" then + current_app_version_patch = 0 + current_app_version_minor += 1 + elsif bump_type == "major" then + current_app_version_patch = 0 + current_app_version_minor = 0 + current_app_version_major += 1 end + new_app_version = [current_app_version_major, current_app_version_minor, current_app_version_patch].join(".") + set_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) + set_info_plist_value(path: test_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) + version_bump_podspec(path: podspec_file, version_number: new_app_version) + UI.message("Changed version from #{current_app_version_major} to #{new_app_version} ") +end - ########################################## - # Package Manager - ########################################## - - desc "Build Carthage" - lane :build_carthage do |options| - carthage( - command: "build", - verbose: true, - no_skip_current: true - ) - end +########################################## +# Test +########################################## + +desc "Run all tests" +lane :test_all do + xcclean + + desc "Run macOS Tests" + run_tests( + destination: "platform=macOS", + scheme: scheme, + force_quit_simulator: true, + reset_simulator: true, + prelaunch_simulator: false, + code_coverage: true, + open_report: false, + output_files: "report-macos.html,report-macos.junit" + ) + slather( + scheme: scheme, + proj: xcodeproj_file, + output_directory: "./fastlane/reports/macOS", + html: true, + show: false + ) + + desc "Run iOS Tests" + run_tests( + destination: "platform=iOS Simulator,name=iPhone 15 Pro", + scheme: scheme, + force_quit_simulator: true, + reset_simulator: true, + prelaunch_simulator: false, + code_coverage: true, + open_report: false, + output_files: "report-ios.html,report-ios.junit" + ) + slather( + scheme: scheme, + proj: xcodeproj_file, + output_directory: "./fastlane/reports/iOS", + html: true, + show: false + ) + + desc "Run tvOS Tests" + run_tests( + destination: "platform=tvOS Simulator,name=Apple TV 4K (3rd generation)", + scheme: scheme, + force_quit_simulator: true, + reset_simulator: true, + prelaunch_simulator: false, + code_coverage: true, + open_report: false, + output_files: "report-tvos.html,report-tvos.junit" + ) + slather( + scheme: scheme, + proj: xcodeproj_file, + output_directory: "./fastlane/reports/tvOS", + html: true, + show: false + ) + + desc "Run watchOS Tests" + run_tests( + destination: "platform=watchOS Simulator,name=Apple Watch Series 9 (45mm)", + scheme: scheme, + force_quit_simulator: true, + reset_simulator: true, + prelaunch_simulator: false, + code_coverage: true, + open_report: false, + output_files: "report-watchos.html,report-watchos.junit" + ) + slather( + scheme: scheme, + proj: xcodeproj_file, + output_directory: "./fastlane/reports/watchOS", + html: true, + show: false + ) + + desc "Run visionOS Tests" + run_tests( + destination: "platform=visionOS Simulator,name=Apple Vision Pro", + scheme: scheme, + force_quit_simulator: true, + reset_simulator: true, + prelaunch_simulator: false, + code_coverage: true, + open_report: false, + output_files: "report-visionos.html,report-visionos.junit" + ) + slather( + scheme: scheme, + proj: xcodeproj_file, + output_directory: "./fastlane/reports/visionOS", + html: true, + show: false + ) - desc "Lint Cocoapods" - lane :lint_cocoapods do |options| - pod_lib_lint(verbose: true) - end +end - desc "Push Cocoapods" - lane :push_cocoapods do |options| - pod_lib_lint(verbose: true) - pod_push(path: default_podspec) - end +########################################## +# Package Manager +########################################## + +desc "Lint Swift Package Manager" +lane :build_spm do |options| + spm( + command: "build", + parallel: true + ) + spm( + command: "test", + parallel: true + ) +end + +desc "Build Carthage" +lane :build_carthage do |options| + carthage( + command: "build", + verbose: false, + platform: "Mac", + # use_xcframeworks: true, + no_skip_current: true + ) + carthage( + command: "build", + verbose: false, + platform: "iOS", + use_xcframeworks: true, + no_skip_current: true + ) + carthage( + command: "build", + verbose: false, + platform: "tvOS", + use_xcframeworks: true, + no_skip_current: true + ) + carthage( + command: "build", + verbose: false, + platform: "watchOS", + use_xcframeworks: true, + no_skip_current: true + ) + # carthage( + # command: "build", + # verbose: false, + # platform: "visionOS", + # use_xcframeworks: true, + # no_skip_current: true + # ) +end + +desc "Lint Cocoapods" +lane :lint_cocoapods do |options| + pod_lib_lint(verbose: true) +end + +desc "Push Cocoapods" +lane :push_cocoapods do |options| + pod_lib_lint(verbose: true) + pod_push(path: podspec_file) end From 16074ac3ab0d433d1d44e2fbd2812ba15bb46db9 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:39:26 +0900 Subject: [PATCH 14/33] build: Update the podfile configuration for macOS, iOS, tvOS, watchOS, and visionOS with version 3.0.0, and dependencies on Punycode 3.0. --- TLDExtract.podspec => TLDExtractSwift.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename TLDExtract.podspec => TLDExtractSwift.podspec (95%) diff --git a/TLDExtract.podspec b/TLDExtractSwift.podspec similarity index 95% rename from TLDExtract.podspec rename to TLDExtractSwift.podspec index 9992d63..e7e91ba 100644 --- a/TLDExtract.podspec +++ b/TLDExtractSwift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| - s.name = "TLDExtract" + s.name = "TLDExtractSwift" s.version = "3.0.0" s.summary = "A Pure Swift library for extracting TLD supporting macOS, iOS, tvOS, watchOS, and visionOS." s.homepage = "https://github.com/gumob/TLDExtractSwift" From 9051d4475d2b19803018421ed34977617fc480aa Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:41:26 +0900 Subject: [PATCH 15/33] ci: Added new configuration file for Github Workflow --- .github/workflows/main.yml | 400 +++++++++++++++++++++++++++++++++++++ 1 file changed, 400 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..6855ba2 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,400 @@ +# This workflow will build a Swift project +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-swift + +name: main + +on: + push: + branches: + - develop + paths: + - .github/workflows/** + - .swiftlint.yml + - Package.swift + - TLDExtractSwift.podspec + - TLDExtractSwift.xcodeproj/** + - Source/** + - Tests/** + # pull_request: + # branches: + # - develop + # # branches-ignore: + # # - "release/**" + # # - "feature/**" + # paths: + # - .github/workflows/** + # - .swiftlint.yml + # - Package.swift + # - TLDExtractSwift.podspec + # - TLDExtractSwift.xcodeproj/** + # - Source/** + # - Tests/** + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + swiftlint: + name: SwiftLint + runs-on: macos-14 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Install SwiftLint + run: brew install swiftlint + - name: Lint + run: | + set -o pipefail + swiftlint lint --quiet | sed -E 's/^(.*):([0-9]+):([0-9]+): (warning|error|[^:]+): (.*)/::\4 title=Lint error,file=\1,line=\2,col=\3::\5\n\1:\2:\3/' + + ### ref: https://github.com/Alamofire/Alamofire/blob/master/.github/workflows/ci.yml + test_macOS: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - xcode: "Xcode_15.4" + runsOn: macos-14 + name: "Test: macOS 14, Xcode 15.4, Swift 5.10" + testPlan: "macOS" + outputFilter: xcbeautify --renderer github-actions + coverage: YES + - xcode: "Xcode_15.2" + runsOn: macos-14 + name: "Test: macOS 14, Xcode 15.2, Swift 5.9.2" + testPlan: "macOS" + outputFilter: xcbeautify --renderer github-actions + coverage: NO + - xcode: "Xcode_14.3.1" + runsOn: macOS-13 + name: "Test: macOS 13, Xcode 14.3.1, Swift 5.8.0" + testPlan: "macOS" + outputFilter: xcbeautify --renderer github-actions + coverage: NO + - xcode: "Xcode_14.2" + runsOn: macOS-12 + name: "Test: macOS 12, Xcode 14.2, Swift 5.7.2" + testPlan: "macOS" + outputFilter: xcpretty + coverage: NO + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.name }} + run: |- + set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "TLDExtractSwift" -destination "platform=macOS" -enableCodeCoverage ${{ matrix.coverage }} clean test | ${{ matrix.outputFilter }} + - name: Upload coverage to Codecov + if: ${{ matrix.coverage == 'YES' }} + uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} + fail_ci_if_error: true + verbose: true + needs: swiftlint + + test_Catalyst: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: /Applications/${{ matrix.xcode }}.app/Contents/Developer + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - xcode: "Xcode_15.4" + name: "Test: Catalyst 15.4" + runsOn: macos-14 + - xcode: "Xcode_14.3.1" + name: "Test: Catalyst 14.3.1" + runsOn: macOS-13 + steps: + - uses: actions/checkout@v4 + - name: Catalyst + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "TLDExtractSwift" -destination "platform=macOS" clean test 2>&1 | xcbeautify --renderer github-actions + needs: swiftlint + + test_iOS: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - destination: "OS=17.5,name=iPhone 15 Pro" + name: "Test: iOS 17.6" + testPlan: "iOS" + xcode: "Xcode_15.4" + runsOn: macos-14 + - destination: "OS=16.4,name=iPhone 14 Pro" + name: "Test: iOS 16.4" + testPlan: "iOS" + xcode: "Xcode_14.3.1" + runsOn: macOS-13 + - destination: "OS=15.5,name=iPhone 13 Pro" + name: "Test: iOS 15.5" + testPlan: "iOS" + xcode: "Xcode_13.4.1" + runsOn: macOS-12 + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.name }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "TLDExtractSwift" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions + needs: swiftlint + + test_tvOS: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: /Applications/${{ matrix.xcode }}.app/Contents/Developer + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - destination: "OS=17.5,name=Apple TV" + name: "Test: tvOS 17.5" + testPlan: "tvOS" + xcode: "Xcode_15.4" + runsOn: macos-14 + - destination: "OS=16.4,name=Apple TV" + name: "Test: tvOS 16.4" + testPlan: "tvOS" + xcode: "Xcode_14.3.1" + runsOn: macOS-13 + - destination: "OS=15.4,name=Apple TV" + name: "Test: tvOS 15.4" + testPlan: "tvOS" + xcode: "Xcode_13.4.1" + runsOn: macOS-12 + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.name }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "TLDExtractSwift" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions + needs: swiftlint + + test_visionOS: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - destination: "OS=1.2,name=Apple Vision Pro" + name: "Test: visionOS 1.2" + testPlan: "visionOS" + scheme: "TLDExtractSwift" + xcode: "Xcode_15.4" + runsOn: macos-14 + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.name }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "${{ matrix.scheme }}" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions + needs: swiftlint + + test_watchOS: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: /Applications/${{ matrix.xcode }}.app/Contents/Developer + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - destination: "OS=10.5,name=Apple Watch Series 9 (45mm)" + name: "Test: watchOS 10.5" + testPlan: "watchOS" + xcode: "Xcode_15.4" + runsOn: macos-14 + - destination: "OS=9.4,name=Apple Watch Series 8 (45mm)" + name: "Test: watchOS 9.4" + testPlan: "watchOS" + xcode: "Xcode_14.3.1" + runsOn: macOS-13 + - destination: "OS=8.5,name=Apple Watch Series 7 - 45mm" + name: "Test: watchOS 8.5" + testPlan: "watchOS" + xcode: "Xcode_13.4.1" + runsOn: macOS-12 + steps: + - uses: actions/checkout@v4 + - name: ${{ matrix.name }} + run: set -o pipefail && env NSUnbufferedIO=YES xcodebuild -project "TLDExtractSwift.xcodeproj" -scheme "TLDExtractSwift" -destination "${{ matrix.destination }}" clean test 2>&1 | xcbeautify --renderer github-actions + needs: swiftlint + + SPM: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + timeout-minutes: 10 + strategy: + fail-fast: false + matrix: + include: + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "SPM: macOS 14, Swift 5.10" + outputFilter: xcbeautify --renderer github-actions + - xcode: "Xcode_15.2" + runsOn: macOS-14 + name: "SPM: macOS 14, Swift 5.9.2" + outputFilter: xcbeautify --renderer github-actions + - xcode: "Xcode_14.3.1" + runsOn: macOS-13 + name: "SPM: macOS 13, Swift 5.8.0" + outputFilter: xcbeautify --renderer github-actions + - xcode: "Xcode_14.2" + runsOn: macOS-12 + name: "SPM: macOS 12, Swift 5.7.2" + outputFilter: xcpretty + - xcode: "Xcode_13.3.1" + runsOn: macOS-12 + name: "SPM: macOS 12, Swift 5.6.0" + outputFilter: xcpretty + - xcode: "Xcode_13.2.1" + runsOn: macOS-12 + name: "SPM: macOS 12, Swift 5.5.2" + outputFilter: xcpretty + steps: + - uses: actions/checkout@v4 + - name: Test SPM + run: swift test -c debug 2>&1 | ${{ matrix.outputFilter }} + needs: [test_macOS, test_Catalyst, test_iOS, test_tvOS, test_watchOS, test_visionOS] + + carthage: + name: ${{ matrix.name }} + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + strategy: + fail-fast: true + matrix: + include: + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "Carthage: macOS" + platform: "macos" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "Carthage: iOS" + platform: "ios" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "Carthage: tvOS" + platform: "tvos" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "Carthage: watchOS" + platform: "watchos" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + name: "Carthage: visionOS" + platform: "visionos" + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Run SwiftLint and Build Carthage for ${{ matrix.platform }} + run: | + carthage build \ + --no-skip-current \ + --platform ${{ matrix.platform }} \ + --use-xcframeworks \ + --cache-builds + needs: SPM + + cocoapods: + name: "Pods: ${{ matrix.platform }}, ${{ matrix.configuration }}" + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + strategy: + fail-fast: true + matrix: + include: + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "macos" + configuration: "Release" + name: "Pods: macOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "macos" + configuration: "Debug" + name: "Pods: macOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "ios" + configuration: "Release" + name: "Pods: iOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "ios" + configuration: "Debug" + name: "Pods: iOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "tvos" + configuration: "Release" + name: "Pods: tvOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "tvos" + configuration: "Debug" + name: "Pods: tvOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "watchos" + configuration: "Release" + name: "Pods: watchOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "watchos" + configuration: "Debug" + name: "Pods: watchOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "visionos" + configuration: "Release" + name: "Pods: visionOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "visionos" + configuration: "Debug" + name: "Pods: visionOS, Debug" + steps: + - name: Update CocoaPods + if: ${{ matrix.platform == 'visionos' }} + run: gem install cocoapods + - name: Checkout + uses: actions/checkout@v4 + - name: Pod lib lint + run: | + pod lib lint --verbose \ + --configuration=${{ matrix.configuration }} \ + --platforms=${{ matrix.platform }} \ + TLDExtractSwift.podspec + - name: Pod lib lint - Use Static Frameworks + run: | + pod lib lint --verbose --use-static-frameworks \ + --configuration=${{ matrix.configuration }} \ + --platforms=${{ matrix.platform }} \ + TLDExtractSwift.podspec + # - name: Pod Push + # if: github.ref == 'refs/heads/main' + # run: | + # pod repo update + # pod trunk push TLDExtractSwift.podspec --allow-warnings + needs: carthage From c89af48619c3fce7956f0ebd78769e688c1ed530 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:42:25 +0900 Subject: [PATCH 16/33] build: Removed unused environment variables --- .mise.toml | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/.mise.toml b/.mise.toml index 1591de0..33ef052 100644 --- a/.mise.toml +++ b/.mise.toml @@ -6,14 +6,4 @@ python = "3.11.9" _.python.venv = ".venv" EXPANDED_CODE_SIGN_IDENTITY="" EXPANDED_CODE_SIGN_IDENTITY_NAME="" -EXPANDED_PROVISIONING_PROFILE="" -DEFAULT_XCODEPROJ="TLDExtract.xcodeproj" -DEFAULT_PODSPEC="TLDExtractSwift.podspec" -SCHEME_IOS="TLDExtract-iOS" -SCHEME_MACOS="TLDExtract-macOS" -SCHEME_TVOS="TLDExtract-tvOS" -SCHEME_IOS_TEST="TLDExtract-iOSTests" -SCHEME_MACOS_TEST="TLDExtract-macOSTests" -SCHEME_TVOS_TEST="TLDExtract-tvOSTests" -FRAMEWORK_INFO_PLIST="Source/Info.plist" -TEST_INFO_PLIST="Tests/Info.plist" \ No newline at end of file +EXPANDED_PROVISIONING_PROFILE="" \ No newline at end of file From 677f7b03e97b815eedb5e1c9fdce81428a985878 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:43:06 +0900 Subject: [PATCH 17/33] refactor: Removed a configuration file for Travis CI --- .travis.yml | 91 ----------------------------------------------------- 1 file changed, 91 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 9c19351..0000000 --- a/.travis.yml +++ /dev/null @@ -1,91 +0,0 @@ -language: objective-c -os: osx -osx_image: xcode11.5 - -branches: - only: - - master - - develop -# - "/^v?[0-9\\.]+/" - -cache: - bundler: true - cocoapods: true - directories: - - Carthage - -env: - global: - - XCODE_PROJECT="TLDExtract.xcodeproj" - - IOS_SCHEME="TLDExtract-iOS" - - MACOS_SCHEME="TLDExtract-macOS" - - TVOS_SCHEME="TLDExtract-tvOS" - -matrix: - include: - # iOS Tests - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=13.5,name=iPhone 11 Pro" COVERAGE="YES" CODECOV_FLAG="ios13" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=12.4,name=iPhone X" COVERAGE="NO" CODECOV_FLAG="ios12" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=11.4,name=iPhone 7" COVERAGE="NO" CODECOV_FLAG="ios11" - - env: XCODE_TEST="YES" SCHEME="$IOS_SCHEME" DESTINATION="OS=10.3.1,name=iPhone 6" COVERAGE="NO" CODECOV_FLAG="ios10" - # tvOS Tests - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=13.4,name=Apple TV 4K" COVERAGE="NO" CODECOV_FLAG="tvos13" - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=12.4,name=Apple TV 4K" COVERAGE="NO" CODECOV_FLAG="tvos12" - - env: XCODE_TEST="YES" SCHEME="$TVOS_SCHEME" DESTINATION="OS=11.4,name=Apple TV" COVERAGE="NO" CODECOV_FLAG="tvos11" - # macOS Tests - - env: XCODE_TEST="YES" SCHEME="$MACOS_SCHEME" DESTINATION="arch=x86_64" COVERAGE="NO" CODECOV_FLAG="macos" - # Lint - - env: CARTHAGE_TEST="YES" - - env: SWIFT_LINT="YES" - - env: POD_LINT="NO" - -before_install: - - if [ "$XCODE_TEST" == "YES" ]; then - gem install xcpretty --no-document --quiet; - fi - - if [ "$CARTHAGE_TEST" = "YES" ] || [ "$XCODE_TEST" = "YES" ]; then - brew update; - brew outdated carthage || brew upgrade carthage; - carthage bootstrap --cache-builds --verbose; - fi - - if [ "$POD_LINT" == "YES" ]; then - gem install cocoapods --pre --no-document --quiet; - pod repo update; - fi - -install: - - if [ "$SWIFT_LINT" == "YES" ]; then - ./install-swiftlint.sh; - fi - -script: - - set -o pipefail; - - swift -version; - - - if [ "$TRAVIS_OS_NAME" == "osx" ]; then - xcrun simctl list; - xcodebuild -version; - xcodebuild -showsdks; - xcodebuild -list; - fi - - - if [ "$XCODE_TEST" == "YES" ]; then - xcodebuild clean test -project "$XCODE_PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -enableCodeCoverage $COVERAGE | xcpretty -c; - fi - - - if [ "$CARTHAGE_TEST" == "YES" ]; then - carthage build --no-skip-current --platform iOS; - fi - - - if [ "$SWIFT_LINT" == "YES" ]; then - swiftlint lint; - fi - - - if [ "$POD_LINT" == "YES" ]; then - pod lib lint; - fi - -after_success: - - if [ "$COVERAGE" == "YES" ]; then - bash <(curl -s https://codecov.io/bash) -J 'TLDExtract' -cF "$CODECOV_FLAG"; - fi From fdf59752ea179a637530e2f72e218da9e136ae4e Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 17:44:31 +0900 Subject: [PATCH 18/33] refactor: Remove unused script files --- fastlane.sh | 12 ------------ install-swiftlint.sh | 23 ----------------------- requirements.txt | 0 3 files changed, 35 deletions(-) delete mode 100755 fastlane.sh delete mode 100755 install-swiftlint.sh delete mode 100644 requirements.txt diff --git a/fastlane.sh b/fastlane.sh deleted file mode 100755 index 62d2a79..0000000 --- a/fastlane.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -executeCommand () { - cmd=$1 - echo - echo "$ $cmd" - echo - eval $cmd - echo -} - -executeCommand "bundle exec fastlane" diff --git a/install-swiftlint.sh b/install-swiftlint.sh deleted file mode 100755 index 8faac41..0000000 --- a/install-swiftlint.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -# Installs the SwiftLint package. -# Tries to get the precompiled .pkg file from Github, but if that -# fails just recompiles from source. - -set -e - -SWIFTLINT_PKG_PATH="/tmp/SwiftLint.pkg" -SWIFTLINT_PKG_URL="https://github.com/realm/SwiftLint/releases/download/0.39.2/SwiftLint.pkg" - -wget --output-document=${SWIFTLINT_PKG_PATH} ${SWIFTLINT_PKG_URL} - -if [[ -f ${SWIFTLINT_PKG_PATH} ]]; then - echo "SwiftLint package exists. Installing it..." - sudo installer -pkg ${SWIFTLINT_PKG_PATH} -target / -else - echo "SwiftLint package doesn't exist. Compiling from source..." && - git clone https://github.com/realm/SwiftLint.git /tmp/SwiftLint && - cd /tmp/SwiftLint && - git submodule update --init --recursive && - sudo make install -fi diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index e69de29..0000000 From 71870991784d2468997ca76554d4a474b87ec354 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 18:44:33 +0900 Subject: [PATCH 19/33] chore: Remove line break from end --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6855ba2..6298a86 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -397,4 +397,4 @@ jobs: # run: | # pod repo update # pod trunk push TLDExtractSwift.podspec --allow-warnings - needs: carthage + needs: carthage \ No newline at end of file From cc3acc77196cc418aed7a4cd896c74d6f81643e0 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 18:48:23 +0900 Subject: [PATCH 20/33] ci: Disable linting cocoapod --- .github/workflows/main.yml | 166 ++++++++++++++++++------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6298a86..a46839c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -315,86 +315,86 @@ jobs: --cache-builds needs: SPM - cocoapods: - name: "Pods: ${{ matrix.platform }}, ${{ matrix.configuration }}" - runs-on: ${{ matrix.runsOn }} - env: - DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" - strategy: - fail-fast: true - matrix: - include: - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "macos" - configuration: "Release" - name: "Pods: macOS, Release" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "macos" - configuration: "Debug" - name: "Pods: macOS, Debug" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "ios" - configuration: "Release" - name: "Pods: iOS, Release" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "ios" - configuration: "Debug" - name: "Pods: iOS, Debug" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "tvos" - configuration: "Release" - name: "Pods: tvOS, Release" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "tvos" - configuration: "Debug" - name: "Pods: tvOS, Debug" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "watchos" - configuration: "Release" - name: "Pods: watchOS, Release" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "watchos" - configuration: "Debug" - name: "Pods: watchOS, Debug" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "visionos" - configuration: "Release" - name: "Pods: visionOS, Release" - - xcode: "Xcode_15.4" - runsOn: macOS-14 - platform: "visionos" - configuration: "Debug" - name: "Pods: visionOS, Debug" - steps: - - name: Update CocoaPods - if: ${{ matrix.platform == 'visionos' }} - run: gem install cocoapods - - name: Checkout - uses: actions/checkout@v4 - - name: Pod lib lint - run: | - pod lib lint --verbose \ - --configuration=${{ matrix.configuration }} \ - --platforms=${{ matrix.platform }} \ - TLDExtractSwift.podspec - - name: Pod lib lint - Use Static Frameworks - run: | - pod lib lint --verbose --use-static-frameworks \ - --configuration=${{ matrix.configuration }} \ - --platforms=${{ matrix.platform }} \ - TLDExtractSwift.podspec - # - name: Pod Push - # if: github.ref == 'refs/heads/main' - # run: | - # pod repo update - # pod trunk push TLDExtractSwift.podspec --allow-warnings - needs: carthage \ No newline at end of file + # cocoapods: + # name: "Pods: ${{ matrix.platform }}, ${{ matrix.configuration }}" + # runs-on: ${{ matrix.runsOn }} + # env: + # DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + # strategy: + # fail-fast: true + # matrix: + # include: + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "macos" + # configuration: "Release" + # name: "Pods: macOS, Release" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "macos" + # configuration: "Debug" + # name: "Pods: macOS, Debug" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "ios" + # configuration: "Release" + # name: "Pods: iOS, Release" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "ios" + # configuration: "Debug" + # name: "Pods: iOS, Debug" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "tvos" + # configuration: "Release" + # name: "Pods: tvOS, Release" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "tvos" + # configuration: "Debug" + # name: "Pods: tvOS, Debug" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "watchos" + # configuration: "Release" + # name: "Pods: watchOS, Release" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "watchos" + # configuration: "Debug" + # name: "Pods: watchOS, Debug" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "visionos" + # configuration: "Release" + # name: "Pods: visionOS, Release" + # - xcode: "Xcode_15.4" + # runsOn: macOS-14 + # platform: "visionos" + # configuration: "Debug" + # name: "Pods: visionOS, Debug" + # steps: + # - name: Update CocoaPods + # if: ${{ matrix.platform == 'visionos' }} + # run: gem install cocoapods + # - name: Checkout + # uses: actions/checkout@v4 + # - name: Pod lib lint + # run: | + # pod lib lint --verbose \ + # --configuration=${{ matrix.configuration }} \ + # --platforms=${{ matrix.platform }} \ + # TLDExtractSwift.podspec + # - name: Pod lib lint - Use Static Frameworks + # run: | + # pod lib lint --verbose --use-static-frameworks \ + # --configuration=${{ matrix.configuration }} \ + # --platforms=${{ matrix.platform }} \ + # TLDExtractSwift.podspec + # # - name: Pod Push + # # if: github.ref == 'refs/heads/main' + # # run: | + # # pod repo update + # # pod trunk push TLDExtractSwift.podspec --allow-warnings + # needs: carthage From a0fcb24b156f6373d95e5fedcd3d20589777eddc Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:20:15 +0900 Subject: [PATCH 21/33] refactor: Optimized the `run.sh` file and related files for more efficient project management --- fastlane/Fastfile | 26 +++++------ fastlane/README.md | 48 +++++++------------- run.sh | 109 +++++++++++++++++++++++++++------------------ 3 files changed, 94 insertions(+), 89 deletions(-) diff --git a/fastlane/Fastfile b/fastlane/Fastfile index dd8fa93..79b9f49 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -16,12 +16,10 @@ ENV["EXPANDED_PROVISIONING_PROFILE"] = "" xcodeproj_file="TLDExtractSwift.xcodeproj" podspec_file="TLDExtractSwift.podspec" scheme = "TLDExtractSwift" -framework_info_plist = "./Source/Info.plist" -test_info_plist = "./Tests/Info.plist" -desc "Prebuild" -lane :prebuild do - test_all +desc "Run all jobs" +lane :run_all do + tests build_spm build_carthage lint_cocoapods @@ -34,7 +32,7 @@ end desc "Set version number" lane :set_version do - current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') + current_app_version = get_version_number_from_xcodeproj(xcodeproj: xcodeproj_file) new_app_version = prompt( text: "Please enter version number (Current: #{current_app_version}): ", ci_input: current_app_version @@ -42,8 +40,9 @@ lane :set_version do regexp = Regexp.new("[0-9]+\.[0-9]+\.[0-9]+") matched = regexp.match(new_app_version) if matched then - set_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) - set_info_plist_value(path: test_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) + # Set version number to project + increment_version_number_in_xcodeproj(version_number: new_app_version) + # Set version number to podspec version_bump_podspec(path: podspec_file, version_number: new_app_version) UI.message("Changed version from #{current_app_version} to #{new_app_version} ") else @@ -54,7 +53,7 @@ end desc "Bump version number" lane :bump_version do bump_type = UI.select("Select version position to be upgraded: ", ["patch", "minor", "major"]) - current_app_version = get_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString') + current_app_version = get_version_number_from_xcodeproj(xcodeproj: xcodeproj_file) current_app_versions = current_app_version.split(".") current_app_version_patch = current_app_versions[2].to_i current_app_version_minor = current_app_versions[1].to_i @@ -71,10 +70,11 @@ lane :bump_version do current_app_version_major += 1 end new_app_version = [current_app_version_major, current_app_version_minor, current_app_version_patch].join(".") - set_info_plist_value(path: framework_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) - set_info_plist_value(path: test_info_plist, key: 'CFBundleShortVersionString', value: new_app_version) + # Set version number to project + increment_version_number_in_xcodeproj(version_number: new_app_version) + # Set version number to podspec version_bump_podspec(path: podspec_file, version_number: new_app_version) - UI.message("Changed version from #{current_app_version_major} to #{new_app_version} ") + UI.message("Changed version from #{current_app_version} to #{new_app_version} ") end ########################################## @@ -82,7 +82,7 @@ end ########################################## desc "Run all tests" -lane :test_all do +lane :tests do xcclean desc "Run macOS Tests" diff --git a/fastlane/README.md b/fastlane/README.md index 75f7b05..186cf87 100644 --- a/fastlane/README.md +++ b/fastlane/README.md @@ -13,70 +13,54 @@ For _fastlane_ installation instructions, see [Installing _fastlane_](https://do # Available Actions -### prebuild +### Run all jobs ```sh -[bundle exec] fastlane prebuild +bundle exec fastlane run_all ``` -Prebuild - -### set_version +### Set version number ```sh -[bundle exec] fastlane set_version +bundle exec fastlane set_version ``` -Set version number - -### bump_version +### Bump version number ```sh -[bundle exec] fastlane bump_version +bundle exec fastlane bump_version ``` -Bump version number - -### test_all +### Run all tests ```sh -[bundle exec] fastlane test_all +bundle exec fastlane tests ``` -Run all tests - -### build_spm +### Build SPM ```sh -[bundle exec] fastlane build_spm +bundle exec fastlane build_spm ``` -Lint Swift Package Manager - -### build_carthage +### Build Carthage ```sh -[bundle exec] fastlane build_carthage +bundle exec fastlane build_carthage ``` -Build Carthage - -### lint_cocoapods +### Lint Cocoapods ```sh -[bundle exec] fastlane lint_cocoapods +bundle exec fastlane lint_cocoapods ``` -Lint Cocoapods - -### push_cocoapods +### Push Cocoapods ```sh -[bundle exec] fastlane push_cocoapods +bundle exec fastlane push_cocoapods ``` -Push Cocoapods - ---- This README.md is auto-generated and will be re-generated every time [_fastlane_](https://fastlane.tools) is run. diff --git a/run.sh b/run.sh index 89001bf..835d348 100755 --- a/run.sh +++ b/run.sh @@ -2,21 +2,13 @@ # Check if the 'fzf' command is available in the system if ! command -v fzf &> /dev/null; then - tput setaf 1; echo "fzf is not installed."; tput sgr0 - exit 1 + tput setaf 1; echo "fzf is not installed."; tput sgr0; + exit 1; fi local option_list=( - "clean" - " " - "carthage update" - " " - "pod cache clean --all" - " " - "python update-psl.py" - " " - "fastlane prebuild" - "fastlane test_all" + "fastlane run_all" + "fastlane tests" "fastlane build_spm" "fastlane build_carthage" "fastlane lint_cocoapods" @@ -24,39 +16,68 @@ local option_list=( "fastlane set_version" "fastlane bump_version" " " - "gem install bundler" - "gem update bundler" - "bundle install" - "bundle update" - "bundle list" - "bundle outdated" - "bundle clean" + "Xcode - Initialize project" + "Xcode - Clean all build cache" + " " + "Carthage - Update all platforms" + "Cocoapods - Clean all cache" + "Public Suffix List - Download latest data" ) -local command=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a fastlane command > ") - -case "$command" in - "") echo "No command selected" &&exit 1;; - clean) command="xcodebuild clean;" - command+="xcodebuild -alltargets clean;" - command+="xcrun --kill-cache;" - command+="xcrun simctl erase all;" - command+="rm -rf ~/Library/Developer/Xcode/DerivedData/;" - ;; - "clean all") : ;; - carthage*) command="carthage update --platform macos;" - command+="carthage update --platform ios;" - command+="carthage update --platform tvos;" - command+="carthage update --platform watchos;" - command+="carthage update --platform visionos;" - ;; - python*) : ;; - fastlane*) command="bundle exec $command";; - bundle*) bundle config set --local clean 'true' && bundle config set --local path '.bundle' ;; -esac +local fastlane_command() { + bundle exec $1 +} + +local xcode_clean() { + xcodebuild clean || \ + xcodebuild -alltargets clean || \ + xcrun --kill-cache || \ + xcrun simctl erase all || \ + rm -rf ~/Library/Developer/Xcode/DerivedData/; +} +local xcode_init() { + bundle_init; + xcode_clean; + rm -rf ./Carthage/*; + carthage_update; + psl_download; +} -# command="bundle exec $command" -echo "\n$command\n" -eval $command +local cocoapods_clean() { + pod cache clean --all; +} + +local psl_download() { + python update-psl.py; +} + +local carthage_update() { + carthage update --platform macos; + carthage update --platform ios; + carthage update --platform tvos; + carthage update --platform watchos; + carthage update --platform visionos; +} + +local bundle_init() { + rm -rf .bundle; + rm -rf Gemfile.lock; + gem install bundler; + bundle install; + bundle update; + bundle exec fastlane add_plugin versioning; +} + +local selected_option=$(printf "%s\n" "${option_list[@]}" | fzf --ansi --prompt="Select a job to execute > ") + +case "$selected_option" in + fastlane*) fastlane_command $selected_option;; + "Xcode - Initialize project") xcode_init;; + "Xcode - Clean all build cache") xcode_clean;; + "Cocoapods - Clean all cache") cocoapods_clean;; + "Carthage - Update all platforms") carthage_update;; + "Public Suffix List - Download latest data") psl_download;; + *) echo "Invalid option $selected_option" && exit 1;; +esac -exit 0 \ No newline at end of file +exit 0; \ No newline at end of file From 5880bc8234eabe7f5a3dd59a816deb652dc1353b Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:24:17 +0900 Subject: [PATCH 22/33] build: Fix DerivedData path --- run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.sh b/run.sh index 835d348..2686e7e 100755 --- a/run.sh +++ b/run.sh @@ -33,7 +33,7 @@ local xcode_clean() { xcodebuild -alltargets clean || \ xcrun --kill-cache || \ xcrun simctl erase all || \ - rm -rf ~/Library/Developer/Xcode/DerivedData/; + rm -rf ~/Library/Developer/Xcode/DerivedData/*; } local xcode_init() { bundle_init; From 6923ae00e4b145db016579ba3d521ae70c350f62 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:25:18 +0900 Subject: [PATCH 23/33] build: Update gems and installe Fastlane plugin --- Gemfile | 3 +++ Gemfile.lock | 2 ++ fastlane/Pluginfile | 5 +++++ 3 files changed, 10 insertions(+) create mode 100644 fastlane/Pluginfile diff --git a/Gemfile b/Gemfile index b09edb1..25e9aa3 100644 --- a/Gemfile +++ b/Gemfile @@ -11,3 +11,6 @@ gem "travis" gem "fastlane" gem "slather" gem "xcpretty" + +plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile') +eval_gemfile(plugins_path) if File.exist?(plugins_path) diff --git a/Gemfile.lock b/Gemfile.lock index e2281ca..db948c0 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -160,6 +160,7 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3, < 2.0.0) + fastlane-plugin-versioning (0.6.0) ffi (1.17.0-aarch64-linux-gnu) ffi (1.17.0-aarch64-linux-musl) ffi (1.17.0-arm-linux-gnu) @@ -349,6 +350,7 @@ DEPENDENCIES cocoapods-clean cocoapods-deintegrate fastlane + fastlane-plugin-versioning slather travis xcpretty diff --git a/fastlane/Pluginfile b/fastlane/Pluginfile new file mode 100644 index 0000000..87578f8 --- /dev/null +++ b/fastlane/Pluginfile @@ -0,0 +1,5 @@ +# Autogenerated by fastlane +# +# Ensure this file is checked in to source control! + +gem 'fastlane-plugin-versioning' From da47cc3260d95402dc41a7d051dd70a929f848d3 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:26:36 +0900 Subject: [PATCH 24/33] Update carthage --- Cartfile.resolved | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Cartfile.resolved b/Cartfile.resolved index ab2f3d4..a4ae12a 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1 @@ -github "gumob/PunycodeSwift" "8e7de65d79e7a4bb74a474422bf07f6de57c8fec" +github "gumob/PunycodeSwift" "2a15d8db8d34bfdd81f96b62acb4ac34157f9089" From 6bb294eb4a0e68866bbca603863e11507e2278eb Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:26:55 +0900 Subject: [PATCH 25/33] chore: Add space between commands --- run.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run.sh b/run.sh index 2686e7e..dceb1a6 100755 --- a/run.sh +++ b/run.sh @@ -21,6 +21,7 @@ local option_list=( " " "Carthage - Update all platforms" "Cocoapods - Clean all cache" + " " "Public Suffix List - Download latest data" ) From 65ee99461a7821396d5fe4f2c81fc842718a25f6 Mon Sep 17 00:00:00 2001 From: gumob Date: Sun, 25 Aug 2024 22:44:50 +0900 Subject: [PATCH 26/33] chore: Update frozen public suffix list --- Resources/public_suffix_list_frozen.dat | 3752 ++++++++++++++--------- 1 file changed, 2379 insertions(+), 1373 deletions(-) diff --git a/Resources/public_suffix_list_frozen.dat b/Resources/public_suffix_list_frozen.dat index 76d3adf..9c8850e 100644 --- a/Resources/public_suffix_list_frozen.dat +++ b/Resources/public_suffix_list_frozen.dat @@ -16,20 +16,19 @@ ac.ae gov.ae mil.ae aero +airline.aero +airport.aero accident-investigation.aero accident-prevention.aero aerobatic.aero aeroclub.aero aerodrome.aero agents.aero -aircraft.aero -airline.aero -airport.aero air-surveillance.aero -airtraffic.aero air-traffic-control.aero +aircraft.aero +airtraffic.aero ambulance.aero -amusement.aero association.aero author.aero ballooning.aero @@ -75,6 +74,7 @@ leasing.aero logistics.aero magazine.aero maintenance.aero +marketplace.aero media.aero microlight.aero modelling.aero @@ -97,6 +97,7 @@ show.aero skydiving.aero software.aero student.aero +taxi.aero trader.aero trading.aero trainer.aero @@ -142,15 +143,19 @@ pb.ao it.ao aq ar +bet.ar com.ar +coop.ar edu.ar gob.ar gov.ar int.ar mil.ar musica.ar +mutual.ar net.ar org.ar +senasa.ar tur.ar arpa e164.arpa @@ -167,6 +172,7 @@ ac.at co.at gv.at or.at +sth.ac.at au com.au net.au @@ -188,7 +194,6 @@ vic.au wa.au act.edu.au catholic.edu.au -eq.edu.au nsw.edu.au nt.edu.au qld.edu.au @@ -201,7 +206,6 @@ sa.gov.au tas.gov.au vic.gov.au wa.gov.au -education.tas.edu.au schools.nsw.edu.au aw com.aw @@ -293,9 +297,26 @@ or.bi org.bi biz bj -asso.bj -barreau.bj -gouv.bj +africa.bj +agro.bj +architectes.bj +assur.bj +avocats.bj +co.bj +com.bj +eco.bj +econo.bj +edu.bj +info.bj +loisirs.bj +money.bj +net.bj +org.bj +ote.bj +resto.bj +restaurant.bj +tourism.bj +univ.bj bm com.bm edu.bm @@ -360,6 +381,7 @@ aju.br am.br anani.br aparecida.br +app.br arq.br art.br ato.br @@ -367,6 +389,7 @@ b.br barueri.br belem.br bhz.br +bib.br bio.br blog.br bmd.br @@ -381,14 +404,19 @@ cnt.br com.br contagem.br coop.br +coz.br cri.br cuiaba.br curitiba.br def.br +des.br +det.br +dev.br ecn.br eco.br edu.br emp.br +enf.br eng.br esp.br etc.br @@ -404,6 +432,7 @@ fot.br foz.br fst.br g12.br +geo.br ggf.br goiania.br gov.br @@ -446,6 +475,7 @@ jor.br jus.br leg.br lel.br +log.br londrina.br macapa.br maceio.br @@ -478,6 +508,7 @@ qsl.br radio.br rec.br recife.br +rep.br ribeirao.br rio.br riobranco.br @@ -488,6 +519,7 @@ santamaria.br santoandre.br saobernardo.br saogonca.br +seg.br sjc.br slg.br slz.br @@ -495,6 +527,7 @@ sorocaba.br srv.br taxi.br tc.br +tec.br teo.br the.br tmp.br @@ -577,9 +610,9 @@ gouv.ci *.ck !www.ck cl -gov.cl -gob.cl co.cl +gob.cl +gov.cl mil.cl cm co.cm @@ -666,6 +699,11 @@ net.cu gov.cu inf.cu cv +com.cv +edu.cv +int.cv +nome.cv +org.cv cw com.cw edu.cw @@ -680,10 +718,9 @@ com.cy ekloges.cy gov.cy ltd.cy -name.cy +mil.cy net.cy org.cy -parliament.cy press.cy pro.cy tm.cy @@ -709,14 +746,16 @@ org.do sld.do web.do dz +art.dz +asso.dz com.dz +edu.dz +gov.dz org.dz net.dz -gov.dz -edu.dz -asso.dz pol.dz -art.dz +soc.dz +tm.dz ec com.ec info.ec @@ -771,8 +810,22 @@ net.et eu fi aland.fi -*.fj +fj +ac.fj +biz.fj +com.fj +gov.fj +info.fj +mil.fj +name.fj +net.fj +org.fj +pro.fj *.fk +com.fm +edu.fm +net.fm +org.fm fm fo fr @@ -782,23 +835,14 @@ gouv.fr nom.fr prd.fr tm.fr -aeroport.fr -avocat.fr avoues.fr cci.fr -chambagri.fr -chirurgiens-dentistes.fr -experts-comptables.fr -geometre-expert.fr greta.fr huissier-justice.fr -medecin.fr -notaires.fr -pharmacien.fr -port.fr -veterinaire.fr ga gb +edu.gd +gov.gd gd ge com.ge @@ -1005,6 +1049,16 @@ k12.il muni.il net.il org.il +ישראל +xn--4dbrk0ce +אקדמיה.ישראל +xn--4dbgdty6c.xn--4dbrk0ce +ישוב.ישראל +xn--5dbhl8d.xn--4dbrk0ce +צהל.ישראל +xn--8dbq2a.xn--4dbrk0ce +ממשל.ישראל +xn--hebda8b.xn--4dbrk0ce im ac.im co.im @@ -1016,18 +1070,47 @@ plc.co.im tt.im tv.im in +5g.in +6g.in +ac.in +ai.in +am.in +bihar.in +biz.in +business.in +ca.in +cn.in co.in +com.in +coop.in +cs.in +delhi.in +dr.in +edu.in +er.in firm.in -net.in -org.in gen.in +gov.in +gujarat.in ind.in +info.in +int.in +internet.in +io.in +me.in +mil.in +net.in nic.in -ac.in -edu.in +org.in +pg.in +post.in +pro.in res.in -gov.in -mil.in +travel.in +tv.in +uk.in +up.in +us.in info int eu.int @@ -1653,18 +1736,18 @@ xn--tor131o.jp 鹿児島.jp xn--d5qv7z876c.jp *.kawasaki.jp -*.kitakyushu.jp -*.kobe.jp -*.nagoya.jp -*.sapporo.jp -*.sendai.jp -*.yokohama.jp !city.kawasaki.jp +*.kitakyushu.jp !city.kitakyushu.jp +*.kobe.jp !city.kobe.jp +*.nagoya.jp !city.nagoya.jp +*.sapporo.jp !city.sapporo.jp +*.sendai.jp !city.sendai.jp +*.yokohama.jp !city.yokohama.jp aisai.aichi.jp ama.aichi.jp @@ -3434,11 +3517,10 @@ ind.kw net.kw org.kw ky -edu.ky -gov.ky com.ky -org.ky +edu.ky net.ky +org.ky kz org.kz edu.kz @@ -3608,559 +3690,6 @@ ac.mu co.mu or.mu museum -academy.museum -agriculture.museum -air.museum -airguard.museum -alabama.museum -alaska.museum -amber.museum -ambulance.museum -american.museum -americana.museum -americanantiques.museum -americanart.museum -amsterdam.museum -and.museum -annefrank.museum -anthro.museum -anthropology.museum -antiques.museum -aquarium.museum -arboretum.museum -archaeological.museum -archaeology.museum -architecture.museum -art.museum -artanddesign.museum -artcenter.museum -artdeco.museum -arteducation.museum -artgallery.museum -arts.museum -artsandcrafts.museum -asmatart.museum -assassination.museum -assisi.museum -association.museum -astronomy.museum -atlanta.museum -austin.museum -australia.museum -automotive.museum -aviation.museum -axis.museum -badajoz.museum -baghdad.museum -bahn.museum -bale.museum -baltimore.museum -barcelona.museum -baseball.museum -basel.museum -baths.museum -bauern.museum -beauxarts.museum -beeldengeluid.museum -bellevue.museum -bergbau.museum -berkeley.museum -berlin.museum -bern.museum -bible.museum -bilbao.museum -bill.museum -birdart.museum -birthplace.museum -bonn.museum -boston.museum -botanical.museum -botanicalgarden.museum -botanicgarden.museum -botany.museum -brandywinevalley.museum -brasil.museum -bristol.museum -british.museum -britishcolumbia.museum -broadcast.museum -brunel.museum -brussel.museum -brussels.museum -bruxelles.museum -building.museum -burghof.museum -bus.museum -bushey.museum -cadaques.museum -california.museum -cambridge.museum -can.museum -canada.museum -capebreton.museum -carrier.museum -cartoonart.museum -casadelamoneda.museum -castle.museum -castres.museum -celtic.museum -center.museum -chattanooga.museum -cheltenham.museum -chesapeakebay.museum -chicago.museum -children.museum -childrens.museum -childrensgarden.museum -chiropractic.museum -chocolate.museum -christiansburg.museum -cincinnati.museum -cinema.museum -circus.museum -civilisation.museum -civilization.museum -civilwar.museum -clinton.museum -clock.museum -coal.museum -coastaldefence.museum -cody.museum -coldwar.museum -collection.museum -colonialwilliamsburg.museum -coloradoplateau.museum -columbia.museum -columbus.museum -communication.museum -communications.museum -community.museum -computer.museum -computerhistory.museum -comunicações.museum -xn--comunicaes-v6a2o.museum -contemporary.museum -contemporaryart.museum -convent.museum -copenhagen.museum -corporation.museum -correios-e-telecomunicações.museum -xn--correios-e-telecomunicaes-ghc29a.museum -corvette.museum -costume.museum -countryestate.museum -county.museum -crafts.museum -cranbrook.museum -creation.museum -cultural.museum -culturalcenter.museum -culture.museum -cyber.museum -cymru.museum -dali.museum -dallas.museum -database.museum -ddr.museum -decorativearts.museum -delaware.museum -delmenhorst.museum -denmark.museum -depot.museum -design.museum -detroit.museum -dinosaur.museum -discovery.museum -dolls.museum -donostia.museum -durham.museum -eastafrica.museum -eastcoast.museum -education.museum -educational.museum -egyptian.museum -eisenbahn.museum -elburg.museum -elvendrell.museum -embroidery.museum -encyclopedic.museum -england.museum -entomology.museum -environment.museum -environmentalconservation.museum -epilepsy.museum -essex.museum -estate.museum -ethnology.museum -exeter.museum -exhibition.museum -family.museum -farm.museum -farmequipment.museum -farmers.museum -farmstead.museum -field.museum -figueres.museum -filatelia.museum -film.museum -fineart.museum -finearts.museum -finland.museum -flanders.museum -florida.museum -force.museum -fortmissoula.museum -fortworth.museum -foundation.museum -francaise.museum -frankfurt.museum -franziskaner.museum -freemasonry.museum -freiburg.museum -fribourg.museum -frog.museum -fundacio.museum -furniture.museum -gallery.museum -garden.museum -gateway.museum -geelvinck.museum -gemological.museum -geology.museum -georgia.museum -giessen.museum -glas.museum -glass.museum -gorge.museum -grandrapids.museum -graz.museum -guernsey.museum -halloffame.museum -hamburg.museum -handson.museum -harvestcelebration.museum -hawaii.museum -health.museum -heimatunduhren.museum -hellas.museum -helsinki.museum -hembygdsforbund.museum -heritage.museum -histoire.museum -historical.museum -historicalsociety.museum -historichouses.museum -historisch.museum -historisches.museum -history.museum -historyofscience.museum -horology.museum -house.museum -humanities.museum -illustration.museum -imageandsound.museum -indian.museum -indiana.museum -indianapolis.museum -indianmarket.museum -intelligence.museum -interactive.museum -iraq.museum -iron.museum -isleofman.museum -jamison.museum -jefferson.museum -jerusalem.museum -jewelry.museum -jewish.museum -jewishart.museum -jfk.museum -journalism.museum -judaica.museum -judygarland.museum -juedisches.museum -juif.museum -karate.museum -karikatur.museum -kids.museum -koebenhavn.museum -koeln.museum -kunst.museum -kunstsammlung.museum -kunstunddesign.museum -labor.museum -labour.museum -lajolla.museum -lancashire.museum -landes.museum -lans.museum -läns.museum -xn--lns-qla.museum -larsson.museum -lewismiller.museum -lincoln.museum -linz.museum -living.museum -livinghistory.museum -localhistory.museum -london.museum -losangeles.museum -louvre.museum -loyalist.museum -lucerne.museum -luxembourg.museum -luzern.museum -mad.museum -madrid.museum -mallorca.museum -manchester.museum -mansion.museum -mansions.museum -manx.museum -marburg.museum -maritime.museum -maritimo.museum -maryland.museum -marylhurst.museum -media.museum -medical.museum -medizinhistorisches.museum -meeres.museum -memorial.museum -mesaverde.museum -michigan.museum -midatlantic.museum -military.museum -mill.museum -miners.museum -mining.museum -minnesota.museum -missile.museum -missoula.museum -modern.museum -moma.museum -money.museum -monmouth.museum -monticello.museum -montreal.museum -moscow.museum -motorcycle.museum -muenchen.museum -muenster.museum -mulhouse.museum -muncie.museum -museet.museum -museumcenter.museum -museumvereniging.museum -music.museum -national.museum -nationalfirearms.museum -nationalheritage.museum -nativeamerican.museum -naturalhistory.museum -naturalhistorymuseum.museum -naturalsciences.museum -nature.museum -naturhistorisches.museum -natuurwetenschappen.museum -naumburg.museum -naval.museum -nebraska.museum -neues.museum -newhampshire.museum -newjersey.museum -newmexico.museum -newport.museum -newspaper.museum -newyork.museum -niepce.museum -norfolk.museum -north.museum -nrw.museum -nuernberg.museum -nuremberg.museum -nyc.museum -nyny.museum -oceanographic.museum -oceanographique.museum -omaha.museum -online.museum -ontario.museum -openair.museum -oregon.museum -oregontrail.museum -otago.museum -oxford.museum -pacific.museum -paderborn.museum -palace.museum -paleo.museum -palmsprings.museum -panama.museum -paris.museum -pasadena.museum -pharmacy.museum -philadelphia.museum -philadelphiaarea.museum -philately.museum -phoenix.museum -photography.museum -pilots.museum -pittsburgh.museum -planetarium.museum -plantation.museum -plants.museum -plaza.museum -portal.museum -portland.museum -portlligat.museum -posts-and-telecommunications.museum -preservation.museum -presidio.museum -press.museum -project.museum -public.museum -pubol.museum -quebec.museum -railroad.museum -railway.museum -research.museum -resistance.museum -riodejaneiro.museum -rochester.museum -rockart.museum -roma.museum -russia.museum -saintlouis.museum -salem.museum -salvadordali.museum -salzburg.museum -sandiego.museum -sanfrancisco.museum -santabarbara.museum -santacruz.museum -santafe.museum -saskatchewan.museum -satx.museum -savannahga.museum -schlesisches.museum -schoenbrunn.museum -schokoladen.museum -school.museum -schweiz.museum -science.museum -scienceandhistory.museum -scienceandindustry.museum -sciencecenter.museum -sciencecenters.museum -science-fiction.museum -sciencehistory.museum -sciences.museum -sciencesnaturelles.museum -scotland.museum -seaport.museum -settlement.museum -settlers.museum -shell.museum -sherbrooke.museum -sibenik.museum -silk.museum -ski.museum -skole.museum -society.museum -sologne.museum -soundandvision.museum -southcarolina.museum -southwest.museum -space.museum -spy.museum -square.museum -stadt.museum -stalbans.museum -starnberg.museum -state.museum -stateofdelaware.museum -station.museum -steam.museum -steiermark.museum -stjohn.museum -stockholm.museum -stpetersburg.museum -stuttgart.museum -suisse.museum -surgeonshall.museum -surrey.museum -svizzera.museum -sweden.museum -sydney.museum -tank.museum -tcm.museum -technology.museum -telekommunikation.museum -television.museum -texas.museum -textile.museum -theater.museum -time.museum -timekeeping.museum -topology.museum -torino.museum -touch.museum -town.museum -transport.museum -tree.museum -trolley.museum -trust.museum -trustee.museum -uhren.museum -ulm.museum -undersea.museum -university.museum -usa.museum -usantiques.museum -usarts.museum -uscountryestate.museum -usculture.museum -usdecorativearts.museum -usgarden.museum -ushistory.museum -ushuaia.museum -uslivinghistory.museum -utah.museum -uvic.museum -valley.museum -vantaa.museum -versailles.museum -viking.museum -village.museum -virginia.museum -virtual.museum -virtuel.museum -vlaanderen.museum -volkenkunde.museum -wales.museum -wallonie.museum -war.museum -washingtondc.museum -watchandclock.museum -watch-and-clock.museum -western.museum -westfalen.museum -whaling.museum -wildlife.museum -williamsburg.museum -windmill.museum -workshop.museum -york.museum -yorkshire.museum -yosemite.museum -youth.museum -zoological.museum -zoology.museum -ירושלים.museum -xn--9dbhblg6di.museum -иком.museum -xn--h1aegh.museum mv aero.mv biz.mv @@ -4195,13 +3724,14 @@ gob.mx edu.mx net.mx my +biz.my com.my -net.my -org.my -gov.my edu.my +gov.my mil.my name.my +net.my +org.my mz ac.mz adv.mz @@ -5275,20 +4805,22 @@ ngo.ph mil.ph i.ph pk +ac.pk +biz.pk com.pk -net.pk edu.pk -org.pk fam.pk -biz.pk -web.pk -gov.pk +gkp.pk gob.pk +gog.pk gok.pk gon.pk gop.pk gos.pk -info.pk +gov.pk +net.pk +org.pk +web.pk pl com.pl net.pl @@ -5325,52 +4857,60 @@ travel.pl turystyka.pl gov.pl ap.gov.pl +griw.gov.pl ic.gov.pl is.gov.pl -us.gov.pl kmpsp.gov.pl +konsulat.gov.pl kppsp.gov.pl -kwpsp.gov.pl -psp.gov.pl -wskr.gov.pl kwp.gov.pl +kwpsp.gov.pl +mup.gov.pl mw.gov.pl -ug.gov.pl -um.gov.pl -umig.gov.pl -ugim.gov.pl -upow.gov.pl -uw.gov.pl -starostwo.gov.pl +oia.gov.pl +oirm.gov.pl +oke.gov.pl +oow.gov.pl +oschr.gov.pl +oum.gov.pl pa.gov.pl +pinb.gov.pl +piw.gov.pl po.gov.pl +pr.gov.pl +psp.gov.pl psse.gov.pl pup.gov.pl rzgw.gov.pl sa.gov.pl +sdn.gov.pl +sko.gov.pl so.gov.pl sr.gov.pl -wsa.gov.pl -sko.gov.pl +starostwo.gov.pl +ug.gov.pl +ugim.gov.pl +um.gov.pl +umig.gov.pl +upow.gov.pl +uppo.gov.pl +us.gov.pl +uw.gov.pl uzs.gov.pl +wif.gov.pl wiih.gov.pl winb.gov.pl -pinb.gov.pl wios.gov.pl witd.gov.pl -wzmiuw.gov.pl -piw.gov.pl wiw.gov.pl -griw.gov.pl -wif.gov.pl -oum.gov.pl -sdn.gov.pl -zp.gov.pl -uppo.gov.pl -mup.gov.pl +wkz.gov.pl +wsa.gov.pl +wskr.gov.pl +wsse.gov.pl wuoz.gov.pl -konsulat.gov.pl -oirm.gov.pl +wzmiuw.gov.pl +zp.gov.pl +zpisdn.gov.pl augustow.pl babia-gora.pl bedzin.pl @@ -5589,12 +5129,6 @@ gov.rs in.rs org.rs ru -ac.ru -edu.ru -gov.ru -int.ru -mil.ru -test.ru rw ac.rw co.rw @@ -5706,16 +5240,27 @@ perso.sn univ.sn so com.so +edu.so +gov.so +me.so net.so org.so sr +ss +biz.ss +com.ss +edu.ss +gov.ss +me.ss +net.ss +org.ss +sch.ss st co.st com.st consulado.st edu.st embaixada.st -gov.st mil.st net.st org.st @@ -5789,21 +5334,14 @@ ens.tn fin.tn gov.tn ind.tn +info.tn intl.tn +mincom.tn nat.tn net.tn org.tn -info.tn perso.tn tourism.tn -edunet.tn -rnrt.tn -rns.tn -rnu.tn -mincom.tn -agrinet.tn -defense.tn -turen.tn to com.to gov.to @@ -5905,7 +5443,6 @@ cv.ua dn.ua dnepropetrovsk.ua dnipropetrovsk.ua -dominic.ua donetsk.ua dp.ua if.ua @@ -5920,6 +5457,7 @@ kiev.ua kirovograd.ua km.ua kr.ua +kropyvnytskyi.ua krym.ua ks.ua kv.ua @@ -5927,6 +5465,7 @@ kyiv.ua lg.ua lt.ua lugansk.ua +luhansk.ua lutsk.ua lv.ua lviv.ua @@ -5950,11 +5489,13 @@ te.ua ternopil.ua uz.ua uzhgorod.ua +uzhhorod.ua vinnica.ua vinnytsia.ua vn.ua volyn.ua yalta.ua +zakarpattia.ua zaporizhzhe.ua zaporizhzhia.ua zhitomir.ua @@ -6052,7 +5593,6 @@ k12.ca.us k12.co.us k12.ct.us k12.dc.us -k12.de.us k12.fl.us k12.ga.us k12.gu.us @@ -6083,7 +5623,6 @@ k12.ok.us k12.or.us k12.pa.us k12.pr.us -k12.ri.us k12.sc.us k12.tn.us k12.tx.us @@ -6235,6 +5774,7 @@ mil.vc edu.vc ve arts.ve +bib.ve co.ve com.ve e12.ve @@ -6246,7 +5786,9 @@ info.ve int.ve mil.ve net.ve +nom.ve org.ve +rar.ve rec.ve store.ve tec.ve @@ -6259,18 +5801,84 @@ k12.vi net.vi org.vi vn +ac.vn +ai.vn +biz.vn com.vn -net.vn -org.vn edu.vn gov.vn -int.vn -ac.vn -biz.vn +health.vn +id.vn info.vn +int.vn +io.vn name.vn +net.vn +org.vn pro.vn -health.vn +angiang.vn +bacgiang.vn +backan.vn +baclieu.vn +bacninh.vn +baria-vungtau.vn +bentre.vn +binhdinh.vn +binhduong.vn +binhphuoc.vn +binhthuan.vn +camau.vn +cantho.vn +caobang.vn +daklak.vn +daknong.vn +danang.vn +dienbien.vn +dongnai.vn +dongthap.vn +gialai.vn +hagiang.vn +haiduong.vn +haiphong.vn +hanam.vn +hanoi.vn +hatinh.vn +haugiang.vn +hoabinh.vn +hungyen.vn +khanhhoa.vn +kiengiang.vn +kontum.vn +laichau.vn +lamdong.vn +langson.vn +laocai.vn +longan.vn +namdinh.vn +nghean.vn +ninhbinh.vn +ninhthuan.vn +phutho.vn +phuyen.vn +quangbinh.vn +quangnam.vn +quangngai.vn +quangninh.vn +quangtri.vn +soctrang.vn +sonla.vn +tayninh.vn +thaibinh.vn +thainguyen.vn +thanhhoa.vn +thanhphohochiminh.vn +thuathienhue.vn +tiengiang.vn +travinh.vn +tuyenquang.vn +vinhlong.vn +vinhphuc.vn +yenbai.vn vu com.vu edu.vu @@ -6292,6 +5900,8 @@ xn--y9a3aq xn--54b7fta0cc бг xn--90ae +البحرين +xn--mgbcpq6gpa1a бел xn--90ais 中国 @@ -6304,6 +5914,10 @@ xn--lgbbat1ad8j xn--wgbh1c ею xn--e1a4c +ευ +xn--qxa6a +موريتانيا +xn--mgbah1a3hjkrd გე xn--node ελ @@ -6364,6 +5978,8 @@ xn--mgbayh7gpa xn--3e0b707e қаз xn--80ao21a +ລາວ +xn--q7ce6a ලංකා xn--fzc2c9e2c இலங்கை @@ -6451,7 +6067,13 @@ xn--j1amh اليمن xn--mgb2ddes xxx -*.ye +ye +com.ye +edu.ye +gov.ye +net.ye +mil.ye +org.ye ac.za agric.za alt.za @@ -6490,7 +6112,6 @@ mil.zw org.zw aaa aarp -abarth abb abbott abbvie @@ -6504,23 +6125,19 @@ accountant accountants aco actor -adac ads adult aeg aetna -afamilycompany afl africa agakhan agency aig -aigo airbus airforce airtel akdn -alfaromeo alibaba alipay allfinanz @@ -6528,6 +6145,7 @@ allstate ally alsace alstom +amazon americanexpress americanfamily amex @@ -6561,14 +6179,12 @@ auspost author auto autos -avianca aws axa azure baby baidu banamex -bananarepublic band bank bar @@ -6609,7 +6225,6 @@ bloomberg blue bms bmw -bnl bnpparibas boats boehringer @@ -6631,8 +6246,6 @@ broadway broker brother brussels -budapest -bugatti build builders business @@ -6647,7 +6260,6 @@ calvinklein cam camera camp -cancerresearch canon capetown capital @@ -6659,10 +6271,8 @@ care career careers cars -cartier casa case -caseih cash casino catering @@ -6670,8 +6280,6 @@ catholic cba cbn cbre -cbs -ceb center ceo cern @@ -6686,7 +6294,6 @@ cheap chintai christmas chrome -chrysler church cipriani circle @@ -6695,7 +6302,6 @@ citadel citi citic city -cityeats claims cleaning click @@ -6710,7 +6316,6 @@ codes coffee college cologne -comcast commbank community company @@ -6723,7 +6328,6 @@ consulting contact contractors cooking -cookingchannel cool corsica country @@ -6739,7 +6343,6 @@ crown crs cruise cruises -csc cuisinella cymru cyou @@ -6780,7 +6383,6 @@ diy dnp docs doctor -dodge dog domains dot @@ -6788,9 +6390,7 @@ download drive dtv dubai -duck dunlop -duns dupont durban dvag @@ -6812,12 +6412,9 @@ ericsson erni esq estate -esurance -etisalat eurovision eus events -everbank exchange expert exposed @@ -6838,7 +6435,6 @@ fedex feedback ferrari ferrero -fiat fidelity fido film @@ -6860,7 +6456,6 @@ flowers fly foo food -foodnetwork football ford forex @@ -6872,11 +6467,9 @@ free fresenius frl frogans -frontdoor frontier ftr fujitsu -fujixerox fun fund furniture @@ -6902,7 +6495,6 @@ gift gifts gives giving -glade glass gle global @@ -6928,7 +6520,6 @@ green gripe grocery group -guardian gucci guge guide @@ -6947,7 +6538,6 @@ help helsinki here hermes -hgtv hiphop hisamitsu hitachi @@ -6961,13 +6551,11 @@ homegoods homes homesense honda -honeywell horse hospital host hosting hot -hoteles hotels hotmail house @@ -6995,23 +6583,19 @@ ink institute insurance insure -intel international intuit investments ipiranga irish -iselect ismaili ist istanbul itau itv -iveco jaguar java jcb -jcp jeep jetzt jewelry @@ -7033,8 +6617,8 @@ kerrylogistics kerryproperties kfh kia +kids kim -kinder kindle kitchen kiwi @@ -7048,12 +6632,9 @@ kred kuokgroup kyoto lacaixa -ladbrokes lamborghini lamer lancaster -lancia -lancome land landrover lanxess @@ -7071,7 +6652,6 @@ legal lego lexus lgbt -liaison lidl life lifeinsurance @@ -7082,18 +6662,16 @@ lilly limited limo lincoln -linde link lipsy live living -lixil llc +llp loan loans locker locus -loft lol london lotte @@ -7104,10 +6682,8 @@ lplfinancial ltd ltda lundbeck -lupin luxe luxury -macys madrid maif maison @@ -7121,7 +6697,6 @@ marketing markets marriott marshalls -maserati mattel mba mckinsey @@ -7134,7 +6709,6 @@ memorial men menu merckmsd -metlife miami microsoft mini @@ -7145,7 +6719,6 @@ mlb mls mma mobile -mobily moda moe moi @@ -7153,7 +6726,6 @@ mom monash money monster -mopar mormon mortgage moscow @@ -7161,16 +6733,12 @@ moto motorcycles mov movie -movistar msd mtn mtr -mutual +music nab -nadex nagoya -nationwide -natura navy nba nec @@ -7179,7 +6747,6 @@ netflix network neustar new -newholland news next nextdirect @@ -7194,7 +6761,6 @@ ninja nissan nissay nokia -northwesternmutual norton now nowruz @@ -7205,19 +6771,16 @@ ntt nyc obi observer -off office okinawa olayan olayangroup -oldnavy ollo omega one ong onl online -onyourside ooo open oracle @@ -7235,7 +6798,6 @@ pars partners parts party -passagens pay pccw pet @@ -7248,7 +6810,6 @@ photo photography photos physio -piaget pics pictet pictures @@ -7287,10 +6848,8 @@ pwc qpon quebec quest -qvc racing radio -raid read realestate realtor @@ -7318,12 +6877,9 @@ rexroth rich richardli ricoh -rightathome ril rio rip -rmit -rocher rocks rodeo rogers @@ -7352,7 +6908,6 @@ save saxo sbi sbs -sca scb schaeffler schmidt @@ -7361,8 +6916,6 @@ school schule schwarz science -scjohnson -scor scot search seat @@ -7372,7 +6925,6 @@ seek select sener services -ses seven sew sex @@ -7380,7 +6932,6 @@ sexy sfr shangrila sharp -shaw shell shia shiksha @@ -7389,8 +6940,6 @@ shop shopping shouji show -showtime -shriram silk sina singles @@ -7413,16 +6962,14 @@ solutions song sony soy +spa space sport spot -spreadbetting srl -srt stada staples star -starhub statebank statefarm stc @@ -7442,10 +6989,8 @@ surf surgery suzuki swatch -swiftcover swiss sydney -symantec systems tab taipei @@ -7462,7 +7007,6 @@ tdk team tech technology -telefonica temasek tennis teva @@ -7472,7 +7016,6 @@ theatre tiaa tickets tienda -tiffany tips tires tirol @@ -7495,7 +7038,6 @@ trade trading training travel -travelchannel travelers travelersinsurance trust @@ -7507,7 +7049,6 @@ tushu tvs ubank ubs -uconnect unicom university uno @@ -7531,24 +7072,20 @@ vip virgin visa vision -vistaprint viva vivo vlaanderen vodka -volkswagen volvo vote voting voto voyage -vuelos wales walmart walter wang wanggou -warman watch watches weather @@ -7579,7 +7116,6 @@ wtc wtf xbox xerox -xfinity xihuan xin कॉम @@ -7594,8 +7130,6 @@ xn--30rr7y xn--3bst00m 在线 xn--3ds443g -大众汽车 -xn--3oq18vl8pn36a 点看 xn--3pxu8k คอม @@ -7642,6 +7176,8 @@ xn--c1avg xn--c2br7g ストア xn--cck2b3b +アマゾン +xn--cckwcxetd 삼성 xn--cg4bki 商标 @@ -7656,8 +7192,6 @@ xn--d1acj3b xn--eckvdtc9d 新闻 xn--efvy88h -工行 -xn--estv75g 家電 xn--fct429k كوم @@ -7688,26 +7222,20 @@ xn--imr513n xn--io0a7i ком xn--j1aef -诺基亚 -xn--jlq61u9w7b +亚马逊 +xn--jlq480n2rg 食品 xn--jvr189m 飞利浦 xn--kcrx77d1x4a -手表 -xn--kpu716f 手机 xn--kput3i ارامكو xn--mgba3a3ejt العليان xn--mgba7c0bbn0a -اتصالات -xn--mgbaakc7dvf بازار xn--mgbab2bd -موبايلي -xn--mgbb9fbpob ابوظبي xn--mgbca7dzdo كاثوليك @@ -7734,8 +7262,6 @@ xn--nyqy26a xn--otu796d рус xn--p1acf -珠宝 -xn--pbt977c 大拿 xn--pssy2u みんな @@ -7789,122 +7315,804 @@ zero zip zone zuerich +co.krd +edu.krd +art.pl +gliwice.pl +krakow.pl +poznan.pl +wroc.pl +zakopane.pl +lib.de.us +12chars.dev +12chars.it +12chars.pro cc.ua inf.ua ltd.ua +611.to +a2hosted.com +cpserver.com +aaa.vodka +*.on-acorn.io +activetrail.biz +adaptable.app +adobeaemcloud.com +*.dev.adobeaemcloud.com +aem.live +hlx.live +adobeaemcloud.net +aem.page +hlx.page +hlx3.page +adobeio-static.net +adobeioruntime.net +africa.com beep.pl +airkitapps.com +airkitapps-au.com +airkitapps.eu +aivencloud.com +akadns.net +akamai.net +akamai-staging.net +akamaiedge.net +akamaiedge-staging.net +akamaihd.net +akamaihd-staging.net +akamaiorigin.net +akamaiorigin-staging.net +akamaized.net +akamaized-staging.net +edgekey.net +edgekey-staging.net +edgesuite.net +edgesuite-staging.net barsy.ca *.compute.estate *.alces.network +kasserver.com +altervista.org alwaysdata.net +myamaze.net +execute-api.cn-north-1.amazonaws.com.cn +execute-api.cn-northwest-1.amazonaws.com.cn +execute-api.af-south-1.amazonaws.com +execute-api.ap-east-1.amazonaws.com +execute-api.ap-northeast-1.amazonaws.com +execute-api.ap-northeast-2.amazonaws.com +execute-api.ap-northeast-3.amazonaws.com +execute-api.ap-south-1.amazonaws.com +execute-api.ap-south-2.amazonaws.com +execute-api.ap-southeast-1.amazonaws.com +execute-api.ap-southeast-2.amazonaws.com +execute-api.ap-southeast-3.amazonaws.com +execute-api.ap-southeast-4.amazonaws.com +execute-api.ca-central-1.amazonaws.com +execute-api.ca-west-1.amazonaws.com +execute-api.eu-central-1.amazonaws.com +execute-api.eu-central-2.amazonaws.com +execute-api.eu-north-1.amazonaws.com +execute-api.eu-south-1.amazonaws.com +execute-api.eu-south-2.amazonaws.com +execute-api.eu-west-1.amazonaws.com +execute-api.eu-west-2.amazonaws.com +execute-api.eu-west-3.amazonaws.com +execute-api.il-central-1.amazonaws.com +execute-api.me-central-1.amazonaws.com +execute-api.me-south-1.amazonaws.com +execute-api.sa-east-1.amazonaws.com +execute-api.us-east-1.amazonaws.com +execute-api.us-east-2.amazonaws.com +execute-api.us-gov-east-1.amazonaws.com +execute-api.us-gov-west-1.amazonaws.com +execute-api.us-west-1.amazonaws.com +execute-api.us-west-2.amazonaws.com cloudfront.net +auth.af-south-1.amazoncognito.com +auth.ap-east-1.amazoncognito.com +auth.ap-northeast-1.amazoncognito.com +auth.ap-northeast-2.amazoncognito.com +auth.ap-northeast-3.amazoncognito.com +auth.ap-south-1.amazoncognito.com +auth.ap-south-2.amazoncognito.com +auth.ap-southeast-1.amazoncognito.com +auth.ap-southeast-2.amazoncognito.com +auth.ap-southeast-3.amazoncognito.com +auth.ap-southeast-4.amazoncognito.com +auth.ca-central-1.amazoncognito.com +auth.ca-west-1.amazoncognito.com +auth.eu-central-1.amazoncognito.com +auth.eu-central-2.amazoncognito.com +auth.eu-north-1.amazoncognito.com +auth.eu-south-1.amazoncognito.com +auth.eu-south-2.amazoncognito.com +auth.eu-west-1.amazoncognito.com +auth.eu-west-2.amazoncognito.com +auth.eu-west-3.amazoncognito.com +auth.il-central-1.amazoncognito.com +auth.me-central-1.amazoncognito.com +auth.me-south-1.amazoncognito.com +auth.sa-east-1.amazoncognito.com +auth.us-east-1.amazoncognito.com +auth-fips.us-east-1.amazoncognito.com +auth.us-east-2.amazoncognito.com +auth-fips.us-east-2.amazoncognito.com +auth-fips.us-gov-west-1.amazoncognito.com +auth.us-west-1.amazoncognito.com +auth-fips.us-west-1.amazoncognito.com +auth.us-west-2.amazoncognito.com +auth-fips.us-west-2.amazoncognito.com +*.compute.amazonaws.com.cn *.compute.amazonaws.com *.compute-1.amazonaws.com -*.compute.amazonaws.com.cn us-east-1.amazonaws.com -cn-north-1.eb.amazonaws.com.cn -cn-northwest-1.eb.amazonaws.com.cn -elasticbeanstalk.com -ap-northeast-1.elasticbeanstalk.com -ap-northeast-2.elasticbeanstalk.com -ap-northeast-3.elasticbeanstalk.com -ap-south-1.elasticbeanstalk.com -ap-southeast-1.elasticbeanstalk.com -ap-southeast-2.elasticbeanstalk.com -ca-central-1.elasticbeanstalk.com -eu-central-1.elasticbeanstalk.com -eu-west-1.elasticbeanstalk.com -eu-west-2.elasticbeanstalk.com -eu-west-3.elasticbeanstalk.com -sa-east-1.elasticbeanstalk.com -us-east-1.elasticbeanstalk.com -us-east-2.elasticbeanstalk.com -us-gov-west-1.elasticbeanstalk.com -us-west-1.elasticbeanstalk.com -us-west-2.elasticbeanstalk.com -*.elb.amazonaws.com -*.elb.amazonaws.com.cn +emrappui-prod.cn-north-1.amazonaws.com.cn +emrnotebooks-prod.cn-north-1.amazonaws.com.cn +emrstudio-prod.cn-north-1.amazonaws.com.cn +emrappui-prod.cn-northwest-1.amazonaws.com.cn +emrnotebooks-prod.cn-northwest-1.amazonaws.com.cn +emrstudio-prod.cn-northwest-1.amazonaws.com.cn +emrappui-prod.af-south-1.amazonaws.com +emrnotebooks-prod.af-south-1.amazonaws.com +emrstudio-prod.af-south-1.amazonaws.com +emrappui-prod.ap-east-1.amazonaws.com +emrnotebooks-prod.ap-east-1.amazonaws.com +emrstudio-prod.ap-east-1.amazonaws.com +emrappui-prod.ap-northeast-1.amazonaws.com +emrnotebooks-prod.ap-northeast-1.amazonaws.com +emrstudio-prod.ap-northeast-1.amazonaws.com +emrappui-prod.ap-northeast-2.amazonaws.com +emrnotebooks-prod.ap-northeast-2.amazonaws.com +emrstudio-prod.ap-northeast-2.amazonaws.com +emrappui-prod.ap-northeast-3.amazonaws.com +emrnotebooks-prod.ap-northeast-3.amazonaws.com +emrstudio-prod.ap-northeast-3.amazonaws.com +emrappui-prod.ap-south-1.amazonaws.com +emrnotebooks-prod.ap-south-1.amazonaws.com +emrstudio-prod.ap-south-1.amazonaws.com +emrappui-prod.ap-south-2.amazonaws.com +emrnotebooks-prod.ap-south-2.amazonaws.com +emrstudio-prod.ap-south-2.amazonaws.com +emrappui-prod.ap-southeast-1.amazonaws.com +emrnotebooks-prod.ap-southeast-1.amazonaws.com +emrstudio-prod.ap-southeast-1.amazonaws.com +emrappui-prod.ap-southeast-2.amazonaws.com +emrnotebooks-prod.ap-southeast-2.amazonaws.com +emrstudio-prod.ap-southeast-2.amazonaws.com +emrappui-prod.ap-southeast-3.amazonaws.com +emrnotebooks-prod.ap-southeast-3.amazonaws.com +emrstudio-prod.ap-southeast-3.amazonaws.com +emrappui-prod.ap-southeast-4.amazonaws.com +emrnotebooks-prod.ap-southeast-4.amazonaws.com +emrstudio-prod.ap-southeast-4.amazonaws.com +emrappui-prod.ca-central-1.amazonaws.com +emrnotebooks-prod.ca-central-1.amazonaws.com +emrstudio-prod.ca-central-1.amazonaws.com +emrappui-prod.ca-west-1.amazonaws.com +emrnotebooks-prod.ca-west-1.amazonaws.com +emrstudio-prod.ca-west-1.amazonaws.com +emrappui-prod.eu-central-1.amazonaws.com +emrnotebooks-prod.eu-central-1.amazonaws.com +emrstudio-prod.eu-central-1.amazonaws.com +emrappui-prod.eu-central-2.amazonaws.com +emrnotebooks-prod.eu-central-2.amazonaws.com +emrstudio-prod.eu-central-2.amazonaws.com +emrappui-prod.eu-north-1.amazonaws.com +emrnotebooks-prod.eu-north-1.amazonaws.com +emrstudio-prod.eu-north-1.amazonaws.com +emrappui-prod.eu-south-1.amazonaws.com +emrnotebooks-prod.eu-south-1.amazonaws.com +emrstudio-prod.eu-south-1.amazonaws.com +emrappui-prod.eu-south-2.amazonaws.com +emrnotebooks-prod.eu-south-2.amazonaws.com +emrstudio-prod.eu-south-2.amazonaws.com +emrappui-prod.eu-west-1.amazonaws.com +emrnotebooks-prod.eu-west-1.amazonaws.com +emrstudio-prod.eu-west-1.amazonaws.com +emrappui-prod.eu-west-2.amazonaws.com +emrnotebooks-prod.eu-west-2.amazonaws.com +emrstudio-prod.eu-west-2.amazonaws.com +emrappui-prod.eu-west-3.amazonaws.com +emrnotebooks-prod.eu-west-3.amazonaws.com +emrstudio-prod.eu-west-3.amazonaws.com +emrappui-prod.il-central-1.amazonaws.com +emrnotebooks-prod.il-central-1.amazonaws.com +emrstudio-prod.il-central-1.amazonaws.com +emrappui-prod.me-central-1.amazonaws.com +emrnotebooks-prod.me-central-1.amazonaws.com +emrstudio-prod.me-central-1.amazonaws.com +emrappui-prod.me-south-1.amazonaws.com +emrnotebooks-prod.me-south-1.amazonaws.com +emrstudio-prod.me-south-1.amazonaws.com +emrappui-prod.sa-east-1.amazonaws.com +emrnotebooks-prod.sa-east-1.amazonaws.com +emrstudio-prod.sa-east-1.amazonaws.com +emrappui-prod.us-east-1.amazonaws.com +emrnotebooks-prod.us-east-1.amazonaws.com +emrstudio-prod.us-east-1.amazonaws.com +emrappui-prod.us-east-2.amazonaws.com +emrnotebooks-prod.us-east-2.amazonaws.com +emrstudio-prod.us-east-2.amazonaws.com +emrappui-prod.us-gov-east-1.amazonaws.com +emrnotebooks-prod.us-gov-east-1.amazonaws.com +emrstudio-prod.us-gov-east-1.amazonaws.com +emrappui-prod.us-gov-west-1.amazonaws.com +emrnotebooks-prod.us-gov-west-1.amazonaws.com +emrstudio-prod.us-gov-west-1.amazonaws.com +emrappui-prod.us-west-1.amazonaws.com +emrnotebooks-prod.us-west-1.amazonaws.com +emrstudio-prod.us-west-1.amazonaws.com +emrappui-prod.us-west-2.amazonaws.com +emrnotebooks-prod.us-west-2.amazonaws.com +emrstudio-prod.us-west-2.amazonaws.com +*.cn-north-1.airflow.amazonaws.com.cn +*.cn-northwest-1.airflow.amazonaws.com.cn +*.af-south-1.airflow.amazonaws.com +*.ap-east-1.airflow.amazonaws.com +*.ap-northeast-1.airflow.amazonaws.com +*.ap-northeast-2.airflow.amazonaws.com +*.ap-northeast-3.airflow.amazonaws.com +*.ap-south-1.airflow.amazonaws.com +*.ap-south-2.airflow.amazonaws.com +*.ap-southeast-1.airflow.amazonaws.com +*.ap-southeast-2.airflow.amazonaws.com +*.ap-southeast-3.airflow.amazonaws.com +*.ap-southeast-4.airflow.amazonaws.com +*.ca-central-1.airflow.amazonaws.com +*.ca-west-1.airflow.amazonaws.com +*.eu-central-1.airflow.amazonaws.com +*.eu-central-2.airflow.amazonaws.com +*.eu-north-1.airflow.amazonaws.com +*.eu-south-1.airflow.amazonaws.com +*.eu-south-2.airflow.amazonaws.com +*.eu-west-1.airflow.amazonaws.com +*.eu-west-2.airflow.amazonaws.com +*.eu-west-3.airflow.amazonaws.com +*.il-central-1.airflow.amazonaws.com +*.me-central-1.airflow.amazonaws.com +*.me-south-1.airflow.amazonaws.com +*.sa-east-1.airflow.amazonaws.com +*.us-east-1.airflow.amazonaws.com +*.us-east-2.airflow.amazonaws.com +*.us-west-1.airflow.amazonaws.com +*.us-west-2.airflow.amazonaws.com +s3.dualstack.cn-north-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-north-1.amazonaws.com.cn +s3-website.dualstack.cn-north-1.amazonaws.com.cn +s3.cn-north-1.amazonaws.com.cn +s3-accesspoint.cn-north-1.amazonaws.com.cn +s3-deprecated.cn-north-1.amazonaws.com.cn +s3-object-lambda.cn-north-1.amazonaws.com.cn +s3-website.cn-north-1.amazonaws.com.cn +s3.dualstack.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.dualstack.cn-northwest-1.amazonaws.com.cn +s3.cn-northwest-1.amazonaws.com.cn +s3-accesspoint.cn-northwest-1.amazonaws.com.cn +s3-object-lambda.cn-northwest-1.amazonaws.com.cn +s3-website.cn-northwest-1.amazonaws.com.cn +s3.dualstack.af-south-1.amazonaws.com +s3-accesspoint.dualstack.af-south-1.amazonaws.com +s3-website.dualstack.af-south-1.amazonaws.com +s3.af-south-1.amazonaws.com +s3-accesspoint.af-south-1.amazonaws.com +s3-object-lambda.af-south-1.amazonaws.com +s3-website.af-south-1.amazonaws.com +s3.dualstack.ap-east-1.amazonaws.com +s3-accesspoint.dualstack.ap-east-1.amazonaws.com +s3.ap-east-1.amazonaws.com +s3-accesspoint.ap-east-1.amazonaws.com +s3-object-lambda.ap-east-1.amazonaws.com +s3-website.ap-east-1.amazonaws.com +s3.dualstack.ap-northeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-1.amazonaws.com +s3-website.dualstack.ap-northeast-1.amazonaws.com +s3.ap-northeast-1.amazonaws.com +s3-accesspoint.ap-northeast-1.amazonaws.com +s3-object-lambda.ap-northeast-1.amazonaws.com +s3-website.ap-northeast-1.amazonaws.com +s3.dualstack.ap-northeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-2.amazonaws.com +s3-website.dualstack.ap-northeast-2.amazonaws.com +s3.ap-northeast-2.amazonaws.com +s3-accesspoint.ap-northeast-2.amazonaws.com +s3-object-lambda.ap-northeast-2.amazonaws.com +s3-website.ap-northeast-2.amazonaws.com +s3.dualstack.ap-northeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-northeast-3.amazonaws.com +s3-website.dualstack.ap-northeast-3.amazonaws.com +s3.ap-northeast-3.amazonaws.com +s3-accesspoint.ap-northeast-3.amazonaws.com +s3-object-lambda.ap-northeast-3.amazonaws.com +s3-website.ap-northeast-3.amazonaws.com +s3.dualstack.ap-south-1.amazonaws.com +s3-accesspoint.dualstack.ap-south-1.amazonaws.com +s3-website.dualstack.ap-south-1.amazonaws.com +s3.ap-south-1.amazonaws.com +s3-accesspoint.ap-south-1.amazonaws.com +s3-object-lambda.ap-south-1.amazonaws.com +s3-website.ap-south-1.amazonaws.com +s3.dualstack.ap-south-2.amazonaws.com +s3-accesspoint.dualstack.ap-south-2.amazonaws.com +s3.ap-south-2.amazonaws.com +s3-accesspoint.ap-south-2.amazonaws.com +s3-object-lambda.ap-south-2.amazonaws.com +s3-website.ap-south-2.amazonaws.com +s3.dualstack.ap-southeast-1.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-1.amazonaws.com +s3-website.dualstack.ap-southeast-1.amazonaws.com +s3.ap-southeast-1.amazonaws.com +s3-accesspoint.ap-southeast-1.amazonaws.com +s3-object-lambda.ap-southeast-1.amazonaws.com +s3-website.ap-southeast-1.amazonaws.com +s3.dualstack.ap-southeast-2.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-2.amazonaws.com +s3-website.dualstack.ap-southeast-2.amazonaws.com +s3.ap-southeast-2.amazonaws.com +s3-accesspoint.ap-southeast-2.amazonaws.com +s3-object-lambda.ap-southeast-2.amazonaws.com +s3-website.ap-southeast-2.amazonaws.com +s3.dualstack.ap-southeast-3.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-3.amazonaws.com +s3.ap-southeast-3.amazonaws.com +s3-accesspoint.ap-southeast-3.amazonaws.com +s3-object-lambda.ap-southeast-3.amazonaws.com +s3-website.ap-southeast-3.amazonaws.com +s3.dualstack.ap-southeast-4.amazonaws.com +s3-accesspoint.dualstack.ap-southeast-4.amazonaws.com +s3.ap-southeast-4.amazonaws.com +s3-accesspoint.ap-southeast-4.amazonaws.com +s3-object-lambda.ap-southeast-4.amazonaws.com +s3-website.ap-southeast-4.amazonaws.com +s3.dualstack.ca-central-1.amazonaws.com +s3-accesspoint.dualstack.ca-central-1.amazonaws.com +s3-accesspoint-fips.dualstack.ca-central-1.amazonaws.com +s3-fips.dualstack.ca-central-1.amazonaws.com +s3-website.dualstack.ca-central-1.amazonaws.com +s3.ca-central-1.amazonaws.com +s3-accesspoint.ca-central-1.amazonaws.com +s3-accesspoint-fips.ca-central-1.amazonaws.com +s3-fips.ca-central-1.amazonaws.com +s3-object-lambda.ca-central-1.amazonaws.com +s3-website.ca-central-1.amazonaws.com +s3.dualstack.ca-west-1.amazonaws.com +s3-accesspoint.dualstack.ca-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.ca-west-1.amazonaws.com +s3-fips.dualstack.ca-west-1.amazonaws.com +s3-website.dualstack.ca-west-1.amazonaws.com +s3.ca-west-1.amazonaws.com +s3-accesspoint.ca-west-1.amazonaws.com +s3-accesspoint-fips.ca-west-1.amazonaws.com +s3-fips.ca-west-1.amazonaws.com +s3-website.ca-west-1.amazonaws.com +s3.dualstack.eu-central-1.amazonaws.com +s3-accesspoint.dualstack.eu-central-1.amazonaws.com +s3-website.dualstack.eu-central-1.amazonaws.com +s3.eu-central-1.amazonaws.com +s3-accesspoint.eu-central-1.amazonaws.com +s3-object-lambda.eu-central-1.amazonaws.com +s3-website.eu-central-1.amazonaws.com +s3.dualstack.eu-central-2.amazonaws.com +s3-accesspoint.dualstack.eu-central-2.amazonaws.com +s3.eu-central-2.amazonaws.com +s3-accesspoint.eu-central-2.amazonaws.com +s3-object-lambda.eu-central-2.amazonaws.com +s3-website.eu-central-2.amazonaws.com +s3.dualstack.eu-north-1.amazonaws.com +s3-accesspoint.dualstack.eu-north-1.amazonaws.com +s3.eu-north-1.amazonaws.com +s3-accesspoint.eu-north-1.amazonaws.com +s3-object-lambda.eu-north-1.amazonaws.com +s3-website.eu-north-1.amazonaws.com +s3.dualstack.eu-south-1.amazonaws.com +s3-accesspoint.dualstack.eu-south-1.amazonaws.com +s3-website.dualstack.eu-south-1.amazonaws.com +s3.eu-south-1.amazonaws.com +s3-accesspoint.eu-south-1.amazonaws.com +s3-object-lambda.eu-south-1.amazonaws.com +s3-website.eu-south-1.amazonaws.com +s3.dualstack.eu-south-2.amazonaws.com +s3-accesspoint.dualstack.eu-south-2.amazonaws.com +s3.eu-south-2.amazonaws.com +s3-accesspoint.eu-south-2.amazonaws.com +s3-object-lambda.eu-south-2.amazonaws.com +s3-website.eu-south-2.amazonaws.com +s3.dualstack.eu-west-1.amazonaws.com +s3-accesspoint.dualstack.eu-west-1.amazonaws.com +s3-website.dualstack.eu-west-1.amazonaws.com +s3.eu-west-1.amazonaws.com +s3-accesspoint.eu-west-1.amazonaws.com +s3-deprecated.eu-west-1.amazonaws.com +s3-object-lambda.eu-west-1.amazonaws.com +s3-website.eu-west-1.amazonaws.com +s3.dualstack.eu-west-2.amazonaws.com +s3-accesspoint.dualstack.eu-west-2.amazonaws.com +s3.eu-west-2.amazonaws.com +s3-accesspoint.eu-west-2.amazonaws.com +s3-object-lambda.eu-west-2.amazonaws.com +s3-website.eu-west-2.amazonaws.com +s3.dualstack.eu-west-3.amazonaws.com +s3-accesspoint.dualstack.eu-west-3.amazonaws.com +s3-website.dualstack.eu-west-3.amazonaws.com +s3.eu-west-3.amazonaws.com +s3-accesspoint.eu-west-3.amazonaws.com +s3-object-lambda.eu-west-3.amazonaws.com +s3-website.eu-west-3.amazonaws.com +s3.dualstack.il-central-1.amazonaws.com +s3-accesspoint.dualstack.il-central-1.amazonaws.com +s3.il-central-1.amazonaws.com +s3-accesspoint.il-central-1.amazonaws.com +s3-object-lambda.il-central-1.amazonaws.com +s3-website.il-central-1.amazonaws.com +s3.dualstack.me-central-1.amazonaws.com +s3-accesspoint.dualstack.me-central-1.amazonaws.com +s3.me-central-1.amazonaws.com +s3-accesspoint.me-central-1.amazonaws.com +s3-object-lambda.me-central-1.amazonaws.com +s3-website.me-central-1.amazonaws.com +s3.dualstack.me-south-1.amazonaws.com +s3-accesspoint.dualstack.me-south-1.amazonaws.com +s3.me-south-1.amazonaws.com +s3-accesspoint.me-south-1.amazonaws.com +s3-object-lambda.me-south-1.amazonaws.com +s3-website.me-south-1.amazonaws.com s3.amazonaws.com +s3-1.amazonaws.com +s3-ap-east-1.amazonaws.com s3-ap-northeast-1.amazonaws.com s3-ap-northeast-2.amazonaws.com +s3-ap-northeast-3.amazonaws.com s3-ap-south-1.amazonaws.com s3-ap-southeast-1.amazonaws.com s3-ap-southeast-2.amazonaws.com s3-ca-central-1.amazonaws.com s3-eu-central-1.amazonaws.com +s3-eu-north-1.amazonaws.com s3-eu-west-1.amazonaws.com s3-eu-west-2.amazonaws.com s3-eu-west-3.amazonaws.com s3-external-1.amazonaws.com +s3-fips-us-gov-east-1.amazonaws.com s3-fips-us-gov-west-1.amazonaws.com +mrap.accesspoint.s3-global.amazonaws.com +s3-me-south-1.amazonaws.com s3-sa-east-1.amazonaws.com -s3-us-gov-west-1.amazonaws.com s3-us-east-2.amazonaws.com +s3-us-gov-east-1.amazonaws.com +s3-us-gov-west-1.amazonaws.com s3-us-west-1.amazonaws.com s3-us-west-2.amazonaws.com -s3.ap-northeast-2.amazonaws.com -s3.ap-south-1.amazonaws.com -s3.cn-north-1.amazonaws.com.cn -s3.ca-central-1.amazonaws.com -s3.eu-central-1.amazonaws.com -s3.eu-west-2.amazonaws.com -s3.eu-west-3.amazonaws.com -s3.us-east-2.amazonaws.com -s3.dualstack.ap-northeast-1.amazonaws.com -s3.dualstack.ap-northeast-2.amazonaws.com -s3.dualstack.ap-south-1.amazonaws.com -s3.dualstack.ap-southeast-1.amazonaws.com -s3.dualstack.ap-southeast-2.amazonaws.com -s3.dualstack.ca-central-1.amazonaws.com -s3.dualstack.eu-central-1.amazonaws.com -s3.dualstack.eu-west-1.amazonaws.com -s3.dualstack.eu-west-2.amazonaws.com -s3.dualstack.eu-west-3.amazonaws.com -s3.dualstack.sa-east-1.amazonaws.com -s3.dualstack.us-east-1.amazonaws.com -s3.dualstack.us-east-2.amazonaws.com -s3-website-us-east-1.amazonaws.com -s3-website-us-west-1.amazonaws.com -s3-website-us-west-2.amazonaws.com s3-website-ap-northeast-1.amazonaws.com s3-website-ap-southeast-1.amazonaws.com s3-website-ap-southeast-2.amazonaws.com s3-website-eu-west-1.amazonaws.com s3-website-sa-east-1.amazonaws.com -s3-website.ap-northeast-2.amazonaws.com -s3-website.ap-south-1.amazonaws.com -s3-website.ca-central-1.amazonaws.com -s3-website.eu-central-1.amazonaws.com -s3-website.eu-west-2.amazonaws.com -s3-website.eu-west-3.amazonaws.com +s3-website-us-east-1.amazonaws.com +s3-website-us-gov-west-1.amazonaws.com +s3-website-us-west-1.amazonaws.com +s3-website-us-west-2.amazonaws.com +s3.dualstack.sa-east-1.amazonaws.com +s3-accesspoint.dualstack.sa-east-1.amazonaws.com +s3-website.dualstack.sa-east-1.amazonaws.com +s3.sa-east-1.amazonaws.com +s3-accesspoint.sa-east-1.amazonaws.com +s3-object-lambda.sa-east-1.amazonaws.com +s3-website.sa-east-1.amazonaws.com +s3.dualstack.us-east-1.amazonaws.com +s3-accesspoint.dualstack.us-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-1.amazonaws.com +s3-fips.dualstack.us-east-1.amazonaws.com +s3-website.dualstack.us-east-1.amazonaws.com +s3.us-east-1.amazonaws.com +s3-accesspoint.us-east-1.amazonaws.com +s3-accesspoint-fips.us-east-1.amazonaws.com +s3-deprecated.us-east-1.amazonaws.com +s3-fips.us-east-1.amazonaws.com +s3-object-lambda.us-east-1.amazonaws.com +s3-website.us-east-1.amazonaws.com +s3.dualstack.us-east-2.amazonaws.com +s3-accesspoint.dualstack.us-east-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-east-2.amazonaws.com +s3-fips.dualstack.us-east-2.amazonaws.com +s3.us-east-2.amazonaws.com +s3-accesspoint.us-east-2.amazonaws.com +s3-accesspoint-fips.us-east-2.amazonaws.com +s3-deprecated.us-east-2.amazonaws.com +s3-fips.us-east-2.amazonaws.com +s3-object-lambda.us-east-2.amazonaws.com s3-website.us-east-2.amazonaws.com -t3l3p0rt.net -tele.amune.org -apigee.io -on-aptible.com -user.aseinet.ne.jp -gv.vc -d.gv.vc -user.party.eus -pimienta.org -poivron.org -potager.org -sweetpepper.org -myasustor.com -go-vip.co -go-vip.net -wpcomstaging.com -myfritz.net -*.awdev.ca -*.advisor.ws +s3.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-east-1.amazonaws.com +s3-fips.dualstack.us-gov-east-1.amazonaws.com +s3.us-gov-east-1.amazonaws.com +s3-accesspoint.us-gov-east-1.amazonaws.com +s3-accesspoint-fips.us-gov-east-1.amazonaws.com +s3-fips.us-gov-east-1.amazonaws.com +s3-object-lambda.us-gov-east-1.amazonaws.com +s3-website.us-gov-east-1.amazonaws.com +s3.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint.dualstack.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-gov-west-1.amazonaws.com +s3-fips.dualstack.us-gov-west-1.amazonaws.com +s3.us-gov-west-1.amazonaws.com +s3-accesspoint.us-gov-west-1.amazonaws.com +s3-accesspoint-fips.us-gov-west-1.amazonaws.com +s3-fips.us-gov-west-1.amazonaws.com +s3-object-lambda.us-gov-west-1.amazonaws.com +s3-website.us-gov-west-1.amazonaws.com +s3.dualstack.us-west-1.amazonaws.com +s3-accesspoint.dualstack.us-west-1.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-1.amazonaws.com +s3-fips.dualstack.us-west-1.amazonaws.com +s3-website.dualstack.us-west-1.amazonaws.com +s3.us-west-1.amazonaws.com +s3-accesspoint.us-west-1.amazonaws.com +s3-accesspoint-fips.us-west-1.amazonaws.com +s3-fips.us-west-1.amazonaws.com +s3-object-lambda.us-west-1.amazonaws.com +s3-website.us-west-1.amazonaws.com +s3.dualstack.us-west-2.amazonaws.com +s3-accesspoint.dualstack.us-west-2.amazonaws.com +s3-accesspoint-fips.dualstack.us-west-2.amazonaws.com +s3-fips.dualstack.us-west-2.amazonaws.com +s3-website.dualstack.us-west-2.amazonaws.com +s3.us-west-2.amazonaws.com +s3-accesspoint.us-west-2.amazonaws.com +s3-accesspoint-fips.us-west-2.amazonaws.com +s3-deprecated.us-west-2.amazonaws.com +s3-fips.us-west-2.amazonaws.com +s3-object-lambda.us-west-2.amazonaws.com +s3-website.us-west-2.amazonaws.com +labeling.ap-northeast-1.sagemaker.aws +labeling.ap-northeast-2.sagemaker.aws +labeling.ap-south-1.sagemaker.aws +labeling.ap-southeast-1.sagemaker.aws +labeling.ap-southeast-2.sagemaker.aws +labeling.ca-central-1.sagemaker.aws +labeling.eu-central-1.sagemaker.aws +labeling.eu-west-1.sagemaker.aws +labeling.eu-west-2.sagemaker.aws +labeling.us-east-1.sagemaker.aws +labeling.us-east-2.sagemaker.aws +labeling.us-west-2.sagemaker.aws +notebook.af-south-1.sagemaker.aws +notebook.ap-east-1.sagemaker.aws +notebook.ap-northeast-1.sagemaker.aws +notebook.ap-northeast-2.sagemaker.aws +notebook.ap-northeast-3.sagemaker.aws +notebook.ap-south-1.sagemaker.aws +notebook.ap-south-2.sagemaker.aws +notebook.ap-southeast-1.sagemaker.aws +notebook.ap-southeast-2.sagemaker.aws +notebook.ap-southeast-3.sagemaker.aws +notebook.ap-southeast-4.sagemaker.aws +notebook.ca-central-1.sagemaker.aws +notebook-fips.ca-central-1.sagemaker.aws +notebook.ca-west-1.sagemaker.aws +notebook-fips.ca-west-1.sagemaker.aws +notebook.eu-central-1.sagemaker.aws +notebook.eu-central-2.sagemaker.aws +notebook.eu-north-1.sagemaker.aws +notebook.eu-south-1.sagemaker.aws +notebook.eu-south-2.sagemaker.aws +notebook.eu-west-1.sagemaker.aws +notebook.eu-west-2.sagemaker.aws +notebook.eu-west-3.sagemaker.aws +notebook.il-central-1.sagemaker.aws +notebook.me-central-1.sagemaker.aws +notebook.me-south-1.sagemaker.aws +notebook.sa-east-1.sagemaker.aws +notebook.us-east-1.sagemaker.aws +notebook-fips.us-east-1.sagemaker.aws +notebook.us-east-2.sagemaker.aws +notebook-fips.us-east-2.sagemaker.aws +notebook.us-gov-east-1.sagemaker.aws +notebook-fips.us-gov-east-1.sagemaker.aws +notebook.us-gov-west-1.sagemaker.aws +notebook-fips.us-gov-west-1.sagemaker.aws +notebook.us-west-1.sagemaker.aws +notebook-fips.us-west-1.sagemaker.aws +notebook.us-west-2.sagemaker.aws +notebook-fips.us-west-2.sagemaker.aws +notebook.cn-north-1.sagemaker.com.cn +notebook.cn-northwest-1.sagemaker.com.cn +studio.af-south-1.sagemaker.aws +studio.ap-east-1.sagemaker.aws +studio.ap-northeast-1.sagemaker.aws +studio.ap-northeast-2.sagemaker.aws +studio.ap-northeast-3.sagemaker.aws +studio.ap-south-1.sagemaker.aws +studio.ap-southeast-1.sagemaker.aws +studio.ap-southeast-2.sagemaker.aws +studio.ap-southeast-3.sagemaker.aws +studio.ca-central-1.sagemaker.aws +studio.eu-central-1.sagemaker.aws +studio.eu-north-1.sagemaker.aws +studio.eu-south-1.sagemaker.aws +studio.eu-south-2.sagemaker.aws +studio.eu-west-1.sagemaker.aws +studio.eu-west-2.sagemaker.aws +studio.eu-west-3.sagemaker.aws +studio.il-central-1.sagemaker.aws +studio.me-central-1.sagemaker.aws +studio.me-south-1.sagemaker.aws +studio.sa-east-1.sagemaker.aws +studio.us-east-1.sagemaker.aws +studio.us-east-2.sagemaker.aws +studio.us-gov-east-1.sagemaker.aws +studio-fips.us-gov-east-1.sagemaker.aws +studio.us-gov-west-1.sagemaker.aws +studio-fips.us-gov-west-1.sagemaker.aws +studio.us-west-1.sagemaker.aws +studio.us-west-2.sagemaker.aws +studio.cn-north-1.sagemaker.com.cn +studio.cn-northwest-1.sagemaker.com.cn +*.experiments.sagemaker.aws +analytics-gateway.ap-northeast-1.amazonaws.com +analytics-gateway.ap-northeast-2.amazonaws.com +analytics-gateway.ap-south-1.amazonaws.com +analytics-gateway.ap-southeast-1.amazonaws.com +analytics-gateway.ap-southeast-2.amazonaws.com +analytics-gateway.eu-central-1.amazonaws.com +analytics-gateway.eu-west-1.amazonaws.com +analytics-gateway.us-east-1.amazonaws.com +analytics-gateway.us-east-2.amazonaws.com +analytics-gateway.us-west-2.amazonaws.com +amplifyapp.com +*.awsapprunner.com +webview-assets.aws-cloud9.af-south-1.amazonaws.com +vfs.cloud9.af-south-1.amazonaws.com +webview-assets.cloud9.af-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-east-1.amazonaws.com +vfs.cloud9.ap-east-1.amazonaws.com +webview-assets.cloud9.ap-east-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-1.amazonaws.com +vfs.cloud9.ap-northeast-1.amazonaws.com +webview-assets.cloud9.ap-northeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-2.amazonaws.com +vfs.cloud9.ap-northeast-2.amazonaws.com +webview-assets.cloud9.ap-northeast-2.amazonaws.com +webview-assets.aws-cloud9.ap-northeast-3.amazonaws.com +vfs.cloud9.ap-northeast-3.amazonaws.com +webview-assets.cloud9.ap-northeast-3.amazonaws.com +webview-assets.aws-cloud9.ap-south-1.amazonaws.com +vfs.cloud9.ap-south-1.amazonaws.com +webview-assets.cloud9.ap-south-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-1.amazonaws.com +vfs.cloud9.ap-southeast-1.amazonaws.com +webview-assets.cloud9.ap-southeast-1.amazonaws.com +webview-assets.aws-cloud9.ap-southeast-2.amazonaws.com +vfs.cloud9.ap-southeast-2.amazonaws.com +webview-assets.cloud9.ap-southeast-2.amazonaws.com +webview-assets.aws-cloud9.ca-central-1.amazonaws.com +vfs.cloud9.ca-central-1.amazonaws.com +webview-assets.cloud9.ca-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-central-1.amazonaws.com +vfs.cloud9.eu-central-1.amazonaws.com +webview-assets.cloud9.eu-central-1.amazonaws.com +webview-assets.aws-cloud9.eu-north-1.amazonaws.com +vfs.cloud9.eu-north-1.amazonaws.com +webview-assets.cloud9.eu-north-1.amazonaws.com +webview-assets.aws-cloud9.eu-south-1.amazonaws.com +vfs.cloud9.eu-south-1.amazonaws.com +webview-assets.cloud9.eu-south-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-1.amazonaws.com +vfs.cloud9.eu-west-1.amazonaws.com +webview-assets.cloud9.eu-west-1.amazonaws.com +webview-assets.aws-cloud9.eu-west-2.amazonaws.com +vfs.cloud9.eu-west-2.amazonaws.com +webview-assets.cloud9.eu-west-2.amazonaws.com +webview-assets.aws-cloud9.eu-west-3.amazonaws.com +vfs.cloud9.eu-west-3.amazonaws.com +webview-assets.cloud9.eu-west-3.amazonaws.com +webview-assets.aws-cloud9.il-central-1.amazonaws.com +vfs.cloud9.il-central-1.amazonaws.com +webview-assets.aws-cloud9.me-south-1.amazonaws.com +vfs.cloud9.me-south-1.amazonaws.com +webview-assets.cloud9.me-south-1.amazonaws.com +webview-assets.aws-cloud9.sa-east-1.amazonaws.com +vfs.cloud9.sa-east-1.amazonaws.com +webview-assets.cloud9.sa-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-1.amazonaws.com +vfs.cloud9.us-east-1.amazonaws.com +webview-assets.cloud9.us-east-1.amazonaws.com +webview-assets.aws-cloud9.us-east-2.amazonaws.com +vfs.cloud9.us-east-2.amazonaws.com +webview-assets.cloud9.us-east-2.amazonaws.com +webview-assets.aws-cloud9.us-west-1.amazonaws.com +vfs.cloud9.us-west-1.amazonaws.com +webview-assets.cloud9.us-west-1.amazonaws.com +webview-assets.aws-cloud9.us-west-2.amazonaws.com +vfs.cloud9.us-west-2.amazonaws.com +webview-assets.cloud9.us-west-2.amazonaws.com +awsapps.com +cn-north-1.eb.amazonaws.com.cn +cn-northwest-1.eb.amazonaws.com.cn +elasticbeanstalk.com +af-south-1.elasticbeanstalk.com +ap-east-1.elasticbeanstalk.com +ap-northeast-1.elasticbeanstalk.com +ap-northeast-2.elasticbeanstalk.com +ap-northeast-3.elasticbeanstalk.com +ap-south-1.elasticbeanstalk.com +ap-southeast-1.elasticbeanstalk.com +ap-southeast-2.elasticbeanstalk.com +ap-southeast-3.elasticbeanstalk.com +ca-central-1.elasticbeanstalk.com +eu-central-1.elasticbeanstalk.com +eu-north-1.elasticbeanstalk.com +eu-south-1.elasticbeanstalk.com +eu-west-1.elasticbeanstalk.com +eu-west-2.elasticbeanstalk.com +eu-west-3.elasticbeanstalk.com +il-central-1.elasticbeanstalk.com +me-south-1.elasticbeanstalk.com +sa-east-1.elasticbeanstalk.com +us-east-1.elasticbeanstalk.com +us-east-2.elasticbeanstalk.com +us-gov-east-1.elasticbeanstalk.com +us-gov-west-1.elasticbeanstalk.com +us-west-1.elasticbeanstalk.com +us-west-2.elasticbeanstalk.com +*.elb.amazonaws.com.cn +*.elb.amazonaws.com +awsglobalaccelerator.com +*.private.repost.aws +eero.online +eero-stage.online +apigee.io +panel.dev +siiites.com +appspacehosted.com +appspaceusercontent.com +appudo.net +on-aptible.com +f5.si +user.aseinet.ne.jp +gv.vc +d.gv.vc +user.party.eus +pimienta.org +poivron.org +potager.org +sweetpepper.org +myasustor.com +cdn.prod.atlassian-dev.net +translated.page +autocode.dev +myfritz.link +myfritz.net +onavstack.net +*.awdev.ca +*.advisor.ws +ecommerce-shop.pl b-data.io -backplaneapp.io balena-devices.com +*.banzai.cloud app.banzaicloud.io +*.backyards.banzaicloud.io +base.ec +official.ec +buyshop.jp +fashionstore.jp +handcrafted.jp +kawaiishop.jp +supersale.jp +theshop.jp +shopselect.net +base.shop +beagleboard.io +*.beget.app +pages.gay betainabox.com bnr.la +bitbucket.io blackbaudcdn.net +of.je +bluebite.io boomla.net +boutir.com boxfuse.io square7.ch bplaced.com @@ -7912,54 +8120,89 @@ bplaced.de square7.de bplaced.net square7.net +*.s.brave.io +shop.brendly.hr +shop.brendly.rs browsersafetymark.io +radio.am +radio.fm uk0.bigv.io dh.bytemark.co.uk vm.bytemark.co.uk +cafjs.com mycd.eu +canva-apps.cn +*.my.canvasite.cn +canva-apps.com +*.my.canva.site +drr.ac +uwu.ai carrd.co crd.co -uwu.ai -ae.org -ar.com +ju.mp +api.gov.uk +cdn77-storage.com +rsc.contentproxy9.cz +r.cdn77.net +cdn77-ssl.net +c.cdn77.org +rsc.cdn77.org +ssl.origin.cdn77-secure.org +za.bz br.com cn.com -com.de -com.se de.com eu.com -gb.com -gb.net -hu.com -hu.net -jp.net jpn.com -kr.com mex.com -no.com -qc.com ru.com sa.com -se.net uk.com -uk.net us.com -uy.com -za.bz za.com -africa.com -gr.com -in.net -us.org -co.com -c.la +com.de +gb.net +hu.net +jp.net +se.net +uk.net +ae.org +com.se certmgr.org -xenapponazure.com +cx.ua discourse.group -virtueeldomein.nl -cleverapps.io +discourse.team +clerk.app +clerkstage.app *.lcl.dev +*.lclstage.dev *.stg.dev +*.stgstage.dev +cleverapps.cc +*.services.clever-cloud.com +cleverapps.io +cleverapps.tech +clickrising.net +cloudns.asia +cloudns.be +cloudns.biz +cloudns.cc +cloudns.ch +cloudns.cl +cloudns.club +dnsabr.com +cloudns.cx +cloudns.eu +cloudns.in +cloudns.info +dns-cloud.net +dns-dynamic.net +cloudns.nz +cloudns.org +cloudns.ph +cloudns.pro +cloudns.pw +cloudns.us c66.me cloud66.ws cloud66.zone @@ -7968,79 +8211,148 @@ wpdevcloud.com cloudaccess.host freesite.host cloudaccess.net -cloudcontrolled.com -cloudcontrolapp.com -cloudera.site +*.cloudera.site +cf-ipfs.com +cloudflare-ipfs.com trycloudflare.com +pages.dev +r2.dev workers.dev +cloudflare.net +cdn.cloudflare.net +cdn.cloudflareanycast.net +cdn.cloudflarecn.net +cdn.cloudflareglobal.net +cust.cloudscale.ch +objects.lpg.cloudscale.ch +objects.rma.cloudscale.ch wnext.app -co.ca -*.otap.co -co.cz -c.cdn77.org -cdn77-ssl.net -r.cdn77.net -rsc.cdn77.org -ssl.origin.cdn77-secure.org -cloudns.asia -cloudns.biz -cloudns.club -cloudns.cc -cloudns.eu -cloudns.in -cloudns.info -cloudns.org -cloudns.pro -cloudns.pw -cloudns.us -cloudeity.net cnpy.gdn +*.otap.co +co.ca +co.com +codeberg.page +csb.app +preview.csb.app co.nl co.no webhosting.be hosting-cluster.nl +convex.site +ac.ru +edu.ru +gov.ru +int.ru +mil.ru +test.ru dyn.cosidns.de -dynamisches-dns.de dnsupdater.de +dynamisches-dns.de internet-dns.de l-o-g-i-n.de dynamic-dns.info feste-ip.net knx-server.net static-access.net +craft.me realm.cz +on.crisp.email *.cryptonomic.net -cupcake.is +curv.dev +*.customer-oci.com +*.oci.customer-oci.com +*.ocp.customer-oci.com +*.ocs.customer-oci.com +cfolks.pl cyon.link cyon.site +platform0.app +fnwk.site +folionetwork.site +biz.dk +co.dk +firm.dk +reg.dk +store.dk daplie.me localhost.daplie.me +dyndns.dappnode.io +*.dapps.earth +*.bzz.dapps.earth +builtwithdark.com +darklang.io +demo.datadetect.com +instance.datadetect.com +edgestack.me dattolocal.com dattorelay.com dattoweb.com mydatto.com dattolocal.net mydatto.net -biz.dk -co.dk -firm.dk -reg.dk -store.dk -*.dapps.earth -*.bzz.dapps.earth +ddns5.com +ddnss.de +dyn.ddnss.de +dyndns.ddnss.de +dyn-ip24.de +dyndns1.de +home-webserver.de +dyn.home-webserver.de +myhome-server.de +ddnss.org debian.net +definima.io +definima.net +deno.dev +deno-staging.dev dedyn.io +deta.app +deta.dev +dfirma.pl +dkonto.pl +you2.pl +ondigitalocean.app +*.digitaloceanspaces.com +us.kg +*.rss.my.id +*.diher.solutions +discordsays.com +discordsez.com +jozi.biz dnshome.de +bci.dnstrace.pro online.th shop.th drayddns.com +shoparena.pl dreamhosters.com +durumis.com mydrobo.com drud.io drud.us duckdns.org dy.fi tunk.org +dyndns.biz +for-better.biz +for-more.biz +for-some.biz +for-the.biz +selfip.biz +webhop.biz +ftpaccess.cc +game-server.cc +myphotos.cc +scrapping.cc +blogdns.com +cechire.com +dnsalias.com +dnsdojo.com +doesntexist.com +dontexist.com +doomdns.com +dyn-o-saur.com +dynalias.com dyndns-at-home.com dyndns-at-work.com dyndns-blog.com @@ -8055,64 +8367,14 @@ dyndns-server.com dyndns-web.com dyndns-wiki.com dyndns-work.com -dyndns.biz -dyndns.info -dyndns.org -dyndns.tv -at-band-camp.net -ath.cx -barrel-of-knowledge.info -barrell-of-knowledge.info -better-than.tv -blogdns.com -blogdns.net -blogdns.org -blogsite.org -boldlygoingnowhere.org -broke-it.net -buyshouses.net -cechire.com -dnsalias.com -dnsalias.net -dnsalias.org -dnsdojo.com -dnsdojo.net -dnsdojo.org -does-it.net -doesntexist.com -doesntexist.org -dontexist.com -dontexist.net -dontexist.org -doomdns.com -doomdns.org -dvrdns.org -dyn-o-saur.com -dynalias.com -dynalias.net -dynalias.org -dynathome.net -dyndns.ws -endofinternet.net -endofinternet.org -endoftheinternet.org est-a-la-maison.com est-a-la-masion.com est-le-patron.com est-mon-blogueur.com -for-better.biz -for-more.biz -for-our.info -for-some.biz -for-the.biz -forgot.her.name -forgot.his.name from-ak.com from-al.com from-ar.com -from-az.net from-ca.com -from-co.net from-ct.com from-dc.com from-de.com @@ -8125,10 +8387,8 @@ from-il.com from-in.com from-ks.com from-ky.com -from-la.net from-ma.com from-md.com -from-me.org from-mi.com from-mn.com from-mo.com @@ -8141,7 +8401,6 @@ from-nh.com from-nj.com from-nm.com from-nv.com -from-ny.net from-oh.com from-ok.com from-or.com @@ -8159,179 +8418,200 @@ from-wa.com from-wi.com from-wv.com from-wy.com -ftpaccess.cc -fuettertdasnetz.de -game-host.org -game-server.cc getmyip.com +gotdns.com +hobby-site.com +homelinux.com +homeunix.com +iamallama.com +is-a-anarchist.com +is-a-blogger.com +is-a-bookkeeper.com +is-a-bulls-fan.com +is-a-caterer.com +is-a-chef.com +is-a-conservative.com +is-a-cpa.com +is-a-cubicle-slave.com +is-a-democrat.com +is-a-designer.com +is-a-doctor.com +is-a-financialadvisor.com +is-a-geek.com +is-a-green.com +is-a-guru.com +is-a-hard-worker.com +is-a-hunter.com +is-a-landscaper.com +is-a-lawyer.com +is-a-liberal.com +is-a-libertarian.com +is-a-llama.com +is-a-musician.com +is-a-nascarfan.com +is-a-nurse.com +is-a-painter.com +is-a-personaltrainer.com +is-a-photographer.com +is-a-player.com +is-a-republican.com +is-a-rockstar.com +is-a-socialist.com +is-a-student.com +is-a-teacher.com +is-a-techie.com +is-a-therapist.com +is-an-accountant.com +is-an-actor.com +is-an-actress.com +is-an-anarchist.com +is-an-artist.com +is-an-engineer.com +is-an-entertainer.com +is-certified.com +is-gone.com +is-into-anime.com +is-into-cars.com +is-into-cartoons.com +is-into-games.com +is-leet.com +is-not-certified.com +is-slick.com +is-uberleet.com +is-with-theband.com +isa-geek.com +isa-hockeynut.com +issmarterthanyou.com +likes-pie.com +likescandy.com +neat-url.com +saves-the-whales.com +selfip.com +sells-for-less.com +sells-for-u.com +servebbs.com +simple-url.com +space-to-rent.com +teaches-yoga.com +writesthisblog.com +ath.cx +fuettertdasnetz.de +isteingeek.de +istmein.de +lebtimnetz.de +leitungsen.de +traeumtgerade.de +barrel-of-knowledge.info +barrell-of-knowledge.info +dyndns.info +for-our.info +groks-the.info +groks-this.info +here-for-more.info +knowsitall.info +selfip.info +webhop.info +forgot.her.name +forgot.his.name +at-band-camp.net +blogdns.net +broke-it.net +buyshouses.net +dnsalias.net +dnsdojo.net +does-it.net +dontexist.net +dynalias.net +dynathome.net +endofinternet.net +from-az.net +from-co.net +from-la.net +from-ny.net gets-it.net +ham-radio-op.net +homeftp.net +homeip.net +homelinux.net +homeunix.net +in-the-band.net +is-a-chef.net +is-a-geek.net +isa-geek.net +kicks-ass.net +office-on-the.net +podzone.net +scrapper-site.net +selfip.net +sells-it.net +servebbs.net +serveftp.net +thruhere.net +webhop.net +merseine.nu +mine.nu +shacknet.nu +blogdns.org +blogsite.org +boldlygoingnowhere.org +dnsalias.org +dnsdojo.org +doesntexist.org +dontexist.org +doomdns.org +dvrdns.org +dynalias.org +dyndns.org go.dyndns.org -gotdns.com +home.dyndns.org +endofinternet.org +endoftheinternet.org +from-me.org +game-host.org gotdns.org -groks-the.info -groks-this.info -ham-radio-op.net -here-for-more.info -hobby-site.com hobby-site.org -home.dyndns.org homedns.org -homeftp.net homeftp.org -homeip.net -homelinux.com -homelinux.net homelinux.org -homeunix.com -homeunix.net homeunix.org -iamallama.com -in-the-band.net -is-a-anarchist.com -is-a-blogger.com -is-a-bookkeeper.com is-a-bruinsfan.org -is-a-bulls-fan.com is-a-candidate.org -is-a-caterer.com is-a-celticsfan.org -is-a-chef.com -is-a-chef.net is-a-chef.org -is-a-conservative.com -is-a-cpa.com -is-a-cubicle-slave.com -is-a-democrat.com -is-a-designer.com -is-a-doctor.com -is-a-financialadvisor.com -is-a-geek.com -is-a-geek.net is-a-geek.org -is-a-green.com -is-a-guru.com -is-a-hard-worker.com -is-a-hunter.com is-a-knight.org -is-a-landscaper.com -is-a-lawyer.com -is-a-liberal.com -is-a-libertarian.com is-a-linux-user.org -is-a-llama.com -is-a-musician.com -is-a-nascarfan.com -is-a-nurse.com -is-a-painter.com is-a-patsfan.org -is-a-personaltrainer.com -is-a-photographer.com -is-a-player.com -is-a-republican.com -is-a-rockstar.com -is-a-socialist.com is-a-soxfan.org -is-a-student.com -is-a-teacher.com -is-a-techie.com -is-a-therapist.com -is-an-accountant.com -is-an-actor.com -is-an-actress.com -is-an-anarchist.com -is-an-artist.com -is-an-engineer.com -is-an-entertainer.com -is-by.us -is-certified.com is-found.org -is-gone.com -is-into-anime.com -is-into-cars.com -is-into-cartoons.com -is-into-games.com -is-leet.com is-lost.org -is-not-certified.com is-saved.org -is-slick.com -is-uberleet.com is-very-bad.org is-very-evil.org is-very-good.org is-very-nice.org is-very-sweet.org -is-with-theband.com -isa-geek.com -isa-geek.net isa-geek.org -isa-hockeynut.com -issmarterthanyou.com -isteingeek.de -istmein.de -kicks-ass.net kicks-ass.org -knowsitall.info -land-4-sale.us -lebtimnetz.de -leitungsen.de -likes-pie.com -likescandy.com -merseine.nu -mine.nu misconfused.org -mypets.ws -myphotos.cc -neat-url.com -office-on-the.net -on-the-web.tv -podzone.net podzone.org readmyblog.org -saves-the-whales.com -scrapper-site.net -scrapping.cc -selfip.biz -selfip.com -selfip.info -selfip.net selfip.org -sells-for-less.com -sells-for-u.com -sells-it.net sellsyourhome.org -servebbs.com -servebbs.net servebbs.org -serveftp.net serveftp.org servegame.org -shacknet.nu -simple-url.com -space-to-rent.com stuff-4-sale.org -stuff-4-sale.us -teaches-yoga.com -thruhere.net -traeumtgerade.de -webhop.biz -webhop.info -webhop.net webhop.org +better-than.tv +dyndns.tv +on-the-web.tv worse-than.tv -writesthisblog.com -ddnss.de -dyn.ddnss.de -dyndns.ddnss.de -dyndns1.de -dyn-ip24.de -home-webserver.de -dyn.home-webserver.de -myhome-server.de -ddnss.org -definima.net -definima.io -bci.dnstrace.pro +is-by.us +land-4-sale.us +stuff-4-sale.us +dyndns.ws +mypets.ws ddnsfree.com ddnsgeek.com giize.com @@ -8348,14 +8628,28 @@ freeddns.org mywire.org webredirect.org myddns.rocks -blogsite.xyz dynv6.net e4.cz -mytuleap.com +easypanel.app +easypanel.host +*.ewp.live onred.one staging.onred.one -enonic.io -customer.enonic.io +twmail.cc +twmail.net +twmail.org +mymailer.com.tw +url.tw +at.emf.camp +rt.ht +elementor.cloud +elementor.cool +en-root.fr +mytuleap.com +tuleap-partners.com +encr.app +encoreapi.com +eu.encoway.cloud eu.org al.eu.org asso.eu.org @@ -8412,6 +8706,7 @@ sk.eu.org tr.eu.org uk.eu.org us.eu.org +eurodir.ru eu-1.evennode.com eu-2.evennode.com eu-3.evennode.com @@ -8420,12 +8715,11 @@ us-1.evennode.com us-2.evennode.com us-3.evennode.com us-4.evennode.com -twmail.cc -twmail.net -twmail.org -mymailer.com.tw -url.tw -apps.fbsbx.com +relay.evervault.app +relay.evervault.dev +expo.app +staging.expo.app +onfabrica.com ru.net adygeya.ru bashkiria.ru @@ -8499,9 +8793,10 @@ vladikavkaz.su vladimir.su vologda.su channelsdvr.net +u.channelsdvr.net +edgecompute.app +fastly-edge.com fastly-terrarium.com -fastlylb.net -map.fastlylb.net freetls.fastly.net map.fastly.net a.prod.fastly.net @@ -8509,25 +8804,43 @@ global.prod.fastly.net a.ssl.fastly.net b.ssl.fastly.net global.ssl.fastly.net -fastpanel.direct +fastlylb.net +map.fastlylb.net +*.user.fm fastvps-server.com -fhapp.xyz +fastvps.host +myfast.host +fastvps.site +myfast.space +conn.uk +copro.uk +hosp.uk fedorainfracloud.org fedorapeople.org cloud.fedoraproject.org app.os.fedoraproject.org app.os.stg.fedoraproject.org mydobiss.com +fh-muenster.io filegear.me -filegear-au.me -filegear-de.me -filegear-gb.me -filegear-ie.me -filegear-jp.me -filegear-sg.me firebaseapp.com -flynnhub.com -flynnhosting.net +fireweb.app +flap.id +fldrv.com +flutterflow.app +fly.dev +shw.io +edgeapp.net +forgeblocks.com +id.forgerock.io +framer.ai +framer.app +framercanvas.com +framer.media +framer.photos +framer.website +framer.wiki +0e.vc freebox-os.com freeboxos.com fbx-os.fr @@ -8535,6 +8848,24 @@ fbxos.fr freebox-os.fr freeboxos.fr freedesktop.org +freemyip.com +*.frusky.de +wien.funkfeuer.at +daemon.asia +dix.asia +mydns.bz +0am.jp +0g0.jp +0j0.jp +0t0.jp +mydns.jp +pgw.jp +wjg.jp +keyword-on.net +live-on.net +server-on.net +mydns.tw +mydns.vc *.futurecms.at *.ex.futurecms.at *.in.futurecms.at @@ -8543,72 +8874,202 @@ futuremailing.at *.ex.ortsinfo.at *.kunden.ortsinfo.at *.statics.cloud +aliases121.com +campaign.gov.uk service.gov.uk +independent-commission.uk +independent-inquest.uk +independent-inquiry.uk +independent-panel.uk +independent-review.uk +public-inquiry.uk +royal-commission.uk gehirn.ne.jp usercontent.jp +gentapps.com +gentlentapis.com lab.ms -github.io +cdn-edges.net +localcert.net +localhostcert.net +corpnet.work +gsj.bz githubusercontent.com +githubpreview.dev +github.io gitlab.io +gitapp.si +gitpage.si glitch.me -cloudapps.digital -london.cloudapps.digital -homeoffice.gov.uk -ro.im +nog.community +co.ro shop.ro +lolipop.io +angry.jp +babyblue.jp +babymilk.jp +backdrop.jp +bambina.jp +bitter.jp +blush.jp +boo.jp +boy.jp +boyfriend.jp +but.jp +candypop.jp +capoo.jp +catfood.jp +cheap.jp +chicappa.jp +chillout.jp +chips.jp +chowder.jp +chu.jp +ciao.jp +cocotte.jp +coolblog.jp +cranky.jp +cutegirl.jp +daa.jp +deca.jp +deci.jp +digick.jp +egoism.jp +fakefur.jp +fem.jp +flier.jp +floppy.jp +fool.jp +frenchkiss.jp +girlfriend.jp +girly.jp +gloomy.jp +gonna.jp +greater.jp +hacca.jp +heavy.jp +her.jp +hiho.jp +hippy.jp +holy.jp +hungry.jp +icurus.jp +itigo.jp +jellybean.jp +kikirara.jp +kill.jp +kilo.jp +kuron.jp +littlestar.jp +lolipopmc.jp +lolitapunk.jp +lomo.jp +lovepop.jp +lovesick.jp +main.jp +mods.jp +mond.jp +mongolian.jp +moo.jp +namaste.jp +nikita.jp +nobushi.jp +noor.jp +oops.jp +parallel.jp +parasite.jp +pecori.jp +peewee.jp +penne.jp +pepper.jp +perma.jp +pigboat.jp +pinoko.jp +punyu.jp +pupu.jp +pussycat.jp +pya.jp +raindrop.jp +readymade.jp +sadist.jp +schoolbus.jp +secret.jp +staba.jp +stripper.jp +sub.jp +sunnyday.jp +thick.jp +tonkotsu.jp +under.jp +upper.jp +velvet.jp +verse.jp +versus.jp +vivian.jp +watson.jp +weblike.jp +whitesnow.jp +zombie.jp +heteml.net +graphic.design goip.de -run.app -a.run.app -web.app -*.0emm.com -appspot.com blogspot.ae blogspot.al blogspot.am +*.hosted.app +*.run.app +web.app +blogspot.com.ar +blogspot.co.at +blogspot.com.au blogspot.ba blogspot.be blogspot.bg blogspot.bj +blogspot.com.br +blogspot.com.by blogspot.ca blogspot.cf blogspot.ch blogspot.cl -blogspot.co.at -blogspot.co.id -blogspot.co.il -blogspot.co.ke -blogspot.co.nz -blogspot.co.uk -blogspot.co.za -blogspot.com -blogspot.com.ar -blogspot.com.au -blogspot.com.br -blogspot.com.by blogspot.com.co -blogspot.com.cy -blogspot.com.ee -blogspot.com.eg -blogspot.com.es -blogspot.com.mt -blogspot.com.ng -blogspot.com.tr -blogspot.com.uy +*.0emm.com +appspot.com +*.r.appspot.com +blogspot.com +codespot.com +googleapis.com +googlecode.com +pagespeedmobilizer.com +publishproxy.com +withgoogle.com +withyoutube.com blogspot.cv +blogspot.com.cy blogspot.cz blogspot.de +*.gateway.dev blogspot.dk +blogspot.com.ee +blogspot.com.eg +blogspot.com.es blogspot.fi blogspot.fr +cloud.goog +translate.goog +*.usercontent.goog blogspot.gr blogspot.hk blogspot.hr blogspot.hu +blogspot.co.id blogspot.ie +blogspot.co.il blogspot.in blogspot.is blogspot.it blogspot.jp +blogspot.co.ke blogspot.kr blogspot.li blogspot.lt @@ -8616,10 +9077,14 @@ blogspot.lu blogspot.md blogspot.mk blogspot.mr +blogspot.com.mt blogspot.mx blogspot.my +cloudfunctions.net +blogspot.com.ng blogspot.nl blogspot.no +blogspot.co.nz blogspot.pe blogspot.pt blogspot.qa @@ -8633,61 +9098,92 @@ blogspot.si blogspot.sk blogspot.sn blogspot.td +blogspot.com.tr blogspot.tw blogspot.ug +blogspot.co.uk +blogspot.com.uy blogspot.vn -cloudfunctions.net -cloud.goog -codespot.com -googleapis.com -googlecode.com -pagespeedmobilizer.com -publishproxy.com -withgoogle.com -withyoutube.com +blogspot.co.za +goupile.fr +pymnt.uk +cloudapps.digital +london.cloudapps.digital +gov.nl +grayjayleagues.com +günstigbestellen.de +xn--gnstigbestellen-zvb.de +günstigliefern.de +xn--gnstigliefern-wob.de fin.ci free.hr caa.li ua.rs conf.se -hs.zone +häkkinen.fi +xn--hkkinen-5wa.fi hs.run +hs.zone hashbang.sh hasura.app hasura-app.io +hatenablog.com +hatenadiary.com +hateblo.jp +hatenablog.jp +hatenadiary.jp +hatenadiary.org +pages.it.hs-heilbronn.de +heiyu.space +helioho.st +heliohost.us hepforge.org herokuapp.com herokussl.com -myravendb.com +ravendb.cloud ravendb.community -ravendb.me development.run ravendb.run -bpl.biz +homesklep.pl +*.kin.one +*.id.pub +*.kin.pub +secaas.hk +hoplix.shop orx.biz -ng.city biz.gl -ng.ink col.ng firm.ng gen.ng ltd.ng -ng.school +ngo.ng +edu.scot sch.so -häkkinen.fi -xn--hkkinen-5wa.fi +ie.ua +hostyhosting.io +hypernode.io +iobb.net +co.cz *.moonscale.io moonscale.net +gr.com iki.fi +ibxos.it +iliadboxos.it +smushcdn.com +wphostedmail.com +wpmucdn.com +tempurl.host +wpmudev.host dyn-berlin.de in-berlin.de in-brb.de in-butter.de in-dsl.de -in-dsl.net -in-dsl.org in-vpn.de +in-dsl.net in-vpn.net +in-dsl.org in-vpn.org biz.at info.at @@ -8720,27 +9216,128 @@ se.leg.br sp.leg.br to.leg.br pixolino.com +na4u.ru +apps-1and1.com +live-website.com +apps-1and1.net +websitebuilder.online +app-ionos.space +iopsys.se ipifony.net +ir.md +is-a.dev +is-a-good.dev +iservschule.de mein-iserv.de +schulplattform.de +schulserver.de test-iserv.de iserv.dev -iobb.net +mel.cloudlets.com.au +cloud.interhostsolutions.be +mycloud.by +alp1.ae.flow.ch +appengine.flow.ch +es-1.axarnet.cloud +diadem.cloud +vip.jelastic.cloud +jele.cloud +it1.eur.aruba.jenv-aruba.cloud +it1.jenv-aruba.cloud +keliweb.cloud +cs.keliweb.cloud +oxa.cloud +tn.oxa.cloud +uk.oxa.cloud +primetel.cloud +uk.primetel.cloud +ca.reclaim.cloud +uk.reclaim.cloud +us.reclaim.cloud +ch.trendhosting.cloud +de.trendhosting.cloud +jele.club +amscompute.com +dopaas.com +paas.hosted-by-previder.com +rag-cloud.hosteur.com +rag-cloud-ch.hosteur.com +jcloud.ik-server.com +jcloud-ver-jpc.ik-server.com +demo.jelastic.com +kilatiron.com +paas.massivegrid.com +jed.wafaicloud.com +lon.wafaicloud.com +ryd.wafaicloud.com +j.scaleforce.com.cy +jelastic.dogado.eu +fi.cloudplatform.fi +demo.datacenter.fi +paas.datacenter.fi +jele.host +mircloud.host +paas.beebyte.io +sekd1.beebyteapp.io +jele.io +cloud-fr1.unispace.io +jc.neen.it +cloud.jelastic.open.tim.it +jcloud.kz +upaas.kazteleport.kz +cloudjiffy.net +fra1-de.cloudjiffy.net +west1-us.cloudjiffy.net +jls-sto1.elastx.net +jls-sto2.elastx.net +jls-sto3.elastx.net +faststacks.net +fr-1.paas.massivegrid.net +lon-1.paas.massivegrid.net +lon-2.paas.massivegrid.net +ny-1.paas.massivegrid.net +ny-2.paas.massivegrid.net +sg-1.paas.massivegrid.net +jelastic.saveincloud.net +nordeste-idc.saveincloud.net +j.scaleforce.net +jelastic.tsukaeru.net +sdscloud.pl +unicloud.pl +mircloud.ru +jelastic.regruhosting.ru +enscaled.sg +jele.site +jelastic.team +orangecloud.tn +j.layershift.co.uk +phx.enscaled.us +mircloud.us myjino.ru *.hosting.myjino.ru *.landing.myjino.ru *.spectrum.myjino.ru *.vps.myjino.ru -*.triton.zone +jotelulu.cloud +webadorsite.com +jouwweb.site *.cns.joyent.com +*.triton.zone js.org kaas.gg khplay.nl +ktistory.com +kapsi.fi +ezproxy.kuleuven.be +kuleuven.cloud keymachine.de kinghost.net uni5.net knightpoint.systems -co.krd -edu.krd +koobin.events +webthings.io +krellian.net +oya.to git-repos.de lcube-server.de svn-repos.de @@ -8748,6 +9345,8 @@ leadpages.co lpages.co lpusercontent.com lelux.site +libp2p.direct +runcontainers.dev co.business co.education co.events @@ -8755,326 +9354,577 @@ co.financial co.network co.place co.technology -app.lmpm.com -linkitools.space -linkyard.cloud linkyard-cloud.ch +linkyard.cloud members.linode.com -nodebalancer.linode.com +*.nodebalancer.linode.com +*.linodeobjects.com +ip.linodeusercontent.com we.bs +filegear-sg.me +ggff.net +*.user.localcert.dev loginline.app loginline.dev loginline.io loginline.services loginline.site +lohmus.me +servers.run krasnik.pl leczna.pl lubartow.pl lublin.pl poniatowa.pl swidnik.pl -uklugs.org glug.org.uk lug.org.uk lugs.org.uk barsy.bg -barsy.co.uk -barsyonline.co.uk +barsy.club barsycenter.com barsyonline.com -barsy.club barsy.de +barsy.dev barsy.eu +barsy.gr barsy.in barsy.info barsy.io barsy.me barsy.menu +barsyonline.menu barsy.mobi barsy.net barsy.online barsy.org barsy.pro barsy.pub +barsy.ro +barsy.rs barsy.shop +barsyonline.shop barsy.site +barsy.store barsy.support barsy.uk +barsy.co.uk +barsyonline.co.uk *.magentosite.cloud +hb.cldmail.ru mayfirst.info mayfirst.org -hb.cldmail.ru +matlab.cloud +modelscape.com +mwcloudnonprod.com +polyspace.com +mazeplay.com +mcdir.me +mcdir.ru +vps.mcdir.ru +mcpre.ru +mcpe.me +mediatech.by +mediatech.dev +hra.health miniserver.com memset.net -cloud.metacentrum.cz +messerli.app +atmeta.com +apps.fbsbx.com +*.cloud.metacentrum.cz custom.metacentrum.cz flt.cloud.muni.cz usr.cloud.muni.cz meteorapp.com eu.meteorapp.com co.pl -azurecontainer.io -azurewebsites.net +*.azurecontainer.io +azure-api.net azure-mobile.net +azureedge.net +azurefd.net +azurestaticapps.net +1.azurestaticapps.net +2.azurestaticapps.net +3.azurestaticapps.net +4.azurestaticapps.net +5.azurestaticapps.net +6.azurestaticapps.net +7.azurestaticapps.net +centralus.azurestaticapps.net +eastasia.azurestaticapps.net +eastus2.azurestaticapps.net +westeurope.azurestaticapps.net +westus2.azurestaticapps.net +azurewebsites.net cloudapp.net -mozilla-iot.org +trafficmanager.net +blob.core.windows.net +servicebus.windows.net +routingthecloud.com +sn.mynetname.net +routingthecloud.net +routingthecloud.org +csx.cc +forte.id +modx.dev bmoattachments.org net.ru org.ru pp.ru +hostedpi.com +caracal.mythic-beasts.com +customer.mythic-beasts.com +fentiger.mythic-beasts.com +lynx.mythic-beasts.com +ocelot.mythic-beasts.com +oncilla.mythic-beasts.com +onza.mythic-beasts.com +sphinx.mythic-beasts.com +vs.mythic-beasts.com +x.mythic-beasts.com +yali.mythic-beasts.com +cust.retrosnub.co.uk ui.nabu.casa -pony.club -of.fashion -on.fashion -of.football -in.london -of.london -for.men -and.mom -for.mom -for.one -for.sale -of.work -to.work -nctu.me -bitballoon.com -netlify.com +cloud.nospamproxy.com +netfy.app +netlify.app 4u.com +nfshost.com +ipfs.nftstorage.link +ngo.us +ngrok.app +ngrok-free.app +ngrok.dev +ngrok-free.dev ngrok.io +ap.ngrok.io +au.ngrok.io +eu.ngrok.io +in.ngrok.io +jp.ngrok.io +sa.ngrok.io +us.ngrok.io +ngrok.pizza +ngrok.pro +torun.pl nh-serv.co.uk -nfshost.com -dnsking.ch -mypi.co -n4t.co -001www.com -ddnslive.com -myiphost.com -forumz.info -16-b.it -32-b.it -64-b.it -soundcast.me -tcp4.me -dnsup.net -hicam.net -now-dns.net -ownip.net -vpndns.net -dynserv.org -now-dns.org -x443.pw -now-dns.top -ntdll.top -freeddns.us -crafting.xyz -zapto.xyz -nsupdate.info -nerdpol.ovh +nimsite.uk +ar.com +hu.com +kr.com +no.com +qc.com +uy.com +mmafan.biz +myftp.biz +no-ip.biz +no-ip.ca +fantasyleague.cc +gotdns.ch +3utilities.com blogsyte.com -brasilia.me -cable-modem.org ciscofreak.com -collegefan.org -couchpotatofries.org damnserver.com -ddns.me +ddnsking.com ditchyourip.com -dnsfor.me dnsiskinky.com -dvrcam.info dynns.com -eating-organic.net -fantasyleague.cc geekgalaxy.com -golffan.us health-carereform.com homesecuritymac.com homesecuritypc.com -hopto.me -ilovecollege.info -loginto.me -mlbfan.org -mmafan.biz myactivedirectory.com -mydissent.net -myeffect.net -mymediapc.net -mypsx.net mysecuritycamera.com -mysecuritycamera.net -mysecuritycamera.org +myvnc.com net-freaks.com -nflfan.org -nhlfan.net -no-ip.ca -no-ip.co.uk -no-ip.net -noip.us onthewifi.com -pgafan.net point2this.com -pointto.us -privatizehealthinsurance.net quicksytes.com -read-books.org securitytactics.com +servebeer.com +servecounterstrike.com serveexchange.com +serveftp.com +servegame.com +servehalflife.com +servehttp.com servehumour.com +serveirc.com +servemp3.com servep2p.com +servepics.com +servequake.com servesarcasm.com stufftoread.com -ufcfan.org unusualperson.com workisboring.com -3utilities.com -bounceme.net -ddns.net -ddnsking.com -gotdns.ch -hopto.org -myftp.biz -myftp.org -myvnc.com -no-ip.biz +dvrcam.info +ilovecollege.info no-ip.info -no-ip.org +brasilia.me +ddns.me +dnsfor.me +hopto.me +loginto.me noip.me +webhop.me +bounceme.net +ddns.net +eating-organic.net +mydissent.net +myeffect.net +mymediapc.net +mypsx.net +mysecuritycamera.net +nhlfan.net +no-ip.net +pgafan.net +privatizehealthinsurance.net redirectme.net -servebeer.com serveblog.net -servecounterstrike.com -serveftp.com -servegame.com -servehalflife.com -servehttp.com -serveirc.com serveminecraft.net -servemp3.com -servepics.com -servequake.com sytes.net -webhop.me +cable-modem.org +collegefan.org +couchpotatofries.org +hopto.org +mlbfan.org +myftp.org +mysecuritycamera.org +nflfan.org +no-ip.org +read-books.org +ufcfan.org zapto.org +no-ip.co.uk +golffan.us +noip.us +pointto.us stage.nodeart.io -nodum.co -nodum.io -pcloud.host +*.developer.app +noop.app +*.northflank.app +*.build.run +*.code.run +*.database.run +*.migration.run +noticeable.news +notion.site +dnsking.ch +mypi.co +n4t.co +001www.com +ddnslive.com +myiphost.com +forumz.info +16-b.it +32-b.it +64-b.it +soundcast.me +tcp4.me +dnsup.net +hicam.net +now-dns.net +ownip.net +vpndns.net +dynserv.org +now-dns.org +x443.pw +now-dns.top +ntdll.top +freeddns.us +crafting.xyz +zapto.xyz +nsupdate.info +nerdpol.ovh nyc.mn -nom.ae -nom.af -nom.ai -nom.al -nym.by -nym.bz -nom.cl -nym.ec -nom.gd -nom.ge -nom.gl -nym.gr -nom.gt -nym.gy -nym.hk -nom.hn -nym.ie -nom.im -nom.ke -nym.kz -nym.la -nym.lc -nom.li -nym.li -nym.lt -nym.lu -nym.me -nom.mk -nym.mn -nym.mx -nom.nu -nym.nz -nym.pe -nym.pt -nom.pw -nom.qa -nym.ro -nom.rs -nom.si -nym.sk -nom.st -nym.su -nym.sx -nom.tj -nym.tw -nom.ug -nom.uy -nom.vc -nom.vg -cya.gg +prvcy.page +obl.ong +observablehq.cloud +static.observableusercontent.com +omg.lol cloudycluster.net -nid.io +omniwe.site +123webseite.at +123website.be +simplesite.com.br +123website.ch +simplesite.com +123webseite.de +123hjemmeside.dk +123miweb.es +123kotisivu.fi +123siteweb.fr +simplesite.gr +123homepage.it +123website.lu +123website.nl +123hjemmeside.no +service.one +simplesite.pl +123paginaweb.pt +123minsida.se +is-a-fullstack.dev +is-cool.dev +is-not-a.dev +localplayer.dev +is-local.org +opensocial.site opencraft.hosting +orsites.com operaunite.com +tech.orange +can.re +authgear-staging.com +authgearapps.com +skygearapp.com outsystemscloud.com +*.hosting.ovh.net +*.webpaas.ovh.net ownprovider.com own.pm +*.owo.codes ox.rs oy.lc pgfog.com -pagefrontapp.com -art.pl -gliwice.pl -krakow.pl -poznan.pl -wroc.pl -zakopane.pl -pantheonsite.io +pagexl.com gotpantheon.com +pantheonsite.io +*.paywhirl.com +*.xmit.co +xmit.dev +madethis.site +srv.us +gh.srv.us +gl.srv.us +lk3.ru mypep.link +perspecta.cloud on-web.fr -*.platform.sh +*.upsun.app +upsunapp.com +ent.platform.sh +eu.platform.sh +us.platform.sh *.platformsh.site +*.tst.site +platter-app.com +platter-app.dev +platterp.us +pley.games dyn53.io +onporter.run co.bn +postman-echo.com +pstmn.io +mock.pstmn.io +httpbin.org +prequalifyme.today xen.prgmr.com priv.at -prvcy.page *.dweb.link protonet.io chirurgiens-dentistes-en-france.fr byen.site pubtls.org -qualifioapp.com -instantcloud.cn -ras.ru +pythonanywhere.com +eu.pythonanywhere.com qa2.com -dev-myqnapcloud.com +qcx.io +*.sys.qcx.io +myqnapcloud.cn alpha-myqnapcloud.com +dev-myqnapcloud.com +mycloudnas.com +mynascloud.com myqnapcloud.com +qoto.io +qualifioapp.com +ladesk.com +qbuser.com *.quipelements.com vapor.cloud vaporcloud.io rackmaze.com rackmaze.net +cloudsite.builders +myradweb.net +servername.us +web.in +in.net +myrdbx.io +site.rb-hosting.io *.on-rancher.cloud +*.on-k3s.io *.on-rio.io +ravpage.co.il +readthedocs-hosted.com readthedocs.io rhcloud.com -app.render.com +instances.spawn.cc onrender.com +app.render.com +replit.app +id.replit.app +firewalledreplit.co +id.firewalledreplit.co repl.co +id.repl.co +replit.dev +archer.replit.dev +bones.replit.dev +canary.replit.dev +global.replit.dev +hacker.replit.dev +id.replit.dev +janeway.replit.dev +kim.replit.dev +kira.replit.dev +kirk.replit.dev +odo.replit.dev +paris.replit.dev +picard.replit.dev +pike.replit.dev +prerelease.replit.dev +reed.replit.dev +riker.replit.dev +sisko.replit.dev +spock.replit.dev +staging.replit.dev +sulu.replit.dev +tarpit.replit.dev +teams.replit.dev +tucker.replit.dev +wesley.replit.dev +worf.replit.dev repl.run resindevice.io devices.resinstaging.io hzc.io -wellbeingzone.eu -ptplus.fit -wellbeingzone.co.uk +adimo.co.uk +itcouldbewor.se +aus.basketball +nz.basketball git-pages.rit.edu +rocky.page +биз.рус +xn--90amc.xn--p1acf +ком.рус +xn--j1aef.xn--p1acf +крым.рус +xn--j1ael8b.xn--p1acf +мир.рус +xn--h1ahn.xn--p1acf +мск.рус +xn--j1adp.xn--p1acf +орг.рус +xn--c1avg.xn--p1acf +самара.рус +xn--80aaa0cvac.xn--p1acf +сочи.рус +xn--h1aliz.xn--p1acf +спб.рус +xn--90a1af.xn--p1acf +я.рус +xn--41a.xn--p1acf +ras.ru +180r.com +dojin.com +sakuratan.com +sakuraweb.com +x0.com +2-d.jp +bona.jp +crap.jp +daynight.jp +eek.jp +flop.jp +halfmoon.jp +jeez.jp +matrix.jp +mimoza.jp +ivory.ne.jp +mail-box.ne.jp +mints.ne.jp +mokuren.ne.jp +opal.ne.jp +sakura.ne.jp +sumomo.ne.jp +topaz.ne.jp +netgamers.jp +nyanta.jp +o0o0.jp +rdy.jp +rgr.jp +rulez.jp +s3.isk01.sakurastorage.jp +s3.isk02.sakurastorage.jp +saloon.jp +sblo.jp +skr.jp +tank.jp +uh-oh.jp +undo.jp +rs.webaccel.jp +user.webaccel.jp +websozai.jp +xii.jp +squares.net +jpn.org +kirara.st +x0.to +from.tv +sakura.tv +*.builder.code.com +*.dev-builder.code.com +*.stg-builder.code.com +*.001.test.code-builder-stg.platform.salesforce.com +*.d.crm.dev +*.w.crm.dev +*.wa.crm.dev +*.wb.crm.dev +*.wc.crm.dev +*.wd.crm.dev +*.we.crm.dev +*.wf.crm.dev sandcats.io -logoip.de logoip.com +logoip.de +fr-par-1.baremetal.scw.cloud +fr-par-2.baremetal.scw.cloud +nl-ams-1.baremetal.scw.cloud +cockpit.fr-par.scw.cloud +fnc.fr-par.scw.cloud +functions.fnc.fr-par.scw.cloud +k8s.fr-par.scw.cloud +nodes.k8s.fr-par.scw.cloud +s3.fr-par.scw.cloud +s3-website.fr-par.scw.cloud +whm.fr-par.scw.cloud +priv.instances.scw.cloud +pub.instances.scw.cloud +k8s.scw.cloud +cockpit.nl-ams.scw.cloud +k8s.nl-ams.scw.cloud +nodes.k8s.nl-ams.scw.cloud +s3.nl-ams.scw.cloud +s3-website.nl-ams.scw.cloud +whm.nl-ams.scw.cloud +cockpit.pl-waw.scw.cloud +k8s.pl-waw.scw.cloud +nodes.k8s.pl-waw.scw.cloud +s3.pl-waw.scw.cloud +s3-website.pl-waw.scw.cloud +scalebook.scw.cloud +smartlabeling.scw.cloud +dedibox.fr schokokeks.net +gov.scot +service.gov.scot scrysec.com +client.scrypted.io firewall-gateway.com firewall-gateway.de my-gateway.de @@ -9085,12 +9935,22 @@ firewall-gateway.net my-firewall.org myfirewall.org spdns.org +seidat.net +sellfy.store +minisite.ms +senseering.net +servebolt.cloud +magnet.page biz.ua co.ua pp.ua +as.sh.cn +sheezy.games shiftedit.io myshopblocks.com +myshopify.com shopitsite.com +shopware.store mo-siemens.io 1kapp.com appchizi.com @@ -9101,57 +9961,147 @@ siteleaf.net bounty-full.com alpha.bounty-full.com beta.bounty-full.com -stackhero-network.com -static.land -dev.static.land -sites.static.land +small-web.org +aeroport.fr +avocat.fr +chambagri.fr +chirurgiens-dentistes.fr +experts-comptables.fr +medecin.fr +notaires.fr +pharmacien.fr +port.fr +veterinaire.fr +vp4.me +*.snowflake.app +*.privatelink.snowflake.app +streamlit.app +streamlitapp.com +try-snowplow.com +mafelo.net +playstation-cloud.com +srht.site apps.lair.io *.stolos.io spacekit.io +ind.mom customer.speedpartner.de +myspreadshop.at +myspreadshop.com.au +myspreadshop.be +myspreadshop.ca +myspreadshop.ch +myspreadshop.com +myspreadshop.de +myspreadshop.dk +myspreadshop.es +myspreadshop.fi +myspreadshop.fr +myspreadshop.ie +myspreadshop.it +myspreadshop.net +myspreadshop.nl +myspreadshop.no +myspreadshop.pl +myspreadshop.se +myspreadshop.co.uk +w-corp-staticblitz.com +w-credentialless-staticblitz.com +w-staticblitz.com +stackhero-network.com +runs.onstackit.cloud +stackit.gg +stackit.rocks +stackit.run +stackit.zone +musician.io +novecore.site api.stdlib.com +feedback.ac +forms.ac +assessments.cx +calculators.cx +funnels.cx +paynow.cx +quizzes.cx +researched.cx +tests.cx +surveys.so +storebase.store +storipress.app storj.farm -utwente.io +strapiapp.com +media.strapiapp.com +vps-host.net +atl.jelastic.vps-host.net +njs.jelastic.vps-host.net +ric.jelastic.vps-host.net +streak-link.com +streaklinks.com +streakusercontent.com soc.srcf.net user.srcf.net +utwente.io temp-dns.com -applicationcloud.io -scapp.io -*.s5y.io +supabase.co +supabase.in +supabase.net *.sensiosite.cloud +*.s5y.io syncloud.it -diskstation.me dscloud.biz -dscloud.me -dscloud.mobi +direct.quickconnect.cn dsmynas.com -dsmynas.net -dsmynas.org familyds.com -familyds.net -familyds.org +diskstation.me +dscloud.me i234.me myds.me synology.me +dscloud.mobi +dsmynas.net +familyds.net +dsmynas.org +familyds.org +direct.quickconnect.to vpnplus.to +mytabit.com +mytabit.co.il +tabitorder.co.il taifun-dns.de +beta.tailscale.net +ts.net +*.c.ts.net gda.pl gdansk.pl gdynia.pl med.pl sopot.pl -edugit.org +p.tawk.email +p.tawkto.email +site.tb-hosting.com +edugit.io +s3.teckids.org telebit.app telebit.io *.telebit.xyz -gwiddle.co.uk +*.firenet.ch +*.svc.firenet.ch +reservd.com thingdustdata.com cust.dev.thingdust.io +reservd.dev.thingdust.io cust.disrec.thingdust.io +reservd.disrec.thingdust.io cust.prod.thingdust.io cust.testing.thingdust.io +reservd.testing.thingdust.io +tickets.io arvo.network azimuth.network +tlon.network +torproject.net +pages.torproject.net bloxcms.com townnews-staging.com 12hp.at @@ -9176,10 +10126,9 @@ lima.zone *.transurl.be *.transurl.eu *.transurl.nl +site.transip.me tuxfamily.org dd-dns.de -diskstation.eu -diskstation.org dray-dns.de draydns.de dyn-vpn.de @@ -9190,26 +10139,83 @@ my-wan.de syno-ds.de synology-diskstation.de synology-ds.de -uber.space +diskstation.eu +diskstation.org +typedream.app +pro.typeform.com *.uberspace.de +uber.space hk.com -hk.org -ltd.hk inc.hk -virtualuser.de +ltd.hk +hk.org +it.com +unison-services.cloud virtual-user.de -lib.de.us +virtualuser.de +name.pm +sch.tf +biz.wf +sch.wf +org.yt +rs.ba +bielsko.pl +upli.io +urown.cloud +dnsupdate.info +us.org +v.ua +express.val.run +web.val.run +vercel.app +vercel.dev +now.sh 2038.io router.management v-info.info voorloper.cloud +*.vultrobjects.com wafflecell.com +webflow.io +webflowtest.io *.webhare.dev -wedeploy.io -wedeploy.me -wedeploy.sh +bookonline.app +hotelwithflight.com +reserve-online.com +reserve-online.net +cprapid.com +pleskns.com +wp2.host +pdns.page +plesk.page +wpsquared.site +*.wadl.top remotewd.com +box.ca +pages.wiardweb.com +toolforge.org +wmcloud.org wmflabs.org +wdh.app +panel.gg +daemon.panel.gg +wixsite.com +wixstudio.com +editorx.io +wixstudio.io +wix.run +messwithdns.com +woltlab-demo.com +myforum.community +community-pro.de +diskussionsbereich.de +community-pro.net +meinforum.net +affinitylottery.org.uk +raffleentry.org.uk +weeklylottery.org.uk +wpenginepowered.com +js.wpenginepowered.com half.host xnbay.com u2.xnbay.com @@ -9229,14 +10235,14 @@ ybo.party ybo.review ybo.science ybo.trade +ynh.fr nohost.me noho.st za.net za.org -now.sh +zap.cloud +zeabur.app bss.design basicserver.io virtualserver.io -site.builder.nu -enterprisecloud.nu -zone.id +enterprisecloud.nu \ No newline at end of file From e5e49d64fc069fbc027617af35f663b14d4882a8 Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 00:04:10 +0900 Subject: [PATCH 27/33] build: Update dependencies: - Change PunycodeSwift dependency to use semver range `~> 3.0` instead of branch-specific version `release/v3.0.0`. - Update Cartfile and Package.swift to reflect the change in dependency specification. - Update TLDExtractSwift.podspec author name from "gumob" to "Kojiro Futamura". --- Cartfile | 3 +-- Package.swift | 3 +-- TLDExtractSwift.podspec | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/Cartfile b/Cartfile index ef1ab23..161e6f2 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1 @@ -# github "gumob/PunycodeSwift" ~> 3.0 -github "gumob/PunycodeSwift" "release/v3.0.0" +github "gumob/PunycodeSwift" ~> 3.0 \ No newline at end of file diff --git a/Package.swift b/Package.swift index 4043db5..d1e6a03 100644 --- a/Package.swift +++ b/Package.swift @@ -11,8 +11,7 @@ let package = Package( targets: ["TLDExtractSwift"]) ], dependencies: [ - // .package(url: "https://github.com/gumob/PunycodeSwift.git", .from: "3.0.0"), - .package(url: "https://github.com/gumob/PunycodeSwift.git", .branch("release/v3.0.0")) + .package(url: "https://github.com/gumob/PunycodeSwift.git", .upToNextMajor(from: "3.0.0")), ], targets: [ .target( diff --git a/TLDExtractSwift.podspec b/TLDExtractSwift.podspec index e7e91ba..27af9fd 100644 --- a/TLDExtractSwift.podspec +++ b/TLDExtractSwift.podspec @@ -5,7 +5,7 @@ Pod::Spec.new do |s| s.summary = "A Pure Swift library for extracting TLD supporting macOS, iOS, tvOS, watchOS, and visionOS." s.homepage = "https://github.com/gumob/TLDExtractSwift" s.license = { :type => "MIT", :file => "LICENSE" } - s.author = { "gumob" => "gumob.dev@gmail.com" } + s.author = { "Kojiro Futamura" => "gumob.dev@gmail.com" } s.frameworks = 'Foundation' s.requires_arc = true s.source = { :git => "https://github.com/gumob/TLDExtractSwift.git", :tag => "#{s.version}" } From 3b080fb67e59d38df906e52431eab0abc6a78dab Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 00:04:38 +0900 Subject: [PATCH 28/33] revert: Enable `Pod lib lint` --- .github/workflows/main.yml | 166 ++++++++++++++++++------------------- 1 file changed, 83 insertions(+), 83 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a46839c..6855ba2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -315,86 +315,86 @@ jobs: --cache-builds needs: SPM - # cocoapods: - # name: "Pods: ${{ matrix.platform }}, ${{ matrix.configuration }}" - # runs-on: ${{ matrix.runsOn }} - # env: - # DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" - # strategy: - # fail-fast: true - # matrix: - # include: - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "macos" - # configuration: "Release" - # name: "Pods: macOS, Release" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "macos" - # configuration: "Debug" - # name: "Pods: macOS, Debug" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "ios" - # configuration: "Release" - # name: "Pods: iOS, Release" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "ios" - # configuration: "Debug" - # name: "Pods: iOS, Debug" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "tvos" - # configuration: "Release" - # name: "Pods: tvOS, Release" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "tvos" - # configuration: "Debug" - # name: "Pods: tvOS, Debug" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "watchos" - # configuration: "Release" - # name: "Pods: watchOS, Release" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "watchos" - # configuration: "Debug" - # name: "Pods: watchOS, Debug" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "visionos" - # configuration: "Release" - # name: "Pods: visionOS, Release" - # - xcode: "Xcode_15.4" - # runsOn: macOS-14 - # platform: "visionos" - # configuration: "Debug" - # name: "Pods: visionOS, Debug" - # steps: - # - name: Update CocoaPods - # if: ${{ matrix.platform == 'visionos' }} - # run: gem install cocoapods - # - name: Checkout - # uses: actions/checkout@v4 - # - name: Pod lib lint - # run: | - # pod lib lint --verbose \ - # --configuration=${{ matrix.configuration }} \ - # --platforms=${{ matrix.platform }} \ - # TLDExtractSwift.podspec - # - name: Pod lib lint - Use Static Frameworks - # run: | - # pod lib lint --verbose --use-static-frameworks \ - # --configuration=${{ matrix.configuration }} \ - # --platforms=${{ matrix.platform }} \ - # TLDExtractSwift.podspec - # # - name: Pod Push - # # if: github.ref == 'refs/heads/main' - # # run: | - # # pod repo update - # # pod trunk push TLDExtractSwift.podspec --allow-warnings - # needs: carthage + cocoapods: + name: "Pods: ${{ matrix.platform }}, ${{ matrix.configuration }}" + runs-on: ${{ matrix.runsOn }} + env: + DEVELOPER_DIR: "/Applications/${{ matrix.xcode }}.app/Contents/Developer" + strategy: + fail-fast: true + matrix: + include: + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "macos" + configuration: "Release" + name: "Pods: macOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "macos" + configuration: "Debug" + name: "Pods: macOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "ios" + configuration: "Release" + name: "Pods: iOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "ios" + configuration: "Debug" + name: "Pods: iOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "tvos" + configuration: "Release" + name: "Pods: tvOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "tvos" + configuration: "Debug" + name: "Pods: tvOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "watchos" + configuration: "Release" + name: "Pods: watchOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "watchos" + configuration: "Debug" + name: "Pods: watchOS, Debug" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "visionos" + configuration: "Release" + name: "Pods: visionOS, Release" + - xcode: "Xcode_15.4" + runsOn: macOS-14 + platform: "visionos" + configuration: "Debug" + name: "Pods: visionOS, Debug" + steps: + - name: Update CocoaPods + if: ${{ matrix.platform == 'visionos' }} + run: gem install cocoapods + - name: Checkout + uses: actions/checkout@v4 + - name: Pod lib lint + run: | + pod lib lint --verbose \ + --configuration=${{ matrix.configuration }} \ + --platforms=${{ matrix.platform }} \ + TLDExtractSwift.podspec + - name: Pod lib lint - Use Static Frameworks + run: | + pod lib lint --verbose --use-static-frameworks \ + --configuration=${{ matrix.configuration }} \ + --platforms=${{ matrix.platform }} \ + TLDExtractSwift.podspec + # - name: Pod Push + # if: github.ref == 'refs/heads/main' + # run: | + # pod repo update + # pod trunk push TLDExtractSwift.podspec --allow-warnings + needs: carthage From 552884bf570fd7ad820ec075bc424b7db3a2235b Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 00:06:30 +0900 Subject: [PATCH 29/33] ci: Update workflow to trigger on 'main' and 'develop' branches --- .github/workflows/main.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 6855ba2..4bbae60 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -6,6 +6,7 @@ name: main on: push: branches: + - main - develop paths: - .github/workflows/** From 20e91d1a2a03454f39ef71db3b308476021bd119 Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 00:28:01 +0900 Subject: [PATCH 30/33] build: Update carthage --- Package.resolved | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Package.resolved b/Package.resolved index 7303556..46b2a18 100644 --- a/Package.resolved +++ b/Package.resolved @@ -5,9 +5,9 @@ "package": "Punycode", "repositoryURL": "https://github.com/gumob/PunycodeSwift.git", "state": { - "branch": "release/v3.0.0", - "revision": "8e7de65d79e7a4bb74a474422bf07f6de57c8fec", - "version": null + "branch": null, + "revision": "d623c012351891002c57f5a44564272ca1353fda", + "version": "3.0.0" } } ] From 93c470af483354a7f44e7e918f2ef2187db7e054 Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 09:37:22 +0900 Subject: [PATCH 31/33] docs(README.md): update dependencies requirements for TLDExtractSwift to support macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 Update the Cartfile and Podfile dependencies for TLDExtractSwift to include the latest version (3.0) for all platforms and Swift 5. Do not forget to include Punycode.framework. --- README.md | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e99bc98..16fcbce 100644 --- a/README.md +++ b/README.md @@ -24,11 +24,12 @@ Domain names are the unique, human-readable Internet addresses of websites. They ## Requirements -- iOS 9.3 or later -- macOS 10.12 or later -- tvOS 10.2 or later -- Swift 4.2 or later -- Python 2.7 or Python 3 +- macOS 10.13 or later +- iOS 12.0 or later +- tvOS 12.0 or later +- watchOS 4.0 or later +- visionOS 1.0 or later +- Swift 5.0 or later ## Installation @@ -37,9 +38,9 @@ Domain names are the unique, human-readable Internet addresses of websites. They Add the following to your `Cartfile` and follow [these instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application). ``` -github "gumob/TLDExtractSwift" # Latest (Swift 5.0) -github "gumob/TLDExtractSwift" ~> 2.0 # Swift 5.0 -github "gumob/TLDExtractSwift" ~> 1.0 # Swift 4.2 +github "gumob/TLDExtractSwift" ~> 3.0 # macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 +github "gumob/TLDExtractSwift" ~> 2.0 # macOS, iOS, tvOS, and Swift 5 +github "gumob/TLDExtractSwift" ~> 1.0 # macOS, iOS, tvOS, and Swift 4 ``` Do not forget to include Punycode.framework. Otherwise it will fail to build the application.
@@ -54,9 +55,9 @@ To integrate TLDExtract into your project, add the following to your `Podfile`. platform :ios, '9.3' use_frameworks! -pod 'TLDExtract' # Latest (Swift 5.0) -pod 'TLDExtract', '~> 2.0' # Swift 5.0 -pod 'TLDExtract', '~> 1.0' # Swift 4.2 +pod 'TLDExtract', '~> 3.0' # macOS, iOS, tvOS, watchOS, visionOS, and Swift 5.0 +pod 'TLDExtract', '~> 2.0' # macOS, iOS, tvOS, and Swift 5.0 +pod 'TLDExtract', '~> 1.0' # macOS, iOS, tvOS, and Swift 4.2 ``` ## Usage From a6c18f2bd03294bbf30cf15ac1bc02d8f8abf8ba Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 10:27:04 +0900 Subject: [PATCH 32/33] docs: Update README.md for version 3.0.0 It seems like you are providing instructions on how to integrate the TLDExtract library into various projects using different build systems such as Swift Package Manager, Carthage, CocoaPods, and manually. For Swift Package Manager, you have provided two sets of dependencies for macOS, iOS, tvOS, and watchOS/visionOS with Swift 5 and Swift 4 respectively. The first set is for the latest version (3.0.x) and the second one is for the previous major version (2.1.1). For Carthage, you have provided a `Cartfile` snippet that includes TLDExtractSwift for macOS, iOS, tvOS, watchOS, visionOS, and Swift 5, 4, and 3 respectively. You also mentioned the need to include Punycode.framework. For CocoaPods, you have provided a `Podfile` snippet that includes TLDExtract for macOS, iOS, tvOS, watchOS, visionOS, and Swift 5, 4, and 3 respectively. Lastly, you have provided usage examples of initializing the TLDExtract object in Swift. It's great to see clear instructions on how to integrate a library into different projects using various build systems. Keep up the good work! If you need any help or have any questions, feel free to ask. --- README.md | 88 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 68 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 16fcbce..2579c7e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg)](https://github.com/gumob/TLDExtractSwift) -[![Version](http://img.shields.io/cocoapods/v/TLDExtract.svg)](http://cocoadocs.org/docsets/TLDExtract) -[![Platform](http://img.shields.io/cocoapods/p/TLDExtract.svg)](http://cocoadocs.org/docsets/TLDExtract) -[![Build Status](https://travis-ci.com/gumob/TLDExtractSwift.svg?branch=master)](https://travis-ci.com/gumob/TLDExtractSwift) +[![Swift Package Manager compatible](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange)](https://github.com/gumob/TLDExtractSwift) +[![Cocoapods Version](http://img.shields.io/cocoapods/v/TLDExtractSwift.svg)](http://cocoadocs.org/docsets/TLDExtract) +[![Cocoapods Platform](http://img.shields.io/cocoapods/p/TLDExtractSwift.svg)](http://cocoadocs.org/docsets/TLDExtract) +[![Build](https://github.com/gumob/TLDExtractSwift/actions/workflows/main.yml/badge.svg)](https://github.com/gumob/TLDExtractSwift/actions/workflows/main.yml) [![codecov](https://codecov.io/gh/gumob/TLDExtractSwift/branch/master/graph/badge.svg)](https://codecov.io/gh/gumob/TLDExtractSwift) -![Language](https://img.shields.io/badge/Language-Swift%204.2-orange.svg) +![Language](https://img.shields.io/badge/Language-Swift%205.0-orange.svg) ![Packagist](https://img.shields.io/packagist/l/doctrine/orm.svg) # TLDExtract @@ -15,6 +15,25 @@ Domain names are the unique, human-readable Internet addresses of websites. They drawing +## Changes in 3.0.0 + +### Breaking changes + +- ‼️ Library name changed from ~~`TLDExtract`~~ to **`TLDExtractSwift`** to resolve namespace conflicts. For more details, please check the issue ([apple/swift#56573](https://github.com/apple/swift/issues/56573)). + + Please don't forget to update your source code. + + ```diff + - import TLDExtract + + import TLDExtractSwift + ``` + +### Other changes +- Dropped support for Swift 4. +- Added watchOS and visionOS to supported platforms. +- Changed supported versions for macOS, iOS, and tvOS to match Xcode 15.4. + + ## Feature - Extract root domain, top level domain, second level domain, subdomain from url and hostname @@ -33,15 +52,40 @@ Domain names are the unique, human-readable Internet addresses of websites. They ## Installation +### Swift Package Manager + +Add the following to your `Package.swift` file. + +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 + ```swift + dependencies: [ + .package(url: "https://github.com/gumob/TLDExtractSwift.git", .upToNextMajor(from: "3.0.0")) + ] + ``` + +- macOS, iOS, tvOS, and Swift 5 + ```swift + dependencies: [ + .package(url: "https://github.com/gumob/TLDExtractSwift.git", .upToNextMajor(from: "2.1.1")) + ] + ``` + ### Carthage Add the following to your `Cartfile` and follow [these instructions](https://github.com/Carthage/Carthage#adding-frameworks-to-an-application). -``` -github "gumob/TLDExtractSwift" ~> 3.0 # macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 -github "gumob/TLDExtractSwift" ~> 2.0 # macOS, iOS, tvOS, and Swift 5 -github "gumob/TLDExtractSwift" ~> 1.0 # macOS, iOS, tvOS, and Swift 4 -``` +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5 + ``` + github "gumob/TLDExtractSwift" ~> 3.0 + ``` +- macOS, iOS, tvOS, and Swift 5 + ``` + github "gumob/TLDExtractSwift" ~> 2.0 + ``` +- macOS, iOS, tvOS, and Swift 4 + ``` + github "gumob/TLDExtractSwift" ~> 1.0 + ``` Do not forget to include Punycode.framework. Otherwise it will fail to build the application.
@@ -51,14 +95,18 @@ Do not forget to include Punycode.framework. Otherwise it will fail to build the To integrate TLDExtract into your project, add the following to your `Podfile`. -```ruby -platform :ios, '9.3' -use_frameworks! - -pod 'TLDExtract', '~> 3.0' # macOS, iOS, tvOS, watchOS, visionOS, and Swift 5.0 -pod 'TLDExtract', '~> 2.0' # macOS, iOS, tvOS, and Swift 5.0 -pod 'TLDExtract', '~> 1.0' # macOS, iOS, tvOS, and Swift 4.2 -``` +- macOS, iOS, tvOS, watchOS, visionOS, and Swift 5.0 + ```ruby + pod 'TLDExtractSwift', '~> 3.0' + ``` +- macOS, iOS, tvOS, and Swift 5.0 + ```ruby + pod 'TLDExtract', '~> 2.0' + ``` +- macOS, iOS, tvOS, and Swift 4.2 + ```ruby + pod 'TLDExtract', '~> 1.0' + ``` ## Usage @@ -66,14 +114,14 @@ pod 'TLDExtract', '~> 1.0' # macOS, iOS, tvOS, and Swift 4.2 Basic initialization code. Exceptions will not be raised unless [the Public Suffix List on the server](https://publicsuffix.org/list/public_suffix_list.dat) is broken. ```swift -import TLDExtract +import TLDExtractSwift let extractor = try! TLDExtract() ``` A safer initialization code to avoid errors by using the frozen Public Suffix List:
```swift -import TLDExtract +import TLDExtractSwift let extractor = try! TLDExtract(useFrozenData: true) ``` From b78de1483cbcd4814c8a41a842b16fee64ce6296 Mon Sep 17 00:00:00 2001 From: gumob Date: Mon, 26 Aug 2024 10:40:32 +0900 Subject: [PATCH 33/33] docs: Replace image --- Metadata/domain-diagram.svg | 42 ----------------------------------- Metadata/domain-diagram.webp | Bin 0 -> 10834 bytes README.md | 2 +- 3 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 Metadata/domain-diagram.svg create mode 100644 Metadata/domain-diagram.webp diff --git a/Metadata/domain-diagram.svg b/Metadata/domain-diagram.svg deleted file mode 100644 index 726a4bd..0000000 --- a/Metadata/domain-diagram.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - domain-diagram - Created with Sketch. - - - - - https - :// - www - . - github - . - com - - - - Subdomain - - - - - Protocol - - - - Top-Level Domain - - - Second-Level Domain - - - - - Root Domain - - - - - \ No newline at end of file diff --git a/Metadata/domain-diagram.webp b/Metadata/domain-diagram.webp new file mode 100644 index 0000000000000000000000000000000000000000..fe59c72e30b7306cb1535957f60a20839e478383 GIT binary patch literal 10834 zcmZX4byytDv+e@HEkMwqi@Up9AUMHYgD-B2C%9X1cXxLJL4rF8?u3P4i|g6%`<;8w zJiC*jiB$9j@{()+(F;c?$c{+ zp5^LI8!3h^Qv9&`l${{AJTV*<0$lI}j*w>wGcp<07gL@7uMDz2EzG!7SH=$Rg%XtR zC^;d-O-l~}%PYctGy~blmQX6xqi;^~!4WSS=F~qEX*%+HvqI&<{#0tFaC@*vHnx<3 zu3q9BC;t5z=xziKFBSHh^sU+4xb=jVoTyd0qU$9&%xnAKcD8ah`G@o6f>v8Gk&|dL zJbQERVb>s~*X?=`%}1sUiW>V)&)eQ|F1Xg1r=r(U@yqxpYM6M4e<^zX^S{LZwf*;y z|5xDd5{s}LVUo{+2QoT;rI=17S`=_iHwr9~CtwiKhj0o2*VXYhmOH+~tcw%b)FxqL zB3aW7ts_qJy5)qMvt@=AiuaHS-JXXjk5ab%s+zE@2eR4)TL0@7V?TPju1{%73oh1> zuazeVJr8VNrL~_HE;iX*m|9iwU|NXqpz^b%HKef1f%>WKBTZe5<68oe6D1=x<>lzJ zk<*1CFTsfO&4hXtM%Lh-xZjwAT=+wurxrpNj0Zy@@l!Cno}7U2^nzBl`QLL43eA8s z+X*X^xHJtNYy{iU}byU?Q% zqUpxhb&VTEL(W9bc&waaKqjS3;PVDEsA`%1TJD|ud}h>!kB%5q%Qx@qPp|TmtpwCd z_ohV!1MhvVpI0(EuZY~l{Ttkl&+GHe9*vzQC$Fge60Fgfj;kCKTMYM8euch5mRAYN z33$mGSJbD-GG2X-?e&=#Y?rJL*va2a-o+)-+9ex#2Qoi{8}gSYg)$$7F->qX+n!yC znmDIJa2&X{8K|yhG8Ci?Ga}=KwCJP9ZQ?#5KJ&C=QFR=BnrcjXAu4hJDG8UEZ(_QI@%B?uVW7QaPSa6U~0SZJ}we1@SJ+vpy99L6tzfpEHyJi z4&Jl7ImF=LxZrPZ94eKjUL*&vGk~&9SF5gx!TYHECMfiKa!f`yO_<8{xdm50u0{rI z2ztj>t~`i}L|g97?2**K8=a%N;dmSNQY$=M&EjGcTvqYeXcioPtlNA2sj#5J@g+%! zOnwrRvxTNhS@mLnW~jb*?5O4_AElx*&jf3=XIG(j)f(CeYAuVKUfK>W33p&97hxKq z8cqiABJsvD69gCzCm0GUpjMVP=Nif$_3`Ay2%b*?*9NmY*8f^iN^5ZwrfX+q=uBl? z-vndauir%aS*cwhR9yXe(^AU)$zzLer96#zN1GA!E2pUQSaQ&Omn-$XwIWKH(S)P= zX+9A#4|NMw6}HAPbVQHhPb?VCt!JoWwzEDoiX#m|`mT48RGF-1+rUDkW!TNZ?<=Fw zYee3*)6`S+s^~pt~t5saBAGO5hGpt^|-PZu6?#oie4I|OO% z1D5$G!W&Q1X#Xe5qV->r{8JihTqufaAsw2B`R5Jh?NgWrcS}T0H5WvB9dKzwE@ELL zf>37MSF>atm3xqK?ZdF|F9BjQD>(;`FYLe6H9F|_Z#Uqwzy(kI0TTpb<4$`%;$?L2 z#4PYWST3&FU)+lc}`n<-1vd^ALLDJ zerw}jtU)mPyIY18N$p8~U4S+Rj~oJyOI z2zR273cXa)V?mn1%Y{lyO=4dZqd+f)9Nudq8k^n){q{;rpN-}%J2b6L?k>~8iJwt7 zNp>4}$<1}Qf?h(F1)!V-m^RSXl`er1 zV)~t!nJ!{a$4j5u}-$Umfn|ANt+AQicvj$M_raG(0{PMEoJ;_+>SB zg=OAey+#9J=895^?zMn-Gbbv$ zpliLtg?eaNC?zM6Rjt}P#!gwujwt6bI+3(|@g|K`pV90i3C`Efkybmi$(L3W5 zQWi8Q7TB;LGMgf;Gj&qvf9!UZsFdLQZF7S4_s3u&(l@pF)*?tZBYJqiV_=KlV^Hzg@aDDCDB$wj)rxTP^YyU{z3fGz` zzZ6{uF~eD|thy7ybAkF58w^a=FdW_}`cH}o&Lp3gui}>z2HrV3Sl-2aE}s^r=zkdLPDMuIA zNE>so)f_S3QBQY=E`#@j@^BP>9*P_~J16`xu$7sLfXL}`j$_q)`)fP;gMa9cV^ihj zu*`B&h>B3OUSriUZy^E=enGz{gSiM4i6Ks{^SiL&f~+!Eq-!nK!NDjun$LhhgGH|T zDsOT#-f-=v`oH<~eXHp=xvzu%h=F?7^d^#m0~@TARZGZaI6BGOG!$pjZ|xRr?kkXc24>Ye%kk;d zPZu+!Up^M;YZ&;^Ajhn1a2hWV@2_3{6Skzz+`Lvlh!SFN@t+c{HwKQo8xMPfUK~pJ zh|ThOT|WOTPhAk#cM6twT{${7lOf)q)9Rod{h6fXSm ze#13FRFFf?xKi>0)Sx^qVRFlt1Mz>DBNQfAnU6lB&#g2tcZ`#*F7y-(FOTC@9-0+U zzxViegB7ENkAX`J3$EhdDZmG;BGb(F0rD7NH&4dm3qdo2D*IPKbCP64JBpHc9NB40 zYH2D~Y0ll!e96imZ#TTDIb;8#-vGW323ys7UDlE2T<_DXF6QtA#$j7vdiF`&Jh2}L zQjXUR=a;%jo0}BnvY3U&-=S?BWMFUk8|yU@HjGAb3-3u%69s>0^L~DTb1@l|Bd@uw z1YMkEr&486fGYr4skhABc1Po7mP_P8Y2@*_Ni8NKyFjR(Nw?-Qw<)GF{Sr;4Cwt0e zOk5{Y*|QynBMGt+-RT>8{fWmb%_VX}~^XsieF zjYEr6TA|WDoCPZeix|pQj!97nf$pVMsKCCAtb+ThicZ_}mJ)d`sJrxE zu%s@$7bz3ZRD`8e|1i)Y#xZYKrhM?rJ~g;EJdInV-dLwTLifFuVe_0|{d2he586PE zwS}`=!*zn4xmfbxS#oiF+mkZ26b#PVe`fTV`xQPFY@MFMg!$zV{CQkU#wrqlt<+s8 zU2chgH)M+snn7pv`Fa9DWcP0`B?|cp4VIuHdoQdK$yU8kpSI#_5v&QV2kt~az6Qz#aE^D`LlF2Q4B=q&oCkD)?e@blc; zU#^3;rLKMB7cK~MdgR%hj;A|)qG=zS$f0$dXmh_Xh7hgT4g>V`;rjMcCS6-7QPu)v z9K9}%(!x~G{99MLD-T?SL-{}>*c3a3;Mlj~0VfyaG@ zq%Vh25muck@?8}TIl-`Y#QISp=i4&%^4KITk_53aNO>a&1Y;3~6I@*iiisW-mlD7o zM7g7^I|-y(j&5O!6og_OcmyPW8Q?+AGPyPz7spHE-XR{gxV94#&KmWEb!2=L<#;>b zO72LNN2vombF8=HdF0ps24;h3gHl}re->ki1s>e%9=>>A#1tES*-r+V8??ikzm}TM zF}NFBjP^2l>O)^YdaHtg<&TUjmo>(IBedZBDbLSN6ot>ooY5*coVa2Wb;ExY2D_}9 zdaFs^NnM~>j8MV9j4>lOaTLjt))}0Q;qryMs3)sSxgkT#u9H=!W9B}BSUg#TOlw{1 zjq0rgZZhHkK6V4@hcWH{G!R6JqVHlZ%6d`?Ftb>5BWZwKVL{lJ zW0_9K2Ygmak5R-n=5*GN#cz(0IYb$cEJnk!n6NuEMhprkIx7O=I}B`lhpgRiDNT)C zXz4RPDzosdEpQ|8+(Sr>Vb$Sx)3wb_0bGL58+?uGaVD{ns)HVEui_X4Gd`Qx-Cw#; zZh_O)H>oVePKB8b+eXHmMxz`2ZW)U+Yt+@BYj&$C`mZE?2t9s|3_7^foVH#kAB-^* z6TW$unLsF~7>QsbxDx-YVT4&kG2S3_fUrtO(iYb@U|iC`{*$Mbd$ey@qO8H0?UnQL zRY1m=!}tax4!DL4_N1(564*pi@=n#kGW70>TVLwkABsVCmcbcMgn86V+>m9}il*w@ zHLTbjc2?e<;NP$s7}VuAw6C#h#Pkf7M&d0-1^Rigm2r9!a&Wtcfi*HHA}W$$sY56> z$F0Nqk9Ul2A2|h%Hcq%HY_qx5RUqGY?8J%)^dW#RXw`fg!~ z_o?#{0d!~6rL?MH_k|ZpBo_U!6$9l%E#J~tB(sh0S|N{=(-EtWJBroZ5RNS~W4-nS zUA?KEG6C`-LBa3F=GqExIwnUH;acjfect5=#ES~(+pY`_#R_?1Am>Cz`R-f^;+hr`~c8{j-R=?SWI3(LgQ5Z@XY>~`HA2!&fTGHo{z zCz?Dd6p$e6Egd45?<2!~qe-R`Z<=_?I)LL_(V|)Gp!qoT4)eeuY{xJ(ED->a_dGl0 ze1LM|$U#`l1yFLI%6aq{ql-qf1_Hmi;m8D(Je!9$$VhzXjJ#J2YwA6ZGx)1SM%=eN zpzEjHo`(BFB?7iNT(R~v3l^1aBP_H#d6c;!Rr2>I)m11X=}ok7L!)0U7-=1AZ#o9G zx{cLmmchn?F53VF(7a1mlB|kT&Iht08{u0{J4v;s!$v${(iK#A+ph_lLgyRRzMx%P z{>(&CEKga@uBJJukyC6#d9ZP-Ui?Hum4OG(N9d|bHk{t~NfJ#8j+1pcMFZGJ`4SkQG_QiWM$CCS(@8#I^UmSJXA zbetHI{C075SS;`TY`miQc3ePG-J*-01??5??nKmNLtt8zfaZuqaDUu$$XA5abx&Mq z7KVO0GQ4ZGiVV@}`Q=%VE2OCy|6!TvoQEKENUt4Pa$Prmi*7*j;G~9wneFrhgSzoA zbSwq^5DDw<4=PmQzPumNo-Of;Y3ZVbSBQE?jSNBb1Pl3oRO~kWgzlhkrsT~)k%dR; z63ce8)cYF=#0y=!SCZiDVIwn~#7Kg^I+1OhH5q}?>}T^9>0^VPxAX=E2PubbNC*De z%WBYDa?j-ABki{%ET2jLd@m3}QW3`=w!ZT;8#wq>QEd#SV;x%&xD%bBYIZzsxmm* z;=E~9DElZxFtW;((jrI=#9DNr4A)139WRxo@S-%1)KJ6 zSS3CS&0ffl@5Me&OSu+$=lv`J!n`$5`mVTXm?fVlPWa1!(}Ls711f7nL<_vr0lmU5j4)kP=K&|v1+nrP+k@3iefUbJv zY0==OUB?<7M^LZXcE6ifc>P6!S@m6Yv{A2%Q<6bNiI9`924T&^Tl!OIAbCWYRztb_ zb%_?gpV|tV(@2U55IWWsU+Vup?P+BRHT2Y-{FlC%(^1X3UeY#j_Yg6`Y(HL{=%?=I zG~eHA$jpZ<=`J7eh7np=`AQ%jFBG}x)p1{azNF7R@81XJ^EHvl+X(%ht!8{$fZev* zS6PTrOc>i0tyj6SeWgudd`e396a6bO%rh2M-VsykKh4BdA-F~hGeQx>!WF{4T^+=# zsSM9 ze0Sm4BqlgBO7~#A{Q8s)l`q(fGPn(05K}tCRJ> z_LkB0U9tMrl<3lml^nL8?B*KJ_k? zU!$K0VSo29B*=;$`MvDvJT)&I06dZ~Y)+7V>*GisW#3 zTqo64)ya?F`E@4VmX|I}Zv1o#mjU}+I;l#(`{0;};TV?`Yo^!qCZuYJNZG#X=@ z@jr+tZ(!{>vE=>Gi*Dm(S6+KzyL#bhPk9XW_^~XA9ic*x{3A9yVXIdKxxM6r_l9bYIvI#1rtC)S0Y5!Wf|Eb8OUyOl$_u_E{fUOcyb6H;>{ZQto4y{wB! zq{r;=Y$cSL>X@n40`@nCiqzxdsuuR<`&c(;I-8wA8ODLOMr|9rRY4^2>`p!vT$&rY@RR1QB| zc|6QKa{N0P-!}Ozl^3S}<^wY1L8dRGk0a)P{?hWinZFyOfA9B*N3{+g`0~_&2>&5z zLa%1v^uazjZakyXkq{rB_VSG~6BCod%~~B*eo0TmIYJJ3T_pW;bkuN`rlq|tf#~jI za+D*Pj<2eClnM(SiJeD;ol9`db511oX5%6ecX#7lGR4{PF<_}A!?@ez)~slqMNbq! z!?D@?K8QvuAv^#RhxIQ`&K=eJ{+=D2DnN}glY+9Xw!dX*L@}0=(-WC2{h33WO*!~& zZQOg~{v1V6;FKodro_pwvn1?iI5ur*Y`(tG0=&1ky*_5XgMBCFA`}YE17#!Ut5^wP zvjTYT8_l=3901Q6*r`2Qy6JC$`a+h4!~VYm7ZtSP{_!!cvMmaDDP|BjfE!qFVde~e z9T7)J&*~jKg7j~uh?TPg7QEt{^Gl@Z;Bf@&8PEYA6zz7<0nKS1J8&Grxhg>6J7joo zRf3ow0*nk!%bNEyMxr~vBiPg)RLdxb+Unx7X^Saw5~b&nc;X@Vp}9KCrJAiaymyeJ zW&(V`0wHO(X3%XrFalNiL3aZh3Z?8!FY8se%BeP8amD=RMQj|65QY5 z3B<&K<>1y}rwBV8hv}u*uVo{QM#;-^@V@x(1HU;T^Z7!q|5kLA$Xecp1o9p8aZV}A zFmdK`Kq8rYtZ@SBk!?2?6Z=td5+?!gXrU%fdAE?YWbG7%y{jg`i}w!;Cp_gtTnq#J z>-Q#3i;j0_e3ZhcO#=KF{C9E)cRC7W6%B1-L4!a!<8pXFIf?%#8VsiQXpHhQ1kd~c zz{)C0h8H^k;K4PoOIi!B`QCSoh6YXo8z(Uj&|PdkivS3URrtzscce1&E$dE+Cy)TYpE3&ML@N-bp^3Yp(h%X@my!>*p>&8EwGvv~h zN!3IEC@bNP&qsR}hen&-i{h=W164W5_EL@8h1V9qe%e&9%>^CDi z0Ls9VusTJ!34#m&rM?Uj!rfXnce%LN_=GsTZn}>F$zlMggIP`-6S?x#`E4R0+_zrh zYJYf%A9`UFcc$rH;^()Pi4rv;({Q&+9nJS8ep`s+3cT<7CF**Vd2@t09D2(Ao?C;t zD-pE#pn%^lc|#qsOYr5|k8>rDDVFv%VTvu0K%m?i5+s)(@y9DbLHQL`dWHkQsE}+2 z_njC_+)qC?UiOAV43x7^1-GfS4jq||Hyl*gt?u^uR;3X?_TipMWh}8lGcR{%UtWdA&w~+d zpoMVN@4%SlJ|7bWG-Qgoovptbm5`w4_l#^<@#JvNv>Lyek(JqF2CNGJ{uk?@|XH4RGFHd%w1jM6cxAX#uv{~)x{Ad8sIP_u>l8d z^3LpU&D3USFmt)HzKOC_p#fMdq;eRH(aXPy0X!o;;l9$u6~U6Sj0_GDJ&L^cQuGR_eyWw>WE zDCJ_SJJrORHCbXQxRwlH$@OFkw;}?@>|dIdXpshj zCNj}Zn6xYadA@%^g-3>8o3&8oug&jLKh@XM@_<(=o0GstETSbaVgk1I|*eg@uPk6aUvzzx!Uh_wiS@c}pEthirzaRt$(uxSF3W2vJ;>PFht7u2yhZdyR?PkO+Ztc=Ptu>=g&Nw%PW8l82V z(NytLYOl_F{3PitSLl!!umaxtCipr~DwF>5ty&uihq683+TR^CIVtL(QK9{U9Ypv; z*vS`TPFwc*T@OMJRl(A|tEmt9-aPN-%#UZO=H5y6aZtxs`J^Ig!#q&xcjVILeYBEXd>&gxJ} zWTAp#ZV1Mjy`l;HrFO(EJb^qm*haGIMX}~^;pf;Hh$8xVHB6xifeTAhxxLbF><48M+ zYm=#{ZnS)ebeh1|LO@90+$p@;zI}@cDYhK8pW0E)M~%cM9)RU?Y&#)i-zjm+VdaN1 z>sN$faL((ZwGC&`inXTPOM^Waoq;#9~Bdl}?07y^Cvi;zT(b<>yAfMn(*bReE6b zB>+HV-cON*06SoDaXJV}z-MSdG-2ZRf_OEN%y2XDdE9ow{u-;|$Xeo_Zxdr+q4*uX z7`$>qSFZS-J8uaw%%rti^OpJdRz;gA!l1USzoPPpj(Ir1UE~>FZ?l;xNO;wT{Q#t| z48YX;s?w*A0Dw&3@M?#pFi_0wCQmDnJfhS37g%DPi~qLkonnM@p7u4D_*oHG0)RMa zlJV5j$nIsr0|cAJSzQk%@*w~PUy2vJa}IIqD^H)-ro|MJ?iooLu78=LoSbLdKkY5; zlbuDr1S}9GF%YCMb-4@`Qv-n;KC8?e4qA(6Y~@&ciw5+qGn*GYWH%yOBGyfuS8=B? z;y>TfbRDp5+HcebexGZ82&}%yPHD0_$P!6-8egOMsny9}`-7gKDGqCtCBFtzemwD70;0^_jf6} z9QQKHzszLC(orlQ!-wV&SD3LxNTLmvx0zIGy!9utTESln<~Hppza+!h!m z0kmy5w5XO~I(qPV@NUyvj-Lt^Jos-K{uTTi=cUL+)Ydi{FLoA45Qxxo2Ueu#Y6xAv$nDx@rCEOQv5#uE+RX6#y8n5vnUo zrut#exk@jn`J%g%gt$TzXWHr`tw?yKBv@OYA0`Rsgp^>KahQfG8{UAT-|s&cf>2zmZISg%7eB&SEe2NYA%22xfe%{e=u69})mlS^k;HH;1V-XxFP2 zH2yOgV0FpVN9&R)$f01ju$k?jsM>rI|AUp0N407ng9R* literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 2579c7e..54a71bd 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Domain names are the unique, human-readable Internet addresses of websites. They are made up of three parts: a top-level domain (a.k.a. TLD), a second-level domain name, and an optional subdomain. -drawing +drawing ## Changes in 3.0.0