From 6265dd337e3203faf3f015e589bf0352ed5fb9b0 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:33:02 -0400 Subject: [PATCH 01/15] Update default_vars.yml --- vars/default_vars.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vars/default_vars.yml b/vars/default_vars.yml index 3e08a701b..18beac3d4 100644 --- a/vars/default_vars.yml +++ b/vars/default_vars.yml @@ -109,6 +109,8 @@ block_DNS: False dnsmasq_install: True dnsmasq_enabled: False +dns_jail_enabled: False + # For @tim-moody's Nodogsplash approach to Captive Portal? High experimental as of June 2018: github.com/iiab/iiab/issues/608 captive_portal_install: False captive_portal_enabled: False @@ -163,8 +165,8 @@ schooltool_enabled: False # 3-BASE-SERVER -# Needed if you want http://box/common/services/power_off.php to work -allow_apache_sudo: False +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True # roles/httpd runs here From 36c809aa470db63f42f6e39f1a31116419e8f3d1 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:33:42 -0400 Subject: [PATCH 02/15] Update local_vars_min.yml --- vars/local_vars_min.yml | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/vars/local_vars_min.yml b/vars/local_vars_min.yml index f41915947..2029a64e5 100644 --- a/vars/local_vars_min.yml +++ b/vars/local_vars_min.yml @@ -31,7 +31,7 @@ iiab_domain: lan # Set to /home or /wordpress or /mediawiki or /wiki (for DokuWiki) iiab_home_url: /home -# Raspbian requires WiFi country since March 2018. Please set it here: +# Raspbian requires Wi-Fi country since March 2018. Please set it here: host_country_code: US host_ssid: "Internet in a Box" host_wifi_mode: g @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: False @@ -69,6 +74,9 @@ dansguardian_enabled: False # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From 403acbf51e353ed38a11356e5bbb3f814390a10b Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:37:24 -0400 Subject: [PATCH 03/15] Update local_vars_min_vpn.yml --- vars/local_vars_min_vpn.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_min_vpn.yml b/vars/local_vars_min_vpn.yml index f427a1888..55f57fefb 100644 --- a/vars/local_vars_min_vpn.yml +++ b/vars/local_vars_min_vpn.yml @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: False @@ -69,6 +74,9 @@ dansguardian_enabled: False # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From 67bbd31671926a156c7fc1395bb61722c73ac854 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:38:29 -0400 Subject: [PATCH 04/15] Update local_vars_medium.yml --- vars/local_vars_medium.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_medium.yml b/vars/local_vars_medium.yml index 21f7556f5..be4c943cc 100644 --- a/vars/local_vars_medium.yml +++ b/vars/local_vars_medium.yml @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: False @@ -69,6 +74,9 @@ dansguardian_enabled: False # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From 466000d1a8d674388c1fe38a9397c7a5eebdb9bb Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:39:34 -0400 Subject: [PATCH 05/15] Update local_vars_medium_vpn.yml --- vars/local_vars_medium_vpn.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_medium_vpn.yml b/vars/local_vars_medium_vpn.yml index 70ec6105e..6718b6ac4 100644 --- a/vars/local_vars_medium_vpn.yml +++ b/vars/local_vars_medium_vpn.yml @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: False @@ -69,6 +74,9 @@ dansguardian_enabled: False # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From b473873b5ec7a4c4dc6278c2e681c5306d2fef6f Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:40:53 -0400 Subject: [PATCH 06/15] Update local_vars_big.yml --- vars/local_vars_big.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_big.yml b/vars/local_vars_big.yml index db86484b7..50103c6fc 100644 --- a/vars/local_vars_big.yml +++ b/vars/local_vars_big.yml @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: True @@ -69,6 +74,9 @@ dansguardian_enabled: True # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From 729b089479d4c17b339ccaa42afc041efb2ee9ee Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 13:49:31 -0400 Subject: [PATCH 07/15] Update local_vars_big_vpn.yml --- vars/local_vars_big_vpn.yml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/vars/local_vars_big_vpn.yml b/vars/local_vars_big_vpn.yml index 78399b980..7664b19f3 100644 --- a/vars/local_vars_big_vpn.yml +++ b/vars/local_vars_big_vpn.yml @@ -39,8 +39,6 @@ host_channel: 6 hostapd_secure: False hostapd_password: changeme -dns_jail_enabled: False - # Enables "campus access" to kiwix (3000), kalite (8008) & calibre (8010 or # 8080) on WAN side of server. See network/templates/gateway/iiab-gen-iptables # within github.com/iiab/iiab/blob/master/roles/ @@ -49,8 +47,15 @@ services_externally_visible: True # Make this True if client machines should have access to WAN/Internet: iiab_gateway_enabled: False -# Make this False to disable http://box/common/services/power_off.php button: -allow_apache_sudo: True +# dnsmasq +dnsmasq_install: True +dnsmasq_enabled: False + +dns_jail_enabled: False + +# Simple python Captive Portal, that @m-anish & @jvonau are experimenting with in July 2018: github.com/iiab/iiab/pull/870 +py_captive_portal_install: True +py_captive_portal_enabled: False # Stages 3 & 4 must be run (using iiab-install or runrole) if changing these: squid_install: True @@ -69,6 +74,9 @@ dansguardian_enabled: True # 3-BASE-SERVER +# Make this False to disable http://box/common/services/power_off.php button: +allow_apache_sudo: True + # roles/mysql runs here (mandatory) # 4-SERVER-OPTIONS From 941d3d6e73ba4158c72ca0d3900e0eb761e12f5e Mon Sep 17 00:00:00 2001 From: Arky Date: Sat, 14 Jul 2018 01:39:42 +0700 Subject: [PATCH 08/15] Correct URI for IIAB license file Correct the URI http://github.com/XSCE/iiab/blob/master/LICENSE to http://github.com/XSCE/iiab/blob/master/LICENSE.md --- roles/httpd/files/html/credits.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 4a6d8ae60..e88fcaf77 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -38,7 +38,7 @@ It is licensed under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- Licensing information may be found at github.com/XSCE/iiab/blob/master/LICENSE.
+ Licensing information may be found at github.com/XSCE/iiab/blob/master/LICENSE.md.
From c205452c267f160d9d854fd2c10a5318af74f89e Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 16:32:00 -0400 Subject: [PATCH 09/15] Update credits.html --- roles/httpd/files/html/credits.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index e88fcaf77..71c9cbd8c 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -10,7 +10,7 @@

