Update for Phyks instance

This commit is contained in:
Lucas Verney 2017-01-05 17:24:10 +01:00
parent c2d6c2762a
commit 338e84f72b
4 changed files with 79 additions and 835 deletions

97
env
View File

@ -1,14 +1,12 @@
# ==== Required configuration settings for Huginn ====
# Replace the following with the output from "rake secret"
# FIXME - next line
APP_SECRET_TOKEN=4714932e88290ad2bacbafc56a8d1df59ca02e3fde1eaec379d96a2834e1d9cc15a80610d432246af74a9cef1c0974e0acdff08fac44a2f7c8cdb3a230e212bd
APP_SECRET_TOKEN=FIXME
# This is the domain where your Huginn instance will be running. The default should work
# for development, but it needs to be changed to your Huginn domain when you deploy to a
# production environment (e.g., yourdomain.com, possibly including a port).
# FIXME - next line
DOMAIN=localhost:3000
DOMAIN=huginn.phyks.me
# Optionally set an asset host
# ASSET_HOST=http://assets.example.com
@ -17,22 +15,21 @@ DOMAIN=localhost:3000
# Database Setup #
############################
# FIXME - At least the DATABASE_USERNAME and DATABASE_PASSWORD
DATABASE_ADAPTER=mysql2
DATABASE_ENCODING=utf8mb4
#DATABASE_ENCODING=utf8
DATABASE_RECONNECT=true
DATABASE_NAME=huginn_production
DATABASE_POOL=20
DATABASE_USERNAME=huginn
DATABASE_PASSWORD=mysqlpassword
#DATABASE_HOST=your-domain-here.com
#DATABASE_PORT=3306
DATABASE_PASSWORD="FIXME"
DATABASE_HOST=10.0.2.2
DATABASE_PORT=3306
#DATABASE_SOCKET=/tmp/mysql.sock
# MySQL only: If you are running a MySQL server >=5.5.3, you should
# set DATABASE_ENCODING to utf8mb4 instead of utf8 so that the
# database can hold 4-byte UTF-8 characters like emoji.
#DATABASE_ENCODING=utf8mb4
DATABASE_ENCODING=utf8mb4
# ==== Additional required production settings ====
@ -42,17 +39,54 @@ RAILS_ENV=production
# Should Rails force all requests to use SSL?
FORCE_SSL=false
############################
# Allowing Signups #
############################
################################################
# User authentication and registration #
################################################
# This invitation code will be required for users to signup with your Huginn installation.
# You can see its use in user.rb. PLEASE CHANGE THIS!
INVITATION_CODE=try-huginn
INVITATION_CODE=FIXME
# If you don't want to require new users to have an invitation code in order to sign up, set this to true.
SKIP_INVITATION_CODE=false
# If you'd like to require new users to confirm their email address after sign up, set this to true.
REQUIRE_CONFIRMED_EMAIL=true
# If REQUIRE_CONFIRMED_EMAIL is true, set this to the duration in which a user needs to confirm their email address.
ALLOW_UNCONFIRMED_ACCESS_FOR=2.days
# Duration for which the above confirmation token is valid
CONFIRM_WITHIN=3.days
# Minimum password length
MIN_PASSWORD_LENGTH=8
# Duration for which the reset password token is valid
RESET_PASSWORD_WITHIN=6.hours
# Set to 'failed_attempts' to lock user accounts for the UNLOCK_AFTER period they fail MAX_FAILED_LOGIN_ATTEMPTS login attempts. Set to 'none' to allow unlimited failed login attempts.
LOCK_STRATEGY=failed_attempts
# After how many failed login attempts the account is locked when LOCK_STRATEGY is set to failed_attempts.
MAX_FAILED_LOGIN_ATTEMPTS=10
# Can be set to 'email', 'time', 'both' or 'none'. 'none' requires manual unlocking of your users!
UNLOCK_STRATEGY=both
# Duration after which the user is unlocked when UNLOCK_STRATEGY is 'both' or 'time' and LOCK_STRATEGY is 'failed_attempts'
UNLOCK_AFTER=1.hour
# Duration for which the user will be remembered without asking for credentials again.
REMEMBER_FOR=4.weeks
# Set to 'true' if you would prefer new users to start with a default set of agents
IMPORT_DEFAULT_SCENARIO_FOR_ALL_USERS=false
# Users can be given a default set of agents to get them started
# You can override this scenario with your own scenario via file path or URL
# DEFAULT_SCENARIO_FILE=path-or-url-to-scenario.json
#############################
# Email Configuration #
#############################
@ -66,11 +100,10 @@ SKIP_INVITATION_CODE=false
# If you have trouble with port 587 on Gmail, you can also try setting
# SMTP_AUTHENTICATION to login and the SMTP_PORT to 465.
# FIXME - At least the next four lines
SMTP_DOMAIN=example.com
SMTP_USER_NAME=huginn@mail.example.com
SMTP_PASSWORD=mailpassword
SMTP_SERVER=smtp.example.com
SMTP_DOMAIN=phyks.me
SMTP_USER_NAME=huginn@phyks.me
SMTP_PASSWORD=FIXME
SMTP_SERVER=smtp.phyks.me
SMTP_PORT=587
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true
@ -80,8 +113,7 @@ SMTP_ENABLE_STARTTLS_AUTO=true
SEND_EMAIL_IN_DEVELOPMENT=false
# The address from which system emails will appear to be sent.
# FIXME - Next line
EMAIL_FROM_ADDRESS=huginn@example.com
EMAIL_FROM_ADDRESS=huginn@huginn.phyks.me
###########################
# Agent Logging #
@ -129,6 +161,24 @@ AWS_ACCESS_KEY="your aws access key"
# Set AWS_SANDBOX to true if you're developing Huginn code.
AWS_SANDBOX=false
#########################
# Additional Agent gems #
#########################
# Agent gems can be added to Huginn by specifying them in a comma separated
# list, the gem version and arguments for the gem command are optional.
# When not providing a git(hub) repository the gem needs to be published to
# https://rubygems.org.
# Check http://bundler.io/v1.11/git.html for a list of valid arguments.
#
# Configuration examples:
#
# ADDITIONAL_GEMS=huginn_nlp_agents,test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(~> 0.2.1),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(git: https://github.com/kreuzwerker/DKT.huginn_nlp_agents.git),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(github: kreuzwerker/DKT.huginn_nlp_agents),test_agent
# ADDITIONAL_GEMS=huginn_nlp_agents(~> 0.2.1, git: https://github.com/kreuzwerker/DKT.huginn_nlp_agents.git),test_agent
########################
# Various Settings #
########################
@ -170,7 +220,7 @@ EVENT_EXPIRATION_CHECK=6h
# Use Graphviz for generating diagrams instead of using Google Chart
# Tools. Specify a dot(1) command path built with SVG support
# enabled.
#USE_GRAPHVIZ_DOT=dot
USE_GRAPHVIZ_DOT=dot
# Default layout for agent flow diagrams generated by Graphviz.
# Choose from `circo`, `dot` (default), `fdp`, `neato`, `osage`,
@ -179,8 +229,7 @@ EVENT_EXPIRATION_CHECK=6h
#DIAGRAM_DEFAULT_LAYOUT=dot
# Timezone. Use `rake time:zones:local` or `rake time:zones:all` to get your zone name
# FIXME - Next line unless you are in the UK
TIMEZONE="London"
TIMEZONE="Paris"
# Number of failed jobs to keep in the database
FAILED_JOBS_TO_KEEP=100

View File

@ -20,8 +20,7 @@ cd ruby-2.2.3
make -j`nproc`
make install
# Update rake to avoid error
gem install --force rake -v 10.5.0
gem install rake
# Install the bundler and foreman gems:
gem install bundler foreman --no-ri --no-rdoc
@ -29,17 +28,8 @@ gem install bundler foreman --no-ri --no-rdoc
# Create a user for Huginn:
adduser --disabled-login --gecos 'Huginn' huginn
# Install the database packages:
# FIXME (next two lines)
debconf-set-selections <<< 'mysql-server mysql-server/root_password password ct2yqS21jFWxI1Js'
debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password ct2yqS21jFWxI1Js'
apt-get install -y mysql-server-5.5 mysql-server mysql-client libmysqlclient-dev
# Set up MySQL user
# FIXME: Next three lines, use the same DATABASE USERNAME and DATABASE PASSWORD from the env file, DATABASE ROOT PASSWORD from above
mysql -u root -pct2yqS21jFWxI1Js <<< "CREATE USER 'huginn'@'localhost' IDENTIFIED BY 'vMB4OQGAW8uWgQB4';"
mysql -u root -pct2yqS21jFWxI1Js <<< "SET storage_engine=INNODB;"
mysql -u root -pct2yqS21jFWxI1Js <<< "GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES ON huginn_production.* TO 'huginn'@'localhost';"
# Install database lib package
apt-get install -y libmysqlclient-dev
# Clone the Source
cd /home/huginn
@ -66,7 +56,7 @@ sudo -u huginn -H bundle exec rake db:create RAILS_ENV=production
sudo -u huginn -H bundle exec rake db:migrate RAILS_ENV=production
# Create admin user and example agents
sudo -u huginn -H bundle exec rake db:seed RAILS_ENV=production
sudo -u huginn -H bundle exec rake db:seed RAILS_ENV=production SEED_EMAIL=phyks@phyks.me SEED_USERNAME=phyks SEED_PASSWORD=password
# Compile Assets
sudo -u huginn -H bundle exec rake assets:precompile RAILS_ENV=production
@ -75,13 +65,13 @@ sudo -u huginn -H bundle exec rake assets:precompile RAILS_ENV=production
sudo -u huginn cp /vagrant/Procfile /home/huginn/huginn/Procfile
# Export the init scripts:
rake production:export
sudo bundle exec rake production:export
# Setup Logrotate
cp deployment/logrotate/huginn /etc/logrotate.d/huginn
# Check it's running
rake production:status
sudo bundle exec rake production:status
# Install nginx
apt-get install -y nginx
@ -91,24 +81,3 @@ cp /vagrant/huginn /etc/nginx/sites-available/huginn
rm /etc/nginx/sites-enabled/default
nginx -t
service nginx restart

191
setup.sh
View File

@ -1,191 +0,0 @@
#!/bin/bash
# This script will help you set up a Huginn instance inside a VirtualBox
# virtual machine. You will need VirtualBox and Vagrant installed to use
# it. Huginn itself will be automatically downloaded. This script is not
# clever and is not idempotent, so using it more than once might produce
# unexpected results. The files you need to amend are suitably commented
# so you could always change them using your favourite editor if needed.
# -- Functions -----------------------------------------------------------------
DIALOG=$(which dialog) || $(which whiptail)
function genpw {
echo $(< /dev/urandom tr -dc A-Za-z0-9 | head -c${1:-16})
}
function genkey {
echo $(< /dev/urandom tr -dc a-f0-9 | head -c${1:-64})
}
function quit {
$DIALOG --defaultno --title "Quit Installer?" --yesno "Do you want to quit? No changes have been made yet." 6 60
[[ "$?" = "0" ]] && exit
}
# -- Greetings -----------------------------------------------------------------
read -r -d '' MESSAGE <<"EOMESSAGE"
This script will guide you through providing configuration
information for the Huginn Vagrant setup scripts available from
https://github.com/m0nty/huginn-vagrant. This is mostly passwords,
usernames and email settings. Default passwords are provided so
you don't have to do too much yourself.
Huginn itself is the creation of Andrew Cantino and others,
available from https://github.com/cantino/huginn/. It, and its
dependencies, will be automatically downloaded and installed into
a VirtualBox VM for you when you type 'vagrant up' in this
directory. So you will need VirtualBox and Vagrant installed first.
Note that this script will not check your input - if you want to
provide empty or nonsense values, I'm not sure why you'd do that,
but it's up to you.
Press <Return> to proceed.
EOMESSAGE
OK=$(dialog --title "Huginn/VirtualBox Configurator" --msgbox --stdout "$MESSAGE" 22 72)
# -- Email Parameters ----------------------------------------------------------
SMTP_DOMAIN=example.com
SMTP_USER_NAME=huginn@mail.example.com
SMTP_PASSWORD=mailpassword
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
SMTP_AUTHENTICATION=plain
SMTP_ENABLE_STARTTLS_AUTO=true
EMAIL_FROM_ADDRESS=huginn@example.com
VALUES=$(dialog \
--ok-label "Submit" \
--backtitle "Configure Email" \
--title "Email Config" \
--form "Enter values in each field and select <Submit>" \
--stdout \
16 80 0 \
"SMTP_DOMAIN" 1 2 "$SMTP_DOMAIN" 1 42 32 0 \
"SMTP_USER_NAME (for authentication)" 2 2 "$SMTP_USER_NAME" 2 42 32 0 \
"SMTP_PASSWORD (for authentication)" 3 2 "$SMTP_PASSWORD" 3 42 32 0 \
"SMTP_SERVER" 4 2 "$SMTP_SERVER" 4 42 32 0 \
"SMTP_PORT (25, 462, 587 etc)" 5 2 "$SMTP_PORT" 5 42 32 0 \
"SMTP_AUTHENTICATION (plain, login)" 6 2 "$SMTP_AUTHENTICATION" 6 42 32 0 \
"SMTP_ENABLE_STARTTLS_AUTO (true, false)" 7 2 "$SMTP_ENABLE_STARTTLS_AUTO" 7 42 32 0 \
"EMAIL_FROM_ADDRESS" 8 2 "$EMAIL_FROM_ADDRESS" 8 42 32 0 )
# | | | | | |
# Label Vertical Offset____/ / Field Vertical Offset____/ / / /
# / / / /
# Label Horizontal Offset____/ Field Horizontal Offset______/ / /
# / /
# Field Length (cannot be altered if 0)_____/ /
# /
# Input Length (same as field length when 0)___/
[[ ${#VALUES} -gt 0 ]] || quit
readarray -t EMAIL_SETTINGS <<<"$VALUES"
SMTP_DOMAIN=${EMAIL_SETTINGS[0]}
SMTP_USER_NAME=${EMAIL_SETTINGS[1]}
SMTP_PASSWORD=${EMAIL_SETTINGS[2]}
SMTP_SERVER=${EMAIL_SETTINGS[3]}
SMTP_PORT=${EMAIL_SETTINGS[4]}
SMTP_AUTHENTICATION=${EMAIL_SETTINGS[5]}
SMTP_ENABLE_STARTTLS_AUTO=${EMAIL_SETTINGS[6]}
EMAIL_FROM_ADDRESS=${EMAIL_SETTINGS[7]}
# -- Database Parameters -------------------------------------------------------
unset VALUES
DATABASE_USERNAME=huginn
DATABASE_PASSWORD=$(genpw)
DATABASE_ROOT_PASSWORD=$(genpw)
VALUES=$(dialog \
--ok-label "Submit" \
--backtitle "Configure Database" \
--title "DB Config" \
--form "Enter values in each field and select <Submit>" \
--stdout \
10 80 0 \
"DATABASE_USERNAME" 1 2 "$DATABASE_USERNAME" 1 42 32 0 \
"DATABASE_PASSWORD" 2 2 "$DATABASE_PASSWORD" 2 42 32 0 \
"DATABASE_ROOT_PASSWORD" 3 2 "$DATABASE_ROOT_PASSWORD" 3 42 32 0 )
[[ ${#VALUES} -gt 0 ]] || quit
readarray -t DB_SETTINGS <<<"$VALUES"
DATABASE_USERNAME=${DB_SETTINGS[0]}
DATABASE_PASSWORD=${DB_SETTINGS[1]}
DATABASE_ROOT_PASSWORD=${DB_SETTINGS[2]}
# -- Miscellaneous Parameters -------------------------------------------------------
unset VALUES
LISTEN_IP=0.0.0.0
LISTEN_PORT=3000
DOMAIN=localhost
APP_SECRET_TOKEN=$(genkey)
TIMEZONE=London
VALUES=$(dialog \
--ok-label "Submit" \
--backtitle "Configure Miscellaneous" \
--title "Misc Config" \
--form "Enter values in each field and select <Submit>" \
--stdout \
10 80 0 \
"LISTEN_IP" 1 2 "$LISTEN_IP" 1 42 32 0 \
"LISTEN_PORT" 2 2 "$LISTEN_PORT" 2 42 32 0 \
"DOMAIN" 3 2 "$DOMAIN" 3 42 32 0 \
"TIMEZONE" 4 2 "$TIMEZONE" 4 42 32 0 \
"APP_SECRET_TOKEN (for rails app)" 5 2 "$APP_SECRET_TOKEN" 5 42 32 64 )
[[ ${#VALUES} -gt 0 ]] || quit
readarray -t MISC_SETTINGS <<<"$VALUES"
LISTEN_IP=${MISC_SETTINGS[0]}
LISTEN_PORT=${MISC_SETTINGS[1]}
DOMAIN=${MISC_SETTINGS[2]}
TIMEZONE=${MISC_SETTINGS[3]}
APP_SECRET_TOKEN=${MISC_SETTINGS[4]}
# -- Substitute Values in Files -----------------------------------------------------
# Mail Settings
sed -i "s/^SMTP_DOMAIN=.*$/SMTP_DOMAIN=$SMTP_DOMAIN/" env
sed -i "s/^SMTP_USER_NAME=.*$/SMTP_USER_NAME=$SMTP_USER_NAME/" env
sed -i "s/^SMTP_PASSWORD=.*$/SMTP_PASSWORD=$SMTP_PASSWORD/" env
sed -i "s/^SMTP_SERVER=.*$/SMTP_SERVER=$SMTP_SERVER/" env
sed -i "s/^SMTP_PORT=.*$/SMTP_PORT=$SMTP_PORT/" env
sed -i "s/^SMTP_AUTHENTICATION=.*$/SMTP_AUTHENTICATION=$SMTP_AUTHENTICATION/" env
sed -i "s/^SMTP_ENABLE_STARTTLS_AUTO=.*$/SMTP_ENABLE_STARTTLS_AUTO=$SMTP_ENABLE_STARTTLS_AUTO/" env
sed -i "s/^EMAIL_FROM_ADDRESS=.*$/EMAIL_FROM_ADDRESS=$EMAIL_FROM_ADDRESS/" env
# DB Settings
sed -i "s/^DATABASE_USERNAME=.*/DATABASE_USERNAME=$DATABASE_USERNAME/" env
sed -i "s/^DATABASE_PASSWORD=.*/DATABASE_PASSWORD=$DATABASE_PASSWORD/" env
sed -i "s/DATABASE_USERNAME/$DATABASE_USERNAME/g" provision.sh
sed -i "s/DATABASE_PASSWORD/$DATABASE_PASSWORD/g" provision.sh
sed -i "s/DATABASE_ROOT_PASSWORD/$DATABASE_ROOT_PASSWORD/g" provision.sh
# Misc Settings
sed -i "s/^APP_SECRET_TOKEN=.*/APP_SECRET_TOKEN=$APP_SECRET_TOKEN/" env
sed -i "s/^TIMEZONE=.*/TIMEZONE=\"$TIMEZONE\"/" env
sed -i "s/^DOMAIN=.*/DOMAIN=$DOMAIN:$LISTEN_PORT/" env
sed -ri "s/^ listen [0-9]+.[0-9]+.[0-9]+.[0-9]+:[0-9]+ default_server;/ listen $LISTEN_IP:$LISTEN_PORT default_server;/" huginn
sed -ri "s/PORT-[0-9]+/PORT-$LISTEN_PORT/" Procfile
sed -ri "s/IP-[0-9]+.[0-9]+.[0-9]+.[0-9]+/IP-$LISTEN_IP/" Procfile
sed -ri "s/guest:[0-9]+/guest:$LISTEN_PORT/" Vagrantfile
sed -ri "s/host:[0-9]+/host:$LISTEN_PORT/" Vagrantfile
echo "All done, you should be able to type 'vagrant up' to provision your"
echo "new virtual machine containing a working Huginn installation."

583
tz.txt
View File

@ -1,583 +0,0 @@
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Asmera
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Africa/Sao_Tome
Africa/Timbuktu
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/ComodRivadavia
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Aruba
America/Asuncion
America/Atikokan
America/Atka
America/Bahia
America/Bahia_Banderas
America/Barbados
America/Belem
America/Belize
America/Blanc-Sablon
America/Boa_Vista
America/Bogota
America/Boise
America/Buenos_Aires
America/Cambridge_Bay
America/Campo_Grande
America/Cancun
America/Caracas
America/Catamarca
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Coral_Harbour
America/Cordoba
America/Costa_Rica
America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
America/Dawson
America/Dawson_Creek
America/Denver
America/Detroit
America/Dominica
America/Edmonton
America/Eirunepe
America/El_Salvador
America/Ensenada
America/Fort_Nelson
America/Fort_Wayne
America/Fortaleza
America/Glace_Bay
America/Godthab
America/Goose_Bay
America/Grand_Turk
America/Grenada
America/Guadeloupe
America/Guatemala
America/Guayaquil
America/Guyana
America/Halifax
America/Havana
America/Hermosillo
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Tell_City
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Indianapolis
America/Inuvik
America/Iqaluit
America/Jamaica
America/Jujuy
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Knox_IN
America/Kralendijk
America/La_Paz
America/Lima
America/Los_Angeles
America/Louisville
America/Lower_Princes
America/Maceio
America/Managua
America/Manaus
America/Marigot
America/Martinique
America/Matamoros
America/Mazatlan
America/Mendoza
America/Menominee
America/Merida
America/Metlakatla
America/Mexico_City
America/Miquelon
America/Moncton
America/Monterrey
America/Montevideo
America/Montreal
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
America/North_Dakota/Beulah
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Ojinaga
America/Panama
America/Pangnirtung
America/Paramaribo
America/Phoenix
America/Port_of_Spain
America/Port-au-Prince
America/Porto_Acre
America/Porto_Velho
America/Puerto_Rico
America/Rainy_River
America/Rankin_Inlet
America/Recife
America/Regina
America/Resolute
America/Rio_Branco
America/Rosario
America/Santa_Isabel
America/Santarem
America/Santiago
America/Santo_Domingo
America/Sao_Paulo
America/Scoresbysund
America/Shiprock
America/Sitka
America/St_Barthelemy
America/St_Johns
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Swift_Current
America/Tegucigalpa
America/Thule
America/Thunder_Bay
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Virgin
America/Whitehorse
America/Winnipeg
America/Yakutat
America/Yellowknife
Antarctica/Casey
Antarctica/Davis
Antarctica/DumontDUrville
Antarctica/Macquarie
Antarctica/Mawson
Antarctica/McMurdo
Antarctica/Palmer
Antarctica/Rothera
Antarctica/South_Pole
Antarctica/Syowa
Antarctica/Troll
Antarctica/Vostok
Arctic/Longyearbyen
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Ashkhabad
Asia/Baghdad
Asia/Bahrain
Asia/Baku
Asia/Bangkok
Asia/Beirut
Asia/Bishkek
Asia/Brunei
Asia/Calcutta
Asia/Chita
Asia/Choibalsan
Asia/Chongqing
Asia/Chungking
Asia/Colombo
Asia/Dacca
Asia/Damascus
Asia/Dhaka
Asia/Dili
Asia/Dubai
Asia/Dushanbe
Asia/Gaza
Asia/Harbin
Asia/Hebron
Asia/Ho_Chi_Minh
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Istanbul
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Kathmandu
Asia/Katmandu
Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Kuwait
Asia/Macao
Asia/Macau
Asia/Magadan
Asia/Makassar
Asia/Manila
Asia/Muscat
Asia/Nicosia
Asia/Novokuznetsk
Asia/Novosibirsk
Asia/Omsk
Asia/Oral
Asia/Phnom_Penh
Asia/Pontianak
Asia/Pyongyang
Asia/Qatar
Asia/Qyzylorda
Asia/Rangoon
Asia/Riyadh
Asia/Saigon
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Tel_Aviv
Asia/Thimbu
Asia/Thimphu
Asia/Tokyo
Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yekaterinburg
Asia/Yerevan
Atlantic/Azores
Atlantic/Bermuda
Atlantic/Canary
Atlantic/Cape_Verde
Atlantic/Faeroe
Atlantic/Faroe
Atlantic/Jan_Mayen
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/South_Georgia
Atlantic/St_Helena
Atlantic/Stanley
Australia/ACT
Australia/Adelaide
Australia/Brisbane
Australia/Broken_Hill
Australia/Canberra
Australia/Currie
Australia/Darwin
Australia/Eucla
Australia/Hobart
Australia/LHI
Australia/Lindeman
Australia/Lord_Howe
Australia/Melbourne
Australia/North
Australia/NSW
Australia/Perth
Australia/Queensland
Australia/South
Australia/Sydney
Australia/Tasmania
Australia/Victoria
Australia/West
Australia/Yancowinna
Brazil/Acre
Brazil/DeNoronha
Brazil/East
Brazil/West
Canada/Atlantic
Canada/Central
Canada/Eastern
Canada/East-Saskatchewan
Canada/Mountain
Canada/Newfoundland
Canada/Pacific
Canada/Saskatchewan
Canada/Yukon
CET
Chile/Continental
Chile/EasterIsland
CST6CDT
Cuba
EET
Egypt
Eire
EST
EST5EDT
Etc/GMT
Etc/GMT+0
Etc/GMT+1
Etc/GMT+10
Etc/GMT+11
Etc/GMT+12
Etc/GMT+2
Etc/GMT+3
Etc/GMT+4
Etc/GMT+5
Etc/GMT+6
Etc/GMT+7
Etc/GMT+8
Etc/GMT+9
Etc/GMT0
Etc/GMT-0
Etc/GMT-1
Etc/GMT-10
Etc/GMT-11
Etc/GMT-12
Etc/GMT-13
Etc/GMT-14
Etc/GMT-2
Etc/GMT-3
Etc/GMT-4
Etc/GMT-5
Etc/GMT-6
Etc/GMT-7
Etc/GMT-8
Etc/GMT-9
Etc/Greenwich
Etc/UCT
Etc/Universal
Etc/UTC
Etc/Zulu
Europe/Amsterdam
Europe/Andorra
Europe/Athens
Europe/Belfast
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
Europe/Gibraltar
Europe/Guernsey
Europe/Helsinki
Europe/Isle_of_Man
Europe/Istanbul
Europe/Jersey
Europe/Kaliningrad
Europe/Kiev
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Mariehamn
Europe/Minsk
Europe/Monaco
Europe/Moscow
Europe/Nicosia
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
Europe/San_Marino
Europe/Sarajevo
Europe/Simferopol
Europe/Skopje
Europe/Sofia
Europe/Stockholm
Europe/Tallinn
Europe/Tirane
Europe/Tiraspol
Europe/Uzhgorod
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Vilnius
Europe/Volgograd
Europe/Warsaw
Europe/Zagreb
Europe/Zaporozhye
Europe/Zurich
GB
GB-Eire
GMT
GMT+0
GMT0
GMT-0
Greenwich
Hongkong
HST
Iceland
Indian/Antananarivo
Indian/Chagos
Indian/Christmas
Indian/Cocos
Indian/Comoro
Indian/Kerguelen
Indian/Mahe
Indian/Maldives
Indian/Mauritius
Indian/Mayotte
Indian/Reunion
Iran
Israel
Jamaica
Japan
Kwajalein
Libya
MET
Mexico/BajaNorte
Mexico/BajaSur
Mexico/General
MST
MST7MDT
Navajo
NZ
NZ-CHAT
Pacific/Apia
Pacific/Auckland
Pacific/Bougainville
Pacific/Chatham
Pacific/Chuuk
Pacific/Easter
Pacific/Efate
Pacific/Enderbury
Pacific/Fakaofo
Pacific/Fiji
Pacific/Funafuti
Pacific/Galapagos
Pacific/Gambier
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Johnston
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
Pacific/Majuro
Pacific/Marquesas
Pacific/Midway
Pacific/Nauru
Pacific/Niue
Pacific/Norfolk
Pacific/Noumea
Pacific/Pago_Pago
Pacific/Palau
Pacific/Pitcairn
Pacific/Pohnpei
Pacific/Ponape
Pacific/Port_Moresby
Pacific/Rarotonga
Pacific/Saipan
Pacific/Samoa
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Truk
Pacific/Wake
Pacific/Wallis
Pacific/Yap
Poland
Portugal
PRC
PST8PDT
ROC
ROK
Singapore
Turkey
UCT
Universal
US/Alaska
US/Aleutian
US/Arizona
US/Central
US/Eastern
US/East-Indiana
US/Hawaii
US/Indiana-Starke
US/Michigan
US/Mountain
US/Pacific
US/Pacific-New
US/Samoa
UTC
WET
W-SU
Zulu