]> git.ipfire.org Git - people/ms/ipfire-2.x.git/commitdiff
DNS: Make YouTube configurable for Safe Search safe-search-youtube
authorMichael Tremer <michael.tremer@ipfire.org>
Sat, 7 Nov 2020 12:56:05 +0000 (12:56 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 7 Nov 2020 12:56:05 +0000 (12:56 +0000)
When safe search is enabled, it is being enabled on YouTube, too.

This creates problems in some scenarios like schools where politics
is being tought as well as other subjects that might be censored by
YouTube (i.e. election TV spots).

Therefore it is now possible to exclude YouTube from Safe Search
but keep it enabled for the search engines.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
13 files changed:
doc/language_issues.en
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.it
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_issues.tr
doc/language_missings
html/cgi-bin/dns.cgi
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
src/initscripts/system/unbound

index 9efb56a39cf675cc65f0e665a82868d458e9f4f2..6ee7ac0348717efa4d5fbb49752f9ae4d18e7221 100644 (file)
@@ -601,6 +601,7 @@ WARNING: untranslated string: dns check failed = DNS check failed
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index e01f5aa98b39d2c2eed2cb2ef909d4e532965885..a68e232d8cb49dc70ab7b3d3e29cfd96c0c37573 100644 (file)
@@ -897,6 +897,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index b98154eca4c5e57bc06070586e2cdee330bb1c73..60db5a9674af7b1bd5eca5a26b40f972fb940fdb 100644 (file)
@@ -879,6 +879,7 @@ WARNING: translation string unused: zoneconf val ppp assignment error
 WARNING: translation string unused: zoneconf val vlan amount assignment error
 WARNING: translation string unused: zoneconf val vlan tag assignment error
 WARNING: translation string unused: zoneconf val zoneslave amount error
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: fwhost cust locationgrp = unknown string
 WARNING: untranslated string: fwhost err hostip = unknown string
 WARNING: untranslated string: guardian block a host = unknown string
index 2f41213a83faa711349aab9c69928593793c3aa3..414adbb9f0a6d4a8eb7e6f80672ed379941492af 100644 (file)
@@ -923,6 +923,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index d486349bc18919ba9d0b1b1752f81f399ff2cb1c..03ae8d24263c460d8ce7c4533f5bd2943157ec9a 100644 (file)
@@ -923,6 +923,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index e01f5aa98b39d2c2eed2cb2ef909d4e532965885..a68e232d8cb49dc70ab7b3d3e29cfd96c0c37573 100644 (file)
@@ -897,6 +897,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index cc2fe74899ce36f537ada081070cbfd3261c7504..26595d1d91052e3437e0051da970079f60e2075d 100644 (file)
@@ -901,6 +901,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index 99ead4c4a11d97cd794aa8f9a48b1ac51c6810f7..3b1c99d9708059ff6ba8a0ef329939502a9d3a40 100644 (file)
@@ -900,6 +900,7 @@ WARNING: untranslated string: dns = unknown string
 WARNING: untranslated string: dns check servers = Check DNS Servers
 WARNING: untranslated string: dns configuration = DNS Configuration
 WARNING: untranslated string: dns enable safe-search = Enable Safe Search
+WARNING: untranslated string: dns enable safe-search youtube = Include YouTube in Safe Search
 WARNING: untranslated string: dns forward disable dnssec = Disable DNSSEC (dangerous)
 WARNING: untranslated string: dns forwarding dnssec disabled notice = (DNSSEC disabled)
 WARNING: untranslated string: dns isp assigned nameserver = ISP-assigned DNS server
index 90f4c2926a9f354c2b1feb928eaaa2f64c172fe3..2dfa3665fb6ba0596355436d532c2658860c0d76 100644 (file)
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dnsforward
 < dnsforward add a new entry
 < dnsforward configuration
 < ansi t1.483
 < bewan adsl pci st
 < bewan adsl usb
+< dns enable safe-search youtube
 < g.dtm
 < g.lite
 < upload fcdsl.o
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dns forward disable dnssec
 < dnsforward dnssec disabled
 < dnsforward forward_servers
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dns forward disable dnssec
 < dnsforward dnssec disabled
 < dnsforward forward_servers
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dnsforward
 < dnsforward add a new entry
 < dnsforward configuration
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dnsforward
 < dnsforward add a new entry
 < dnsforward configuration
 < dns configuration
 < dns could not add server
 < dns enable safe-search
+< dns enable safe-search youtube
 < dns forward disable dnssec
 < dnsforward dnssec disabled
 < dnsforward forward_servers
index 0a097e2c05ee26f00e747694fa01b8660d75dcdd..e406f2b9ed5546ac47581e911cb6fc7e5cccc313 100755 (executable)
@@ -87,6 +87,10 @@ if ($cgiparams{'GENERAL'} eq $Lang::tr{'save'}) {
                $cgiparams{'ENABLE_SAFE_SEARCH'} = "off";
        }
 
+       if ($cgiparams{'ENABLE_SAFE_SEARCH_YOUTUBE'} ne "on") {
+               $cgiparams{'ENABLE_SAFE_SEARCH_YOUTUBE'} = "off";
+       }
+
        # Check if using ISP nameservers and TLS is enabled at the same time.
        if (($cgiparams{'USE_ISP_NAMESERVERS'} eq "on") && ($cgiparams{'PROTO'} eq "TLS")) {
                $errormessage = $Lang::tr{'dns isp nameservers and tls not allowed'}
@@ -259,6 +263,7 @@ if (($cgiparams{'SERVERS'} eq $Lang::tr{'save'}) || ($cgiparams{'SERVERS'} eq $L
 
 # Hash to store the generic DNS settings.
 my %settings = ();
+$settings{"ENABLE_SAFE_SEARCH_YOUTUBE"} = "on";
 
 # Read-in general DNS settings.
 &General::readhash("$settings_file", \%settings);
@@ -313,6 +318,10 @@ $checked{'ENABLE_SAFE_SEARCH'}{'off'} = '';
 $checked{'ENABLE_SAFE_SEARCH'}{'on'} = '';
 $checked{'ENABLE_SAFE_SEARCH'}{$settings{'ENABLE_SAFE_SEARCH'}} = "checked='checked'";
 
+$checked{'ENABLE_SAFE_SEARCH_YOUTUBE'}{'off'} = '';
+$checked{'ENABLE_SAFE_SEARCH_YOUTUBE'}{'on'} = '';
+$checked{'ENABLE_SAFE_SEARCH_YOUTUBE'}{$settings{'ENABLE_SAFE_SEARCH_YOUTUBE'}} = "checked='checked'";
+
 $selected{'PROTO'}{'UDP'} = '';
 $selected{'PROTO'}{'TLS'} = '';
 $selected{'PROTO'}{'TCP'} = '';
@@ -384,6 +393,16 @@ sub show_general_dns_configuration () {
                                </td>
                        </tr>
 
+                       <tr>
+                               <td width="33%">
+                                       &raquo; $Lang::tr{'dns enable safe-search youtube'}
+                               </td>
+
+                               <td>
+                                       <input type="checkbox" name="ENABLE_SAFE_SEARCH_YOUTUBE" $checked{'ENABLE_SAFE_SEARCH_YOUTUBE'}{'on'}>
+                               </td>
+                       </tr>
+
                        <tr>
                                <td colspan="2">
                                        <br>
index 6ad0e02c55c7a261fa018ce1802ed24e3af15ea6..016c92be96e2e70d8a8ece7feb460bf4afb38a60 100644 (file)
 'dns configuration' => 'DNS-Konfiguration',
 'dns desc' => 'Wenn auf Schnittstelle red0 die IP-Adressinformationen über DHCP vom Provider kommen, werden automatisch die DNS-Server-Adressen des Providers gesetzt. Hier können Sie nun diese mit den eigenen DNS-Server-IP-Adressen überschreiben.',
 'dns enable safe-search' => 'Safe Search via DNS aktivieren',
+'dns enable safe-search youtube' => 'YouTube in Safe Search einbeziehen',
 'dns error 0' => 'Die IP Adresse vom <strong>primären</strong> DNS Server ist nicht gültig, bitte überprüfen Sie Ihre Eingabe!<br />Die eingegebene <strong>sekundären</strong> DNS Server Adresse ist jedoch gültig.<br />',
 'dns error 01' => 'Die eingegebene IP Adresse des <strong>primären</strong> wie auch des <strong>sekundären</strong> DNS-Servers sind nicht gültig, bitte überprüfen Sie Ihre Eingaben!',
 'dns error 1' => 'Die IP Adresse vom <strong>sekundären</strong> DNS Server ist nicht gültig, bitte überprüfen Sie Ihre Eingabe!<br />Die eingegebene <strong>primäre</strong> DNS Server Adresse ist jedoch gültig.',
index d00de3d03723fb706ed5f90ab2c0ed916e3d1e62..b190190d8d0aec09aa32ac42c53fe55ea40f0496 100644 (file)
 'dns could not add server' => 'Could not add server - Reason:',
 'dns desc' => 'If the red0 interface gets the IP address information via DHCP from the provider, the DNS server addresses will be set automatically. Now here you are able to change these DNS server IP addresses with your own ones.',
 'dns enable safe-search' => 'Enable Safe Search',
+'dns enable safe-search youtube' => 'Include YouTube in Safe Search',
 'dns error 0' => 'The IP address of the <strong>primary</strong> DNS server is not valid, please check your entries!<br />The entered <strong>secondary</strong> DNS server address is valid.',
 'dns error 01' => 'The entered IP address of the <strong>primary</strong> and <strong>secondary</strong> DNS server are not valid, please check your entries!',
 'dns error 1' => 'The IP address of the <strong>secondary</strong> DNS server is not valid, please check your entries!<br />The entered <strong>primary</strong> DNS server address is valid.',
index acbf6f5b5216f761a9550cbcd0350ba1a5ea7149..5c5d2e3f41423758f55554b6cbe9491f9f700a3f 100644 (file)
@@ -502,45 +502,44 @@ update_safe_search() {
                unbound-control local_zone_remove "${domain}"
        done >/dev/null
 
-       # Nothing to do if safe search is not enabled
-       if [ "${ENABLE_SAFE_SEARCH}" != "on" ]; then
-               return 0
-       fi
-
-       # Bing
-       unbound-control bing.com transparent >/dev/null
-       for address in $(resolve "strict.bing.com"); do
-               unbound-control local_data "www.bing.com ${LOCAL_TTL} IN A ${address}"
-       done >/dev/null
-
-       # DuckDuckGo
-       unbound-control local_zone duckduckgo.com typetransparent >/dev/null
-       for address in $(resolve "safe.duckduckgo.com"); do
-               unbound-control local_data "duckduckgo.com ${LOCAL_TTL} IN A ${address}"
-       done >/dev/null
-
-       # Google
-       local addresses="$(resolve "forcesafesearch.google.com")"
-       for domain in ${google_tlds[@]}; do
-               unbound-control local_zone "${domain}" transparent >/dev/null
-               for address in ${addresses}; do
-                       unbound-control local_data "www.${domain} ${LOCAL_TTL} IN A ${address}"
+       if [ "${ENABLE_SAFE_SEARCH}" = "on" ]; then
+               # Bing
+               unbound-control bing.com transparent >/dev/null
+               for address in $(resolve "strict.bing.com"); do
+                       unbound-control local_data "www.bing.com ${LOCAL_TTL} IN A ${address}"
                done >/dev/null
-       done
 
-       # Yandex
-       for domain in yandex.com yandex.ru; do
-               unbound-control local_zone "${domain}" typetransparent >/dev/null
-               for address in $(resolve "familysearch.${domain}"); do
-                       unbound-control local_data "${domain} ${LOCAL_TTL} IN A ${address}"
+               # DuckDuckGo
+               unbound-control local_zone duckduckgo.com typetransparent >/dev/null
+               for address in $(resolve "safe.duckduckgo.com"); do
+                       unbound-control local_data "duckduckgo.com ${LOCAL_TTL} IN A ${address}"
                done >/dev/null
-       done
 
-       # YouTube
-       unbound-control local_zone youtube.com transparent >/dev/null
-       for address in $(resolve "restrictmoderate.youtube.com"); do
-               unbound-control local_data "www.youtube.com ${LOCAL_TTL} IN A ${address}"
-       done >/dev/null
+               # Google
+               local addresses="$(resolve "forcesafesearch.google.com")"
+               for domain in ${google_tlds[@]}; do
+                       unbound-control local_zone "${domain}" transparent >/dev/null
+                       for address in ${addresses}; do
+                               unbound-control local_data "www.${domain} ${LOCAL_TTL} IN A ${address}"
+                       done >/dev/null
+               done
+
+               # Yandex
+               for domain in yandex.com yandex.ru; do
+                       unbound-control local_zone "${domain}" typetransparent >/dev/null
+                       for address in $(resolve "familysearch.${domain}"); do
+                               unbound-control local_data "${domain} ${LOCAL_TTL} IN A ${address}"
+                       done >/dev/null
+               done
+
+               # YouTube
+               if [ "${ENABLE_SAFE_SEARCH_YOUTUBE}" = "on" ]; then
+                       unbound-control local_zone youtube.com transparent >/dev/null
+                       for address in $(resolve "restrictmoderate.youtube.com"); do
+                               unbound-control local_data "www.youtube.com ${LOCAL_TTL} IN A ${address}"
+                       done >/dev/null
+               fi
+       fi
 
        return 0
 }