Internet-in-a-Box Credits

- The XSCE School Server known as Internet-in-a-Box includes a variety of educational and other content and applications which are attributed as follows:

+ Internet-in-a-Box includes a variety of educational and other content and applications which are attributed as follows:

All Wikipedia content is available for free at www.wikipedia.org.
All other Wikimedia content is available for free via links at www.wikimedia.org.
@@ -34,11 +34,11 @@ Internet-in-a-Box also contains a number of applications each of which has its own attribution information which is included.

- This Internet-in-a-Box distribution resides at github.com/XSCE/iiab.

+ This Internet-in-a-Box distribution resides at github.com/iiab/iiab.

It is licensed under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- Licensing information may be found at github.com/XSCE/iiab/blob/master/LICENSE.md.
+ Licensing information may be found at github.com/iiab/iiab/blob/master/LICENSE.md.
From 0556d865c6343edf698372a9e466e69dacf0f435 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 16:44:36 -0400 Subject: [PATCH 10/15] Update credits.html --- roles/httpd/files/html/credits.html | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 71c9cbd8c..515185cec 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -10,35 +10,35 @@

Internet-in-a-Box Credits

- Internet-in-a-Box includes a variety of educational and other content and applications which are attributed as follows:

+ Internet-in-a-Box includes a variety of educational content and applications which are attributed as follows:

- All Wikipedia content is available for free at www.wikipedia.org.
- All other Wikimedia content is available for free via links at www.wikimedia.org.
- All Khan Academy content is available for free at www.khanacademy.org.
- All CK-12 content is available for free at www.ck-12.org.
- All PhET Interactive Simulations content is available for free at phet.colorado.edu.
- All MedLine content is available for free at www.nlm.nih.gov/medlineplus.
- All Hesperian content is available for free at www.hesperian.org.
- All Gutenberg content is available for free at www.gutenberg.org.
- All OLPC content is available for free at www.laptop.org.
- All MIT Scratch content is available for free at scratch.mit.edu.
- All UNESCO's IICBA content is available for free at www.eng.unesco-iicba.org.
- All Math Expression content is available for free at www.mathexpression.com.
- All Music Theory content is available for free at www.musictheory.net.

+ All Wikipedia content is available for free at www.wikipedia.org.
+ All other Wikimedia content is available for free via links at www.wikimedia.org.
+ All Khan Academy content is available for free at www.khanacademy.org.
+ All CK-12 content is available for free at www.ck-12.org.
+ All PhET Interactive Simulations content is available for free at phet.colorado.edu.
+ All MedLine content is available for free at medlineplus.gov.
+ All Hesperian content is available for free at hesperian.org.
+ All Gutenberg content is available for free at www.gutenberg.org.
+ All OLPC content is available for free at wiki.laptop.org.
+ All MIT Scratch content is available for free at scratch.mit.edu.
+ All UNESCO's IICBA content is available for free at www.iicba.unesco.org/.
+ All Math Expression content is available for free at www.mathexpression.com.
+ All Music Theory content is available for free at www.musictheory.net.

Internet-in-a-Box also includes the work of content aggregators which we gratefully acknowledge:

- RACHEL is a curation of selected offline content at www.rachel.worldpossible.org.
- Kiwix is a Zim server and repository of Wikimedia and other content in a compressed Zim file format at www.kiwix.org.
- KA Lite is a server and repository of Khan Academy content in various languages at learningequality.org/ka-lite.

+ RACHEL is a curation of selected offline content at oer2go.org.
+ Kiwix is a ZIM server and repository of Wikimedia and other content in a compressed ZIM file format at www.kiwix.org.
+ KA Lite is a server and repository of Khan Academy content in various languages at learningequality.org/ka-lite.

