email_data 1606845461 → 1607427861

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc3775652922ba0bb5fb85561a06a71a2447e1ddfb0c6787dcae43e21296a4e8
4
- data.tar.gz: e3311f3350eb7f5399b9a414d6f45f3302c2d1b9fc41e6b8b2d6695596447105
3
+ metadata.gz: 63b2324c3c5b0b6cf82035d848fdc7bb4da8ddd7f4e5fd2ea5bacff09eb37fe0
4
+ data.tar.gz: 42505ee545597463a44604089b0d8288daee2a5b4bbddc237dbe9d6e20c59c0f
5
5
  SHA512:
6
- metadata.gz: 6797f349be0ffd4bc7c78e9b15d23e03fc72b67b6e49bc2b54f022c96d88cabaed1dd32c1c4d1dbd2ac27ac5c89e6de744f91c72021d6390983562a3ea380483
7
- data.tar.gz: 36e08df08cb90cc60c7afc9fd1e6d17fc26aae3254a63abb816685371e92c395d8306d000a04ba832b05a0267a8612a4ec81cd6697fb285ea8c8a4d25443098e
6
+ metadata.gz: f46c3cc8c6760ca863e8d70804f48b6badf714368815cce42a8ce12c386849e79e1f8996cf4c1168cba143ca8360797a4463b75f8921416e6b7405f412cffe3b
7
+ data.tar.gz: dc79df9eecce6e95e44c15d806668ce585ee8147bc8ac94ea614e40e1992a3310d66a877ee95d3c8f67b933623532ea0b1ecc4651438386cf6da7e1d0ebc3881
@@ -1,4 +1,3 @@
1
- # These are supported funding model platforms
2
-
1
+ ---
3
2
  github: [fnando]
4
3
  custom: ["https://paypal.me/nandovieira/🍕"]
@@ -0,0 +1,49 @@
1
+ ---
2
+ name: package
3
+
4
+ on:
5
+ schedule:
6
+ - cron: "0 0 * * *"
7
+ workflow_dispatch:
8
+ inputs: {}
9
+
10
+ jobs:
11
+ build:
12
+ name: Export with Ruby ${{ matrix.ruby }}
13
+ runs-on: "ubuntu-latest"
14
+ strategy:
15
+ fail-fast: false
16
+ matrix:
17
+ ruby: ["2.7.x"]
18
+
19
+ steps:
20
+ - uses: actions/checkout@v2.3.4
21
+
22
+ - uses: actions/cache@v2
23
+ with:
24
+ path: vendor/bundle
25
+ key: >
26
+ ${{ runner.os }}-${{ matrix.ruby }}-gems-${{
27
+ hashFiles('**/*.gemspec') }}
28
+ restore-keys: >
29
+ ${{ runner.os }}-${{ matrix.ruby }}-gems-${{
30
+ hashFiles('**/*.gemspec') }}
31
+
32
+ - name: Set up Ruby
33
+ uses: actions/setup-ruby@v1
34
+ with:
35
+ ruby-version: ${{ matrix.ruby }}
36
+
37
+ - name: Install gem dependencies
38
+ run: |
39
+ gem install bundler
40
+ bundle config path vendor/bundle
41
+ bundle install --jobs 4 --retry 3
42
+
43
+ - name: Export files
44
+ env:
45
+ GITHUB_TOKEN: "${{ secrets.GH_TOKEN }}"
46
+ RUBYGEMS_API_KEY: "${{ secrets.RUBYGEMS_API_KEY }}"
47
+ NPM_AUTH_TOKEN: "${{ secrets.NPM_AUTH_TOKEN }}"
48
+ run: |
49
+ ./bin/package
@@ -1,3 +1,4 @@
1
+ ---
1
2
  name: ruby-tests
2
3
 
3
4
  on:
data/.gitignore CHANGED
@@ -9,3 +9,24 @@
9
9
  /data/disposable/**/*
10
10
  /data/json/**/*
11
11
  LOCK
