From 35f1e92d6304713c916d2cadd4f9093f844842ea Mon Sep 17 00:00:00 2001 From: Martin Lasak Date: Thu, 29 Feb 2024 15:14:09 +0100 Subject: [PATCH] win10 wsl2 cert setup that works --- README.md | 23 ++ check-host.sh | 2 +- config.json | 24 +- docker-compose.yml | 538 ++++++++++++++++++++++----------------------- 4 files changed, 313 insertions(+), 274 deletions(-) diff --git a/README.md b/README.md index 678daee..6180696 100644 --- a/README.md +++ b/README.md @@ -202,6 +202,29 @@ Your `config.json` should look something like this: } ``` +#### How to get SSL certificates using certbot in docker + +Only three steps are required to get 3 month valid certificates for your domain and have a DNS setup appropriate for local testing. The third step is to be replicated anytime your ip changes. + +1. Get a (sub)domain from a DNS provider. For example, duckdns.org offers a free service among others. +2. Issue certificates for that domain. There are multiple methods to proove that domain belongs to you. Without external IP address we recommend the TXT record based (DNS-01 challenge validation) approach. +3. Update DNS A-record to point to IP address of your host executing the test runner + +Detailed instructions for step 2: +```shell +# with installed docker, run in your terminal +mkdir some_local_cert_dir +cd some_local_cert_dir +docker run -it --rm --name certbot -v ".:/etc/letsencrypt" -v ".:/var/lib/letsencrypt" certbot/certbot -d {YOUR_DOMAIN_HERE} --manual --preferred-challenges dns certonly +# you will be requested to update the TXT DNS record +# if you use duckdns.org this can be simply done by bowsing (to cURL) to following URL after replacing the placeholders +curl https://www.duckdns.org/update?domains={YOUR_DOMAIN_HERE}&token={YOUR_TOKEN_FROM_DUCKDNS_HERE}&txt={YOUR_VALUE_FROM_CERTBOT_HERE} +# respose is "OK" in case of success +# verify if the TXt-record is set, e.g. using dns.google.com paste in your domain, select TXT from dropdown and check if your TXT record is set, if not then please wait some time e.g. 1minute are repeat check +# the certificates are available at ./archive/{YOUR_DOMAIN_HERE}/*.pem +# copy the *.pem files to your dpctf_deploy/certs folder and adapt the dpctf_deploy/config.json +``` + ### Agree to the EULA For the test runner to start you are required to agree to the [EULA](https://github.com/cta-wave/dpctf-deploy/#agree-to-eula). diff --git a/check-host.sh b/check-host.sh index 9d1661a..e11ff7d 100755 --- a/check-host.sh +++ b/check-host.sh @@ -18,6 +18,6 @@ if [[ $host_ip =~ $ip_regex ]]; then echo "=================================" echo -e "\e[0m" echo - exit 1 + exit 0 fi fi diff --git a/config.json b/config.json index 2bcb6bf..21e2e7d 100644 --- a/config.json +++ b/config.json @@ -1,7 +1,23 @@ { - "browser_host": "web-platform.test", + "browser_host": "hbbtv.duckdns.org", "alternate_hosts": { - "alt": "not-web-platform.test" + "alt": "not.hbbtv.duckdns.org" + }, + "ssl": { + "type": "pregenerated", + "encrypt_after_connect": false, + "openssl": { + "openssl_binary": "openssl", + "base_path": "_certs", + "force_regenerate": false, + "base_conf_path": null + }, + "pregenerated": { + "ca_cert_path": "./certs/chain1.pem", + "host_key_path": "./certs/privkey1.pem", + "host_cert_path": "./certs/cert1.pem" + }, + "none": {} }, "wave": { "aliases": [], @@ -14,6 +30,6 @@ "web_root": "/_wave", "persisting_interval": 20, "api_titles": [], - "host_override": "" + "host_override": "hbbtv.duckdns.org" } -} +} \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 5c8e36c..a82b046 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,15 +3,15 @@ version: '3' services: dpctf: container_name: dpctf - image: dpctf:latest + image: dpctf:hbbtvfix restart: unless-stopped - ports: - - "8000:8000" - - "8443:8443" - - "8444:8444" - - "9000:9000" + #ports: + # - "8000:8000" + #- "8443:8443" + #- "8444:8444" + #- "9000:9000" #- "53:53/udp" - network_mode: "bridge" + network_mode: "host" volumes: - ./results:/home/ubuntu/DPCTF/results - ./config.json:/home/ubuntu/DPCTF/config.json @@ -20,266 +20,266 @@ services: - ./content:/home/ubuntu/DPCTF/content #- ./test-config.json:/home/ubuntu/DPCTF/test-config.json environment: - AGREE_EULA: "no" - START_DNS: "yes" + AGREE_EULA: "yes" + START_DNS: "no" extra_hosts: - - "www1.xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "op88.web-platform.test:0.0.0.0" - - "op36.not-web-platform.test:0.0.0.0" - - "op53.not-web-platform.test:0.0.0.0" - - "op50.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.www.web-platform.test:0.0.0.0" - - "op98.web-platform.test:0.0.0.0" - - "op24.not-web-platform.test:0.0.0.0" - - "op31.not-web-platform.test:0.0.0.0" - - "op95.not-web-platform.test:0.0.0.0" - - "op85.web-platform.test:0.0.0.0" - - "op83.not-web-platform.test:0.0.0.0" - - "www2.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.www.not-web-platform.test:0.0.0.0" - - "op73.not-web-platform.test:0.0.0.0" - - "op8.web-platform.test:0.0.0.0" - - "www2.www2.not-web-platform.test:0.0.0.0" - - "op89.web-platform.test:0.0.0.0" - - "op66.web-platform.test:0.0.0.0" - - "xn--lve-6lad.web-platform.test:0.0.0.0" - - "op19.not-web-platform.test:0.0.0.0" - - "www1.www2.web-platform.test:0.0.0.0" - - "op72.web-platform.test:0.0.0.0" - - "op24.web-platform.test:0.0.0.0" - - "op21.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "op41.web-platform.test:0.0.0.0" - - "op79.web-platform.test:0.0.0.0" - - "op81.not-web-platform.test:0.0.0.0" - - "op70.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "op78.not-web-platform.test:0.0.0.0" - - "op6.not-web-platform.test:0.0.0.0" - - "www1.www.not-web-platform.test:0.0.0.0" - - "op40.not-web-platform.test:0.0.0.0" - - "op25.not-web-platform.test:0.0.0.0" - - "op3.not-web-platform.test:0.0.0.0" - - "op65.not-web-platform.test:0.0.0.0" - - "op91.web-platform.test:0.0.0.0" - - "www.www2.web-platform.test:0.0.0.0" - - "op80.not-web-platform.test:0.0.0.0" - - "op59.web-platform.test:0.0.0.0" - - "op52.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.xn--lve-6lad.web-platform.test:0.0.0.0" - - "op68.not-web-platform.test:0.0.0.0" - - "op45.not-web-platform.test:0.0.0.0" - - "op71.not-web-platform.test:0.0.0.0" - - "op72.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www2.web-platform.test:0.0.0.0" - - "op39.web-platform.test:0.0.0.0" - - "op90.not-web-platform.test:0.0.0.0" - - "op60.web-platform.test:0.0.0.0" - - "op58.web-platform.test:0.0.0.0" - - "op28.web-platform.test:0.0.0.0" - - "www1.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.web-platform.test:0.0.0.0" - - "op14.web-platform.test:0.0.0.0" - - "op89.not-web-platform.test:0.0.0.0" - - "op69.web-platform.test:0.0.0.0" - - "op49.not-web-platform.test:0.0.0.0" - - "op40.web-platform.test:0.0.0.0" - - "op2.not-web-platform.test:0.0.0.0" - - "op5.not-web-platform.test:0.0.0.0" - - "www.www2.not-web-platform.test:0.0.0.0" - - "op77.not-web-platform.test:0.0.0.0" - - "www.xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "op7.web-platform.test:0.0.0.0" - - "op74.web-platform.test:0.0.0.0" - - "op79.not-web-platform.test:0.0.0.0" - - "op82.not-web-platform.test:0.0.0.0" - - "www.www1.web-platform.test:0.0.0.0" - - "op12.not-web-platform.test:0.0.0.0" - - "op39.not-web-platform.test:0.0.0.0" - - "op31.web-platform.test:0.0.0.0" - - "www.not-web-platform.test:0.0.0.0" - - "www.www.not-web-platform.test:0.0.0.0" - - "op44.not-web-platform.test:0.0.0.0" - - "www1.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www1.web-platform.test:0.0.0.0" - - "op58.not-web-platform.test:0.0.0.0" - - "op14.not-web-platform.test:0.0.0.0" - - "op30.not-web-platform.test:0.0.0.0" - - "op62.not-web-platform.test:0.0.0.0" - - "op61.not-web-platform.test:0.0.0.0" - - "op92.not-web-platform.test:0.0.0.0" - - "www2.xn--lve-6lad.web-platform.test:0.0.0.0" - - "op29.not-web-platform.test:0.0.0.0" - - "op18.web-platform.test:0.0.0.0" - - "op73.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "op77.web-platform.test:0.0.0.0" - - "op12.web-platform.test:0.0.0.0" - - "op54.web-platform.test:0.0.0.0" - - "op63.web-platform.test:0.0.0.0" - - "op71.web-platform.test:0.0.0.0" - - "www2.www1.not-web-platform.test:0.0.0.0" - - "op95.web-platform.test:0.0.0.0" - - "op16.web-platform.test:0.0.0.0" - - "op36.web-platform.test:0.0.0.0" - - "op27.web-platform.test:0.0.0.0" - - "www.www.web-platform.test:0.0.0.0" - - "op98.not-web-platform.test:0.0.0.0" - - "op64.not-web-platform.test:0.0.0.0" - - "op29.web-platform.test:0.0.0.0" - - "op9.web-platform.test:0.0.0.0" - - "op26.not-web-platform.test:0.0.0.0" - - "op22.not-web-platform.test:0.0.0.0" - - "op94.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www2.not-web-platform.test:0.0.0.0" - - "op44.web-platform.test:0.0.0.0" - - "op94.not-web-platform.test:0.0.0.0" - - "op33.web-platform.test:0.0.0.0" - - "op38.not-web-platform.test:0.0.0.0" - - "op33.not-web-platform.test:0.0.0.0" - - "op84.web-platform.test:0.0.0.0" - - "www1.www1.not-web-platform.test:0.0.0.0" - - "op23.not-web-platform.test:0.0.0.0" - - "op57.not-web-platform.test:0.0.0.0" - - "op54.not-web-platform.test:0.0.0.0" - - "op85.not-web-platform.test:0.0.0.0" - - "www2.www2.web-platform.test:0.0.0.0" - - "op46.not-web-platform.test:0.0.0.0" - - "op97.not-web-platform.test:0.0.0.0" - - "op32.web-platform.test:0.0.0.0" - - "op61.web-platform.test:0.0.0.0" - - "op70.web-platform.test:0.0.0.0" - - "www2.web-platform.test:0.0.0.0" - - "op32.not-web-platform.test:0.0.0.0" - - "op60.not-web-platform.test:0.0.0.0" - - "op4.web-platform.test:0.0.0.0" - - "op43.web-platform.test:0.0.0.0" - - "op7.not-web-platform.test:0.0.0.0" - - "op78.web-platform.test:0.0.0.0" - - "op26.web-platform.test:0.0.0.0" - - "xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "op96.not-web-platform.test:0.0.0.0" - - "op51.not-web-platform.test:0.0.0.0" - - "op41.not-web-platform.test:0.0.0.0" - - "op76.web-platform.test:0.0.0.0" - - "op52.web-platform.test:0.0.0.0" - - "op99.web-platform.test:0.0.0.0" - - "op35.not-web-platform.test:0.0.0.0" - - "op99.not-web-platform.test:0.0.0.0" - - "op86.web-platform.test:0.0.0.0" - - "not-web-platform.test:0.0.0.0" - - "op42.not-web-platform.test:0.0.0.0" - - "op46.web-platform.test:0.0.0.0" - - "op67.not-web-platform.test:0.0.0.0" - - "op17.web-platform.test:0.0.0.0" - - "op90.web-platform.test:0.0.0.0" - - "op93.web-platform.test:0.0.0.0" - - "op37.not-web-platform.test:0.0.0.0" - - "op48.not-web-platform.test:0.0.0.0" - - "op10.web-platform.test:0.0.0.0" - - "op55.not-web-platform.test:0.0.0.0" - - "op4.not-web-platform.test:0.0.0.0" - - "www1.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "op55.web-platform.test:0.0.0.0" - - "xn--lve-6lad.www2.web-platform.test:0.0.0.0" - - "op47.web-platform.test:0.0.0.0" - - "op51.web-platform.test:0.0.0.0" - - "op45.web-platform.test:0.0.0.0" - - "op80.web-platform.test:0.0.0.0" - - "op68.web-platform.test:0.0.0.0" - - "op49.web-platform.test:0.0.0.0" - - "op57.web-platform.test:0.0.0.0" - - "www2.xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "www.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "op56.not-web-platform.test:0.0.0.0" - - "web-platform.test:0.0.0.0" - - "op84.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "op34.not-web-platform.test:0.0.0.0" - - "op6.web-platform.test:0.0.0.0" - - "op35.web-platform.test:0.0.0.0" - - "op67.web-platform.test:0.0.0.0" - - "op69.not-web-platform.test:0.0.0.0" - - "op11.not-web-platform.test:0.0.0.0" - - "op93.not-web-platform.test:0.0.0.0" - - "www1.www.web-platform.test:0.0.0.0" - - "op86.not-web-platform.test:0.0.0.0" - - "op8.not-web-platform.test:0.0.0.0" - - "www2.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "op92.web-platform.test:0.0.0.0" - - "xn--lve-6lad.www1.not-web-platform.test:0.0.0.0" - - "op15.web-platform.test:0.0.0.0" - - "op13.not-web-platform.test:0.0.0.0" - - "op13.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www.web-platform.test:0.0.0.0" - - "op75.web-platform.test:0.0.0.0" - - "op20.not-web-platform.test:0.0.0.0" - - "op76.not-web-platform.test:0.0.0.0" - - "op64.web-platform.test:0.0.0.0" - - "op97.web-platform.test:0.0.0.0" - - "op37.web-platform.test:0.0.0.0" - - "op56.web-platform.test:0.0.0.0" - - "op62.web-platform.test:0.0.0.0" - - "op82.web-platform.test:0.0.0.0" - - "op25.web-platform.test:0.0.0.0" - - "op11.web-platform.test:0.0.0.0" - - "www.xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "www2.www1.web-platform.test:0.0.0.0" - - "op27.not-web-platform.test:0.0.0.0" - - "op50.web-platform.test:0.0.0.0" - - "op17.not-web-platform.test:0.0.0.0" - - "op38.web-platform.test:0.0.0.0" - - "www2.www.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.www1.web-platform.test:0.0.0.0" - - "op75.not-web-platform.test:0.0.0.0" - - "op83.web-platform.test:0.0.0.0" - - "op81.web-platform.test:0.0.0.0" - - "op15.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www.not-web-platform.test:0.0.0.0" - - "op20.web-platform.test:0.0.0.0" - - "op3.web-platform.test:0.0.0.0" - - "www1.www2.not-web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not-web-platform.test:0.0.0.0" - - "op2.web-platform.test:0.0.0.0" - - "op21.web-platform.test:0.0.0.0" - - "op23.web-platform.test:0.0.0.0" - - "op42.web-platform.test:0.0.0.0" - - "op47.not-web-platform.test:0.0.0.0" - - "www1.www1.web-platform.test:0.0.0.0" - - "op18.not-web-platform.test:0.0.0.0" - - "op22.web-platform.test:0.0.0.0" - - "xn--lve-6lad.xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "op63.not-web-platform.test:0.0.0.0" - - "op28.not-web-platform.test:0.0.0.0" - - "op65.web-platform.test:0.0.0.0" - - "www.www1.not-web-platform.test:0.0.0.0" - - "www1.xn--lve-6lad.web-platform.test:0.0.0.0" - - "op43.not-web-platform.test:0.0.0.0" - - "op66.not-web-platform.test:0.0.0.0" - - "www2.www.web-platform.test:0.0.0.0" - - "op96.web-platform.test:0.0.0.0" - - "op91.not-web-platform.test:0.0.0.0" - - "www.xn--lve-6lad.web-platform.test:0.0.0.0" - - "op1.web-platform.test:0.0.0.0" - - "op74.not-web-platform.test:0.0.0.0" - - "op87.web-platform.test:0.0.0.0" - - "op59.not-web-platform.test:0.0.0.0" - - "op19.web-platform.test:0.0.0.0" - - "xn--n8j6ds53lwwkrqhv28a.www1.not-web-platform.test:0.0.0.0" - - "op9.not-web-platform.test:0.0.0.0" - - "op88.not-web-platform.test:0.0.0.0" - - "op53.web-platform.test:0.0.0.0" - - "www2.xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "op87.not-web-platform.test:0.0.0.0" - - "op30.web-platform.test:0.0.0.0" - - "op10.not-web-platform.test:0.0.0.0" - - "op48.web-platform.test:0.0.0.0" - - "op16.not-web-platform.test:0.0.0.0" - - "op34.web-platform.test:0.0.0.0" - - "op1.not-web-platform.test:0.0.0.0" - - "www.web-platform.test:0.0.0.0" - - "op5.web-platform.test:0.0.0.0" - - "www1.xn--lve-6lad.not-web-platform.test:0.0.0.0" - - "xn--lve-6lad.www2.not-web-platform.test:0.0.0.0" + - "www1.xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "op88.hbbtv.duckdns.org:0.0.0.0" + - "op36.not.hbbtv.duckdns.org:0.0.0.0" + - "op53.not.hbbtv.duckdns.org:0.0.0.0" + - "op50.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www.hbbtv.duckdns.org:0.0.0.0" + - "op98.hbbtv.duckdns.org:0.0.0.0" + - "op24.not.hbbtv.duckdns.org:0.0.0.0" + - "op31.not.hbbtv.duckdns.org:0.0.0.0" + - "op95.not.hbbtv.duckdns.org:0.0.0.0" + - "op85.hbbtv.duckdns.org:0.0.0.0" + - "op83.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www.not.hbbtv.duckdns.org:0.0.0.0" + - "op73.not.hbbtv.duckdns.org:0.0.0.0" + - "op8.hbbtv.duckdns.org:0.0.0.0" + - "www2.www2.not.hbbtv.duckdns.org:0.0.0.0" + - "op89.hbbtv.duckdns.org:0.0.0.0" + - "op66.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op19.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.www2.hbbtv.duckdns.org:0.0.0.0" + - "op72.hbbtv.duckdns.org:0.0.0.0" + - "op24.hbbtv.duckdns.org:0.0.0.0" + - "op21.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "op41.hbbtv.duckdns.org:0.0.0.0" + - "op79.hbbtv.duckdns.org:0.0.0.0" + - "op81.not.hbbtv.duckdns.org:0.0.0.0" + - "op70.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "op78.not.hbbtv.duckdns.org:0.0.0.0" + - "op6.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.www.not.hbbtv.duckdns.org:0.0.0.0" + - "op40.not.hbbtv.duckdns.org:0.0.0.0" + - "op25.not.hbbtv.duckdns.org:0.0.0.0" + - "op3.not.hbbtv.duckdns.org:0.0.0.0" + - "op65.not.hbbtv.duckdns.org:0.0.0.0" + - "op91.hbbtv.duckdns.org:0.0.0.0" + - "www.www2.hbbtv.duckdns.org:0.0.0.0" + - "op80.not.hbbtv.duckdns.org:0.0.0.0" + - "op59.hbbtv.duckdns.org:0.0.0.0" + - "op52.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op68.not.hbbtv.duckdns.org:0.0.0.0" + - "op45.not.hbbtv.duckdns.org:0.0.0.0" + - "op71.not.hbbtv.duckdns.org:0.0.0.0" + - "op72.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www2.hbbtv.duckdns.org:0.0.0.0" + - "op39.hbbtv.duckdns.org:0.0.0.0" + - "op90.not.hbbtv.duckdns.org:0.0.0.0" + - "op60.hbbtv.duckdns.org:0.0.0.0" + - "op58.hbbtv.duckdns.org:0.0.0.0" + - "op28.hbbtv.duckdns.org:0.0.0.0" + - "www1.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op14.hbbtv.duckdns.org:0.0.0.0" + - "op89.not.hbbtv.duckdns.org:0.0.0.0" + - "op69.hbbtv.duckdns.org:0.0.0.0" + - "op49.not.hbbtv.duckdns.org:0.0.0.0" + - "op40.hbbtv.duckdns.org:0.0.0.0" + - "op2.not.hbbtv.duckdns.org:0.0.0.0" + - "op5.not.hbbtv.duckdns.org:0.0.0.0" + - "www.www2.not.hbbtv.duckdns.org:0.0.0.0" + - "op77.not.hbbtv.duckdns.org:0.0.0.0" + - "www.xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "op7.hbbtv.duckdns.org:0.0.0.0" + - "op74.hbbtv.duckdns.org:0.0.0.0" + - "op79.not.hbbtv.duckdns.org:0.0.0.0" + - "op82.not.hbbtv.duckdns.org:0.0.0.0" + - "www.www1.hbbtv.duckdns.org:0.0.0.0" + - "op12.not.hbbtv.duckdns.org:0.0.0.0" + - "op39.not.hbbtv.duckdns.org:0.0.0.0" + - "op31.hbbtv.duckdns.org:0.0.0.0" + - "www.not.hbbtv.duckdns.org:0.0.0.0" + - "www.www.not.hbbtv.duckdns.org:0.0.0.0" + - "op44.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www1.hbbtv.duckdns.org:0.0.0.0" + - "op58.not.hbbtv.duckdns.org:0.0.0.0" + - "op14.not.hbbtv.duckdns.org:0.0.0.0" + - "op30.not.hbbtv.duckdns.org:0.0.0.0" + - "op62.not.hbbtv.duckdns.org:0.0.0.0" + - "op61.not.hbbtv.duckdns.org:0.0.0.0" + - "op92.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op29.not.hbbtv.duckdns.org:0.0.0.0" + - "op18.hbbtv.duckdns.org:0.0.0.0" + - "op73.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "op77.hbbtv.duckdns.org:0.0.0.0" + - "op12.hbbtv.duckdns.org:0.0.0.0" + - "op54.hbbtv.duckdns.org:0.0.0.0" + - "op63.hbbtv.duckdns.org:0.0.0.0" + - "op71.hbbtv.duckdns.org:0.0.0.0" + - "www2.www1.not.hbbtv.duckdns.org:0.0.0.0" + - "op95.hbbtv.duckdns.org:0.0.0.0" + - "op16.hbbtv.duckdns.org:0.0.0.0" + - "op36.hbbtv.duckdns.org:0.0.0.0" + - "op27.hbbtv.duckdns.org:0.0.0.0" + - "www.www.hbbtv.duckdns.org:0.0.0.0" + - "op98.not.hbbtv.duckdns.org:0.0.0.0" + - "op64.not.hbbtv.duckdns.org:0.0.0.0" + - "op29.hbbtv.duckdns.org:0.0.0.0" + - "op9.hbbtv.duckdns.org:0.0.0.0" + - "op26.not.hbbtv.duckdns.org:0.0.0.0" + - "op22.not.hbbtv.duckdns.org:0.0.0.0" + - "op94.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www2.not.hbbtv.duckdns.org:0.0.0.0" + - "op44.hbbtv.duckdns.org:0.0.0.0" + - "op94.not.hbbtv.duckdns.org:0.0.0.0" + - "op33.hbbtv.duckdns.org:0.0.0.0" + - "op38.not.hbbtv.duckdns.org:0.0.0.0" + - "op33.not.hbbtv.duckdns.org:0.0.0.0" + - "op84.hbbtv.duckdns.org:0.0.0.0" + - "www1.www1.not.hbbtv.duckdns.org:0.0.0.0" + - "op23.not.hbbtv.duckdns.org:0.0.0.0" + - "op57.not.hbbtv.duckdns.org:0.0.0.0" + - "op54.not.hbbtv.duckdns.org:0.0.0.0" + - "op85.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.www2.hbbtv.duckdns.org:0.0.0.0" + - "op46.not.hbbtv.duckdns.org:0.0.0.0" + - "op97.not.hbbtv.duckdns.org:0.0.0.0" + - "op32.hbbtv.duckdns.org:0.0.0.0" + - "op61.hbbtv.duckdns.org:0.0.0.0" + - "op70.hbbtv.duckdns.org:0.0.0.0" + - "www2.hbbtv.duckdns.org:0.0.0.0" + - "op32.not.hbbtv.duckdns.org:0.0.0.0" + - "op60.not.hbbtv.duckdns.org:0.0.0.0" + - "op4.hbbtv.duckdns.org:0.0.0.0" + - "op43.hbbtv.duckdns.org:0.0.0.0" + - "op7.not.hbbtv.duckdns.org:0.0.0.0" + - "op78.hbbtv.duckdns.org:0.0.0.0" + - "op26.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "op96.not.hbbtv.duckdns.org:0.0.0.0" + - "op51.not.hbbtv.duckdns.org:0.0.0.0" + - "op41.not.hbbtv.duckdns.org:0.0.0.0" + - "op76.hbbtv.duckdns.org:0.0.0.0" + - "op52.hbbtv.duckdns.org:0.0.0.0" + - "op99.hbbtv.duckdns.org:0.0.0.0" + - "op35.not.hbbtv.duckdns.org:0.0.0.0" + - "op99.not.hbbtv.duckdns.org:0.0.0.0" + - "op86.hbbtv.duckdns.org:0.0.0.0" + - "not.hbbtv.duckdns.org:0.0.0.0" + - "op42.not.hbbtv.duckdns.org:0.0.0.0" + - "op46.hbbtv.duckdns.org:0.0.0.0" + - "op67.not.hbbtv.duckdns.org:0.0.0.0" + - "op17.hbbtv.duckdns.org:0.0.0.0" + - "op90.hbbtv.duckdns.org:0.0.0.0" + - "op93.hbbtv.duckdns.org:0.0.0.0" + - "op37.not.hbbtv.duckdns.org:0.0.0.0" + - "op48.not.hbbtv.duckdns.org:0.0.0.0" + - "op10.hbbtv.duckdns.org:0.0.0.0" + - "op55.not.hbbtv.duckdns.org:0.0.0.0" + - "op4.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "op55.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www2.hbbtv.duckdns.org:0.0.0.0" + - "op47.hbbtv.duckdns.org:0.0.0.0" + - "op51.hbbtv.duckdns.org:0.0.0.0" + - "op45.hbbtv.duckdns.org:0.0.0.0" + - "op80.hbbtv.duckdns.org:0.0.0.0" + - "op68.hbbtv.duckdns.org:0.0.0.0" + - "op49.hbbtv.duckdns.org:0.0.0.0" + - "op57.hbbtv.duckdns.org:0.0.0.0" + - "www2.xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "www.xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "op56.not.hbbtv.duckdns.org:0.0.0.0" + - "hbbtv.duckdns.org:0.0.0.0" + - "op84.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "op34.not.hbbtv.duckdns.org:0.0.0.0" + - "op6.hbbtv.duckdns.org:0.0.0.0" + - "op35.hbbtv.duckdns.org:0.0.0.0" + - "op67.hbbtv.duckdns.org:0.0.0.0" + - "op69.not.hbbtv.duckdns.org:0.0.0.0" + - "op11.not.hbbtv.duckdns.org:0.0.0.0" + - "op93.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.www.hbbtv.duckdns.org:0.0.0.0" + - "op86.not.hbbtv.duckdns.org:0.0.0.0" + - "op8.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "op92.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www1.not.hbbtv.duckdns.org:0.0.0.0" + - "op15.hbbtv.duckdns.org:0.0.0.0" + - "op13.not.hbbtv.duckdns.org:0.0.0.0" + - "op13.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www.hbbtv.duckdns.org:0.0.0.0" + - "op75.hbbtv.duckdns.org:0.0.0.0" + - "op20.not.hbbtv.duckdns.org:0.0.0.0" + - "op76.not.hbbtv.duckdns.org:0.0.0.0" + - "op64.hbbtv.duckdns.org:0.0.0.0" + - "op97.hbbtv.duckdns.org:0.0.0.0" + - "op37.hbbtv.duckdns.org:0.0.0.0" + - "op56.hbbtv.duckdns.org:0.0.0.0" + - "op62.hbbtv.duckdns.org:0.0.0.0" + - "op82.hbbtv.duckdns.org:0.0.0.0" + - "op25.hbbtv.duckdns.org:0.0.0.0" + - "op11.hbbtv.duckdns.org:0.0.0.0" + - "www.xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.www1.hbbtv.duckdns.org:0.0.0.0" + - "op27.not.hbbtv.duckdns.org:0.0.0.0" + - "op50.hbbtv.duckdns.org:0.0.0.0" + - "op17.not.hbbtv.duckdns.org:0.0.0.0" + - "op38.hbbtv.duckdns.org:0.0.0.0" + - "www2.www.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www1.hbbtv.duckdns.org:0.0.0.0" + - "op75.not.hbbtv.duckdns.org:0.0.0.0" + - "op83.hbbtv.duckdns.org:0.0.0.0" + - "op81.hbbtv.duckdns.org:0.0.0.0" + - "op15.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www.not.hbbtv.duckdns.org:0.0.0.0" + - "op20.hbbtv.duckdns.org:0.0.0.0" + - "op3.hbbtv.duckdns.org:0.0.0.0" + - "www1.www2.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.xn--n8j6ds53lwwkrqhv28a.not.hbbtv.duckdns.org:0.0.0.0" + - "op2.hbbtv.duckdns.org:0.0.0.0" + - "op21.hbbtv.duckdns.org:0.0.0.0" + - "op23.hbbtv.duckdns.org:0.0.0.0" + - "op42.hbbtv.duckdns.org:0.0.0.0" + - "op47.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.www1.hbbtv.duckdns.org:0.0.0.0" + - "op18.not.hbbtv.duckdns.org:0.0.0.0" + - "op22.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "op63.not.hbbtv.duckdns.org:0.0.0.0" + - "op28.not.hbbtv.duckdns.org:0.0.0.0" + - "op65.hbbtv.duckdns.org:0.0.0.0" + - "www.www1.not.hbbtv.duckdns.org:0.0.0.0" + - "www1.xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op43.not.hbbtv.duckdns.org:0.0.0.0" + - "op66.not.hbbtv.duckdns.org:0.0.0.0" + - "www2.www.hbbtv.duckdns.org:0.0.0.0" + - "op96.hbbtv.duckdns.org:0.0.0.0" + - "op91.not.hbbtv.duckdns.org:0.0.0.0" + - "www.xn--lve-6lad.hbbtv.duckdns.org:0.0.0.0" + - "op1.hbbtv.duckdns.org:0.0.0.0" + - "op74.not.hbbtv.duckdns.org:0.0.0.0" + - "op87.hbbtv.duckdns.org:0.0.0.0" + - "op59.not.hbbtv.duckdns.org:0.0.0.0" + - "op19.hbbtv.duckdns.org:0.0.0.0" + - "xn--n8j6ds53lwwkrqhv28a.www1.not.hbbtv.duckdns.org:0.0.0.0" + - "op9.not.hbbtv.duckdns.org:0.0.0.0" + - "op88.not.hbbtv.duckdns.org:0.0.0.0" + - "op53.hbbtv.duckdns.org:0.0.0.0" + - "www2.xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "op87.not.hbbtv.duckdns.org:0.0.0.0" + - "op30.hbbtv.duckdns.org:0.0.0.0" + - "op10.not.hbbtv.duckdns.org:0.0.0.0" + - "op48.hbbtv.duckdns.org:0.0.0.0" + - "op16.not.hbbtv.duckdns.org:0.0.0.0" + - "op34.hbbtv.duckdns.org:0.0.0.0" + - "op1.not.hbbtv.duckdns.org:0.0.0.0" + - "www.hbbtv.duckdns.org:0.0.0.0" + - "op5.hbbtv.duckdns.org:0.0.0.0" + - "www1.xn--lve-6lad.not.hbbtv.duckdns.org:0.0.0.0" + - "xn--lve-6lad.www2.not.hbbtv.duckdns.org:0.0.0.0"