- Internet-in-a-Box also contains a number of applications each of which has its own attribution information which is included.

+ Internet-in-a-Box also contains a number of applications each of which has its own attribution information, which is included.

- This Internet-in-a-Box distribution resides at github.com/iiab/iiab.

+ This Internet-in-a-Box distribution resides at github.com/iiab/iiab.

It is licensed under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

- Licensing information may be found at github.com/iiab/iiab/blob/master/LICENSE.md.
+ Licensing information may be found at github.com/iiab/iiab/blob/master/LICENSE.md.
From 34e94d302d4f799e91b5f1cbcb559e20fe856908 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 16:49:06 -0400 Subject: [PATCH 11/15] Update credits.html --- roles/httpd/files/html/credits.html | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 515185cec..af0f62fcb 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -24,8 +24,11 @@ All MIT Scratch content is available for free at scratch.mit.edu.
All UNESCO's IICBA content is available for free at www.iicba.unesco.org/.
All Math Expression content is available for free at www.mathexpression.com.
- All Music Theory content is available for free at www.musictheory.net.

- + All Music Theory content is available for free at www.musictheory.net.
+ All HealthPhone content is available for free at www.healthphone.org.
+ All Centers for Disease Control content is available for free at www.cdc.gov.
+ All Global Emergency Medicine Wiki content is available for free at wikem.org/wiki/Main_Page.

+ Internet-in-a-Box also includes the work of content aggregators which we gratefully acknowledge:

RACHEL is a curation of selected offline content at oer2go.org.
From 40b7e65db490e50d3b4913ab25b6a1eba33eba76 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 17:02:15 -0400 Subject: [PATCH 12/15] Update credits.html --- roles/httpd/files/html/credits.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index af0f62fcb..592a20011 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -10,7 +10,7 @@

Internet-in-a-Box Credits

- Internet-in-a-Box includes a variety of educational content and applications which are attributed as follows:

+ Internet-in-a-Box (formerly known as XSCE School Server) includes a variety of educational content and applications which are attributed as follows:

All Wikipedia content is available for free at www.wikipedia.org.
All other Wikimedia content is available for free via links at www.wikimedia.org.
From 0a43b68fac213c0ec539defd0d7e09587f7c106e Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 17:04:58 -0400 Subject: [PATCH 13/15] Update credits.html --- roles/httpd/files/html/credits.html | 1 + 1 file changed, 1 insertion(+) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 592a20011..417be2b51 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -19,6 +19,7 @@ All PhET Interactive Simulations content is available for free at phet.colorado.edu.
All MedLine content is available for free at medlineplus.gov.
All Hesperian content is available for free at hesperian.org.
+ Arabic translations of Hesperian content were done by Arab Resource Collective and are available for free at mawared.org.
All Gutenberg content is available for free at www.gutenberg.org.
All OLPC content is available for free at wiki.laptop.org.
All MIT Scratch content is available for free at scratch.mit.edu.
From 52bbc775e88a73f5ee5fdffb1a805996f50de782 Mon Sep 17 00:00:00 2001 From: A Holt Date: Fri, 13 Jul 2018 17:09:57 -0400 Subject: [PATCH 14/15] Update credits.html --- roles/httpd/files/html/credits.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 417be2b51..822738a87 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -15,7 +15,7 @@ All Wikipedia content is available for free at www.wikipedia.org.
All other Wikimedia content is available for free via links at www.wikimedia.org.
All Khan Academy content is available for free at www.khanacademy.org.
- All CK-12 content is available for free at www.ck-12.org.
+ All CK-12 content is available for free at www.ck12.org.
All PhET Interactive Simulations content is available for free at phet.colorado.edu.
All MedLine content is available for free at medlineplus.gov.
All Hesperian content is available for free at hesperian.org.
@@ -38,7 +38,7 @@ Internet-in-a-Box also contains a number of applications each of which has its own attribution information, which is included.

- This Internet-in-a-Box distribution resides at github.com/iiab/iiab.

+ This Internet-in-a-Box distribution resides at github.com/iiab.

It is licensed under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

From 2783f2c157d5d5297cada9d5eff98a0f8aa2365c Mon Sep 17 00:00:00 2001 From: A Holt Date: Sat, 14 Jul 2018 08:52:50 -0400 Subject: [PATCH 15/15] Update credits.html --- roles/httpd/files/html/credits.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/roles/httpd/files/html/credits.html b/roles/httpd/files/html/credits.html index 822738a87..c1cef0e8b 100755 --- a/roles/httpd/files/html/credits.html +++ b/roles/httpd/files/html/credits.html @@ -23,7 +23,7 @@ All Gutenberg content is available for free at www.gutenberg.org.
All OLPC content is available for free at wiki.laptop.org.
All MIT Scratch content is available for free at scratch.mit.edu.
- All UNESCO's IICBA content is available for free at www.iicba.unesco.org/.
+ All UNESCO's IICBA content is available for free at www.iicba.unesco.org/.
All Math Expression content is available for free at www.mathexpression.com.
All Music Theory content is available for free at www.musictheory.net.
All HealthPhone content is available for free at www.healthphone.org.