12
+ bin/jq
13
+ opt/
14
+ vendor/
15
+ pkg/
16
+ VERSION
17
+ .DS_Store
18
+ .*.sw?
19
+ /.pow*
20
+ /.rvmrc
21
+ /.rbenv-version
22
+ /bin/
23
+ /.tags*
24
+ Thumbs.db
25
+ .vagrant
26
+ .bash/user.sh
27
+ .gemtags
28
+ .tags
29
+ .tags_sorted_by_file
30
+ /node_modules
31
+ /.env
32
+ /.env.*
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- email_data (1606845461)
4
+ email_data (1607309899)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -20,10 +20,14 @@ GEM
20
20
  aitch (1.1.0)
21
21
  nokogiri
22
22
  ast (2.4.1)
23
+ awesome_print (1.8.0)
24
+ byebug (11.1.3)
25
+ coderay (1.1.3)
23
26
  concurrent-ruby (1.1.7)
24
27
  docile (1.3.2)
25
28
  i18n (1.8.5)
26
29
  concurrent-ruby (~> 1.0)
30
+ method_source (1.0.0)
27
31
  mini_portile2 (2.4.0)
28
32
  minitest (5.14.2)
29
33
  minitest-utils (0.4.6)
@@ -34,6 +38,20 @@ GEM
34
38
  parser (2.7.2.0)
35
39
  ast (~> 2.4.1)
36
40
  pg (1.2.3)
41
+ pry (0.13.1)
42
+ coderay (~> 1.1)
43
+ method_source (~> 1.0)
44
+ pry-byebug (3.9.0)
45
+ byebug (~> 11.0)
46
+ pry (~> 0.13.0)
47
+ pry-meta (0.0.10)
48
+ awesome_print
49
+ pry
50
+ pry-byebug
51
+ pry-remote
52
+ pry-remote (0.1.8)
53
+ pry (~> 0.9)
54
+ slop (~> 3.0)
37
55
  rainbow (3.0.0)
38
56
  rake (13.0.1)
39
57
  regexp_parser (2.0.0)
@@ -41,18 +59,18 @@ GEM
41
59
  root_domain (0.1.2)
42
60
  email_data
43
61
  simpleidn
44
- rubocop (1.5.0)
62
+ rubocop (1.5.2)
45
63
  parallel (~> 1.10)
46
64
  parser (>= 2.7.1.5)
47
65
  rainbow (>= 2.2.2, < 4.0)
48
- regexp_parser (>= 2.0)
66
+ regexp_parser (>= 1.8, < 3.0)
49
67
  rexml
50
- rubocop-ast (>= 1.2.0)
68
+ rubocop-ast (>= 1.2.0, < 2.0)
51
69
  ruby-progressbar (~> 1.7)
52
70
  unicode-display_width (>= 1.4.0, < 2.0)
53
71
  rubocop-ast (1.3.0)
54
72
  parser (>= 2.7.1.5)
55
- rubocop-fnando (0.0.14)
73
+ rubocop-fnando (0.0.15)
56
74
  rubocop
57
75
  rubocop-performance
58
76
  rubocop-performance (1.9.1)
@@ -67,6 +85,7 @@ GEM
67
85
  simplecov_json_formatter (0.1.2)
68
86
  simpleidn (0.1.1)
69
87
  unf (~> 0.1.4)
88
+ slop (3.6.0)
70
89
  thread_safe (0.3.6)
71
90
  tzinfo (1.2.8)
72
91
  thread_safe (~> 0.1)
@@ -87,6 +106,7 @@ DEPENDENCIES
87
106
  minitest
88
107
  minitest-utils
89
108
  pg
109
+ pry-meta
90
110
  rake
91
111
  root_domain
92
112
  rubocop
data/README.md CHANGED
@@ -41,6 +41,8 @@ EmailData.data_dir
41
41
 
42
42
  # List of disposable domains. Punycode is expanded into ASCII domains.
43
43
  EmailData.disposable_domains
44
+ EmailData.disposable_domains_with_mx
45
+ EmailData.disposable_domains_without_mx
44
46
 
45
47
  # List of disposable emails. Some services use free email like Gmail to create
46
48
  # disposable emails.
@@ -127,6 +129,18 @@ class SetupEmailData < ActiveRecord::Migration[6.1]
127
129
 
128
130
  add_index :disposable_domains, :name, unique: true
129
131
 
132
+ create_table :disposable_domains_with_mx do |t|
133
+ t.citext :name, null: false
134
+ end
135
+
136
+ add_index :disposable_domains_with_mx, :name, unique: true
137
+
138
+ create_table :disposable_domains_without_mx do |t|
139
+ t.citext :name, null: false
140
+ end
141
+
142
+ add_index :disposable_domains_without_mx, :name, unique: true
143
+
130
144
  create_table :free_email_domains do |t|
131
145
  t.citext :name, null: false
132
146
  end
@@ -176,6 +190,8 @@ COPY slds (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data
176
190
  COPY country_tlds (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/country_tlds.txt';
177
191
  COPY disposable_emails (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/disposable_emails.txt';
178
192
  COPY disposable_domains (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/disposable_domains.txt';
193
+ COPY disposable_domains_with_mx (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/disposable_domains_with_mx.txt';
194
+ COPY disposable_domains_without_mx (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/disposable_domains_without_mx.txt';
179
195
  COPY free_email_domains (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/free_email_domains.txt';
180
196
  COPY roles (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/roles.txt';
181
197
  COPY private_relays (name) FROM '/usr/local/ruby/2.7.1/lib/ruby/gems/2.7.0/gems/email_data-1601479967/data/private_relays.txt';
@@ -204,6 +220,8 @@ class LoadEmailData < ActiveRecord::Migration[6.1]
204
220
  copy.call(:country_tlds)
205
221
  copy.call(:disposable_emails)
206
222
  copy.call(:disposable_domains)
223
+ copy.call(:disposable_domains_with_mx)
224
+ copy.call(:disposable_domains_without_mx)
207
225
  copy.call(:free_email_domains)
208
226
  copy.call(:roles)
209
227
  copy.call(:private_relays)
@@ -230,6 +248,8 @@ $ npm install @fnando/email_data
230
248
  ```js
231
249
  const disposableEmails = require("@fnando/email_data/data/json/disposable_emails.json");
232
250
  const disposableDomains = require("@fnando/email_data/data/json/disposable_domains.json");
251
+ const disposableDomainsWithMx = require("@fnando/email_data/data/json/disposable_domains_with_mx.json");
252
+ const disposableDomainsWithoutMx = require("@fnando/email_data/data/json/disposable_domains_without_mx.json");
233
253
  const freeEmailDomains = require("@fnando/email_data/data/json/free_email_domains.json");
234
254
  const roles = require("@fnando/email_data/data/json/roles.json");
235
255
  const privateRelays = require("@fnando/email_data/data/json/private_relays.json");
data/Rakefile CHANGED
@@ -2,7 +2,8 @@
2
2
 
3
3
  require "bundler/gem_tasks"
4
4
  require "rake/testtask"
5
- require "rubocop/rake_task"
5
+
6
+ all_tasks = %i[test]
6
7
 
7
8
  Rake::TestTask.new(:test) do |t|
8
9
  t.libs << "test"
@@ -10,6 +11,12 @@ Rake::TestTask.new(:test) do |t|
10
11
  t.test_files = FileList["test/**/*_test.rb"]
11
12
  end
12
13
 
13
- RuboCop::RakeTask.new
14
+ begin
15
+ require "rubocop/rake_task"
16
+ RuboCop::RakeTask.new
17
+ all_tasks << "rubocop"
18
+ rescue LoadError
19
+ puts "=> Couldn't load Rubocop rake tasks"
20
+ end
14
21
 
15
- task default: %i[test rubocop]
22
+ task default: all_tasks
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1606845461
1
+ 1607200035
@@ -106,9 +106,9 @@ def random_timeout
106
106
  (1..10).map {|i| (1.0 / i).round(2) }.sample
107
107
  end
108
108
 
109
- def refresh_list(url:, path:, verb: :get, params: nil, &block)
109
+ def refresh_list(url:, path:, verb: :get, params: nil)
110
110
  response = http_request(verb, url, params)
111
- items = block.call(response)
111
+ items = yield(response)
112
112
  append_to_file(path, items)
113
113
  rescue StandardError => error
114
114
  puts "=> [ERROR] Unable to refresh list: #{url} (#{error.class}: #{error.message})"
@@ -191,9 +191,9 @@ def root_domains(domains)
191
191
  processed_domains.reject(&:nil?)
192
192
  end
193
193
 
194
- def thread(&block)
194
+ def thread
195
195
  Thread.new do
196
- block.call
196
+ yield
197
197
  rescue StandardError => error
198
198
  puts "=> [ERROR] Thread has errored; #{error.class}: #{error.message}"
199
199
  end
@@ -8,17 +8,12 @@ source $HOME/.zsh/asdf.sh
8
8
  lockfile=$(dirname $0)/../LOCK
9
9
 
10
10
  if [[ -f "$lockfile" ]]; then
11
- terminal-notifier \
12
- -message "Skipping script; repository is locked." \
13
- -ignoreDnD \
14
- -title "email_data" \
15
- -group homebrew \
16
- &> /dev/null
11
+ echo "Skipping script; repository is locked."
17
12
  exit 1
18
13
  fi
19
14
 
20
15
  git reset --hard
21
- git checkout main
16
+ git checkout publish
22
17
  git pull --rebase
23
18
  git push
24
19
 
@@ -27,13 +22,8 @@ git push
27
22
  git_status=$(git status 2> /dev/null | tr "\\n" " ")
28
23
 
29
24
  if [[ "$git_status" =~ "nothing to commit" ]]; then
30
- terminal-notifier \
31
- -message "No changes detected. Skipping new packages." \
32
- -ignoreDnD \
33
- -title "email_data" \
34
- -group homebrew \
35
- &> /dev/null
36
- exit 1
25
+ echo "No changes detected. Skipping new packages."
26
+ exit
37
27
  fi
38
28
 
39
29
  date "+%s" > VERSION
@@ -52,5 +42,5 @@ git add .
52
42
  git commit -m "Bump up version."
53
43
  git push
54
44
 
55
- ./bin/publish-gem
56
- ./bin/publish-npm
45
+ # ./bin/publish-gem
46
+ # ./bin/publish-npm
data/bin/sync CHANGED
@@ -2,8 +2,12 @@
2
2
 
3
3
  ./bin/sync-tld
4
4
  echo
5
+ ./bin/sync-roles
6
+ echo
5
7
  ./bin/sync-free-emails
6
8
  echo
7
9
  ./bin/sync-disposable-emails
8
10
  echo
11
+ ./bin/filter-disposable-domains-without-mx
12
+ echo
9
13
  ./bin/export-json-files
@@ -130,7 +130,7 @@ def process_scraping(element, value_selector)
130
130
  else
131
131
  element.attributes.each do |_name, attr|
132
132
  attr = attr.value.to_s
133
- value = attr if attr =~ host_regex
133
+ value = attr if attr&.match?(host_regex)
134
134
  end
135
135
  end
136
136
 
@@ -172,7 +172,6 @@ threads << thread { domain_scraping("itemp", "https://itemp.email", "select[name
172
172
  threads << thread { domain_scraping("cs", "https://www.cs.email", "select[id=gm-host-select] option::text()") }
173
173
  threads << thread { domain_scraping("tempmail", "https://tempmail.io/settings/", "select[id=domain] option::text()") }
174
174
  threads << thread { domain_scraping("tempemail", "https://tempemail.co", "select[name=email_domain] option::text()") }
175
- threads << thread { domain_scraping("tmail", "https://mytemp-email.com/", "a.domain-selector::text()") }
176
175
 
177
176
  threads.each_slice(5) do |slice|
178
177
  slice.each(&:join)
@@ -1455,6 +1455,7 @@
1455
1455
  1hdbt.com
1456
1456
  1hdd.site
1457
1457
  1hdek9.us
1458
+ 1heizi.com
1458
1459
  1hermesbirkin0.com
1459
1460
  1hi.info
1460
1461
  1hmoxs72qd.cf
@@ -4588,6 +4589,7 @@
4588
4589
  567107.com
4589
4590
  56787.com
4590
4591
  5679827.com
4592
+ 567map.xyz
4591
4593
  568ac.com
4592
4594
  56k.tokyo
4593
4595
  56toyk.us
@@ -13340,6 +13342,7 @@ aspfitting.com
13340
13342
  asphalt-9-legends.ru
13341
13343
  aspiredoge.com
13342
13344
  aspiringweb.net
13345
+ aspiringweb.org
13343
13346
  asportsa.ru
13344
13347
  asportscoach.app
13345
13348
  aspotgmail.org
@@ -13843,6 +13846,7 @@ aussiematureclub.com
13843
13846
  aussiepersonal.loan
13844
13847
  aussiepersonal.loans
13845
13848
  aussiesmut.com
13849
+ austbikemart.com
13846
13850
  austimail.com
13847
13851
  austinbell.name
13848
13852
  austincar.club
@@ -20440,6 +20444,7 @@ brownetrading.net
20440
20444
  brownetrading.org
20441
20445
  browniesgoreng.com
20442
20446
  brownieslumer.com
20447
+ brownindians.com
20443
20448
  brownlandscapingutah.com
20444
20449
  brownpelican.info
20445
20450
  brownricecooker.com
@@ -47529,6 +47534,7 @@ hebagfu.tk
47529
47534
  hebatmart.xyz
47530
47535
  hebedbugremovalok.live
47531
47536
  hebeos.online
47537
+ hebgsw.com
47532
47538
  hebohdomino88.com
47533
47539
  hebohpkv.design
47534
47540
  hebohpkv2.com
@@ -48629,6 +48635,7 @@ hmmbswlt5ts.ga
48629
48635
  hmmbswlt5ts.gq
48630
48636
  hmmbswlt5ts.ml
48631
48637
  hmmbswlt5ts.tk
48638
+ hmnmw.com
48632
48639
  hmos.systems
48633
48640
  hmotomotiv.xyz
48634
48641
  hmsale.org
@@ -54711,6 +54718,7 @@ jiwatoto.org
54711
54718
  jixa.site
54712
54719
  jixe.site
54713
54720
  jixyvu.info
54721
+ jiyankotluk.xyz
54714
54722
  jiyoshops.site
54715
54723
  jiyue.org
54716
54724
  jiyun123.com
@@ -55717,6 +55725,7 @@ justonetworks.site
55717
55725
  justpoleznoe.ru
55718
55726
  justpositiveweblog.club
55719
55727
  justrbonlinea.co.uk
55728
+ justre.codes
55720
55729
  justreadit.ru
55721
55730
  justruninabox.com
55722
55731
  justsend.online
@@ -66245,6 +66254,7 @@ mendingme.net
66245
66254
  mendoanmail.club
66246
66255
  mendycady.com
66247
66256
  menealacola.com
66257
+ menece.com
66248
66258
  menflo.com
66249
66259
  mengatur.com
66250
66260
  mengchong.info
@@ -66783,6 +66793,7 @@ mhtqq.icu
66783
66793
  mhwolf.net
66784
66794
  mhxcpxbna.shop
66785
66795
  mhzayt.com
66796
+ mhzayt.online
66786
66797
  mi-fucker-ss.ru
66787
66798
  mi-mails.com
66788
66799
  mi-turisto.ru
@@ -80872,6 +80883,7 @@ premier-reverse.com
80872
80883
  premierbetcasino.com
80873
80884
  premierbetsuper6.com
80874
80885
  premierclosing.com
80886
+ premiere.ee
80875
80887
  premiereatlantarealestate.com
80876
80888
  premierelivecasino.com
80877
80889
  premierloto.info
@@ -93326,6 +93338,7 @@ somsupport.xyz
93326
93338
  son-haber.live
93327
93339
  son-haber.site
93328
93340
  son-haber.website
93341
+ son16.com
93329
93342
  sonaluma.com
93330
93343
  sonamyr.shop
93331
93344
  sonasoft.net
@@ -104533,6 +104546,7 @@ uphonni.ru
104533
104546
  upimage.net
104534
104547
  upimail.com
104535
104548
  upived.com
104549
+ upived.online
104536
104550
  upizzatakeaway.com
104537
104551
  upl0adand1nsta11.com
104538
104552
  uplay-store.ru