email_data 1607321830 → 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: 89c4fcbee32f0a8df7950a9cb42b018d07727b5bc1856be40159e2bd9048a001
4
- data.tar.gz: ddecb42320168c43e657af4766f11ef9dccad1ff36879046a48e73e6aaa661f5
3
+ metadata.gz: 63b2324c3c5b0b6cf82035d848fdc7bb4da8ddd7f4e5fd2ea5bacff09eb37fe0
4
+ data.tar.gz: 42505ee545597463a44604089b0d8288daee2a5b4bbddc237dbe9d6e20c59c0f
5
5
  SHA512:
6
- metadata.gz: 1938455b425a6c6bccffe5fa4d54fd1f7560bbdd4bb174c670d5d62d1b1b7fbbca4e58e55dcfa7dc8811bc98051aec1ca5cc17bffc38ad6b06eb5a4efd3c5011
7
- data.tar.gz: '08d6bf89db0ed7c42921c27c35f3618531c8f8125b2f3b100460495eb76d00f35b7701126862e37fbf3858f3d82b45dfefb00c880a5aa77f645dfac8bf4808a2'
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/🍕"]
@@ -2,12 +2,10 @@
2
2
  name: package
3
3
 
4
4
  on:
5
- push:
6
- branches:
7
- - publish
8
-
9
- # schedule:
10
- # - cron: "0 10 * * *"
5
+ schedule:
6
+ - cron: "0 0 * * *"
7
+ workflow_dispatch:
8
+ inputs: {}
11
9
 
12
10
  jobs:
13
11
  build:
@@ -49,20 +47,3 @@ jobs:
49
47
  NPM_AUTH_TOKEN: "${{ secrets.NPM_AUTH_TOKEN }}"
50
48
  run: |
51
49
  ./bin/package
52
- git config user.email "me@fnando.com"
53
- git config user.name "Nando Vieira via Github Actions"
54
- git add Gemfile.lock
55
- git add package.json
56
- git add lib/email_data/version.rb
57
- git commit --message "Update lists."
58
- git pull origin --rebase
59
- git push origin --set-upstream
60
-
61
- mkdir -p ~/.gem
62
- echo ":rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
63
- chmod 0600 ~/.gem/credentials
64
- rake release
65
-
66
- echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
67
- chmod 0600 ~/.npmrc
68
- npm publish --access public
data/.gitignore CHANGED
@@ -9,5 +9,24 @@
9
9
  /data/disposable/**/*
10
10
  /data/json/**/*
11
11
  LOCK
12
- /bin/jq
13
- /vendor
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.*
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");
@@ -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,11 +8,49 @@ chmod +x bin/jq
8
8
  which jq
9
9
  jq --version
10
10
 
11
- echo ./bin/sync
12
- ./bin/export-json-files
11
+ ./bin/sync
13
12
 
14
13
  echo "=> Updating version files"
15
14
  version=$(date "+%s")
16
15
  package_json=$(cat package.json | jq --arg version "${version}.0.0" '.version = $version')
17
16
  echo $package_json | jq > package.json
18
17
  sed -i -E "s/[0-9]+/$version/" ./lib/email_data/version.rb
18
+
19
+ git_status=$(git status 2> /dev/null | tr "\\n" " ")
20
+
21
+ if [[ "$git_status" =~ "nothing to commit" ]]; then
22
+ echo "No changes detected. Skipping new packages."
23
+ exit
24
+ fi
25
+
26
+ git config user.email "me@fnando.com"
27
+ git config user.name "Nando Vieira via Github Actions"
28
+ git add Gemfile.lock
29
+ git add package.json
30
+ git add lib/email_data/version.rb
31
+ git commit --message "Update lists."
32
+ git reset --hard
33
+ git pull origin --rebase
34
+ git push origin --set-upstream
35
+ git tag "v$version"
36
+ git push --tags
37
+
38
+ echo "=> Check repo status"
39
+ git diff
40
+ git diff-index --cached HEAD
41
+ git status
42
+
43
+ echo "=> Generate gem package"
44
+ mkdir -p ~/.gem
45
+ echo ":rubygems_api_key: $RUBYGEMS_API_KEY" > ~/.gem/credentials
46
+ chmod 0600 ~/.gem/credentials
47
+ mkdir -p pkg
48
+ rm -rf pkg/*.gem
49
+ email_data_gem=pkg/email_data-$version.gem
50
+ gem build email_data.gemspec --silent --output $email_data_gem
51
+ gem push $email_data_gem
52
+
53
+ echo "=> Generate npm package"
54
+ echo "//registry.npmjs.org/:_authToken=$NPM_AUTH_TOKEN" > ~/.npmrc
55
+ chmod 0600 ~/.npmrc
56
+ npm publish --access public --tag "v$version"
@@ -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)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EmailData
4
- VERSION = "1607321830"
4
+ VERSION = "1607427861"
5
5
  end
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fnando/email_data",
3
3
  "description": "This project is a compilation of datasets related to emails. Includes disposable emails, disposable domains, and free email services.",
4
- "version": "1607321830.0.0",
4
+ "version": "1607427861.0.0",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: email_data
3
3
  version: !ruby/object:Gem::Version
4
- version: '1607321830'
4
+ version: '1607427861'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nando Vieira
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-12-07 00:00:00.000000000 Z
11
+ date: 2020-12-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -247,9 +247,9 @@ licenses:
247
247
  metadata:
248
248
  homepage_uri: https://github.com/fnando/email_data
249
249
  bug_tracker_uri: https://github.com/fnando/email_data/issues
250
- source_code_uri: https://github.com/fnando/email_data/tree/v1607321830
251
- documentation_uri: https://github.com/fnando/email_data/tree/v1607321830/README.md
252
- license_uri: https://github.com/fnando/email_data/tree/v1607321830/LICENSE.md
250
+ source_code_uri: https://github.com/fnando/email_data/tree/v1607427861
251
+ documentation_uri: https://github.com/fnando/email_data/tree/v1607427861/README.md
252
+ license_uri: https://github.com/fnando/email_data/tree/v1607427861/LICENSE.md
253
253
  post_install_message:
254
254
  rdoc_options: []
255
255
  require_paths: