mirror of
https://github.com/discourse/discourse.git
synced 2025-01-21 08:26:14 +08:00
FEATURE: support MaxMind DB downloads using a license key
MaxMind now requires an account with a license key to download files. Discourse admins can register for such an account at: https://www.maxmind.com/en/geolite2/signup License key generation is available in the profile section. Once registered you can set the license key using `DISCOURSE_MAXMIND_LICENSE_KEY` This amends it so we unconditionally skip MaxMind DB downloads if no license key exists.
This commit is contained in:
parent
b231be8865
commit
7e39f779b4
|
@ -234,11 +234,15 @@ max_logster_logs = 1000
|
||||||
|
|
||||||
# during precompile update maxmind database if older than N days
|
# during precompile update maxmind database if older than N days
|
||||||
# set to 0 to disable
|
# set to 0 to disable
|
||||||
refresh_maxmind_db_during_precompile_days = 30
|
refresh_maxmind_db_during_precompile_days = 2
|
||||||
|
|
||||||
# backup path containing maxmind db files
|
# backup path containing maxmind db files
|
||||||
maxmind_backup_path =
|
maxmind_backup_path =
|
||||||
|
|
||||||
|
# register an account at: https://www.maxmind.com/en/geolite2/signup
|
||||||
|
# then head to profile and get your license key
|
||||||
|
maxmind_license_key=
|
||||||
|
|
||||||
# when enabled the following headers will be added to every response:
|
# when enabled the following headers will be added to every response:
|
||||||
# (note, if measurements do not exist for the header they will be omitted)
|
# (note, if measurements do not exist for the header they will be omitted)
|
||||||
#
|
#
|
||||||
|
|
|
@ -25,10 +25,19 @@ class DiscourseIpInfo
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.mmdb_download(name)
|
def self.mmdb_download(name)
|
||||||
|
|
||||||
|
if GlobalSetting.maxmind_license_key.blank?
|
||||||
|
STDERR.puts "MaxMind IP database updates require a license"
|
||||||
|
STDERR.puts "Please set DISCOURSE_MAXMIND_LICENSE_KEY to one you generated at https://www.maxmind.com"
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
FileUtils.mkdir_p(path)
|
FileUtils.mkdir_p(path)
|
||||||
|
|
||||||
|
url = "https://download.maxmind.com/app/geoip_download?license_key=#{GlobalSetting.maxmind_license_key}&edition_id=#{name}&suffix=tar.gz"
|
||||||
|
|
||||||
gz_file = FileHelper.download(
|
gz_file = FileHelper.download(
|
||||||
"https://geolite.maxmind.com/geoip/databases/#{name}/update",
|
url,
|
||||||
max_file_size: 100.megabytes,
|
max_file_size: 100.megabytes,
|
||||||
tmp_file_name: "#{name}.gz",
|
tmp_file_name: "#{name}.gz",
|
||||||
validate_uri: false,
|
validate_uri: false,
|
||||||
|
|
Loading…
Reference in New Issue
Block a user