UrlCategorise 0.1.7 → 0.1.11

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.
@@ -2,134 +2,146 @@ module UrlCategorise
2
2
  module IabCompliance
3
3
  IAB_V2_MAPPINGS = {
4
4
  # Content Categories
5
- advertising: 'IAB3', # Advertising
6
- automotive: 'IAB2', # Automotive
7
- books_literature: 'IAB20', # Books & Literature
8
- business: 'IAB3', # Business
9
- careers: 'IAB4', # Careers
10
- education: 'IAB5', # Education
11
- entertainment: 'IAB1', # Arts & Entertainment
12
- finance: 'IAB13', # Personal Finance
13
- food_drink: 'IAB8', # Food & Drink
14
- health: 'IAB7', # Health & Fitness
15
- hobbies_interests: 'IAB9', # Hobbies & Interests
16
- home_garden: 'IAB10', # Home & Garden
17
- law_government: 'IAB11', # Law, Government & Politics
18
- news: 'IAB12', # News
19
- parenting: 'IAB6', # Family & Parenting
20
- pets: 'IAB16', # Pets
21
- philosophy: 'IAB21', # Philosophy/Religion
22
- real_estate: 'IAB21', # Real Estate
23
- science: 'IAB15', # Science
24
- shopping: 'IAB22', # Shopping
25
- sports: 'IAB17', # Sports
26
- style_fashion: 'IAB18', # Style & Fashion
27
- technology: 'IAB19', # Technology & Computing
28
- travel: 'IAB20', # Travel
5
+ advertising: "IAB3", # Advertising
6
+ automotive: "IAB2", # Automotive
7
+ books_literature: "IAB20", # Books & Literature
8
+ business: "IAB3", # Business
9
+ careers: "IAB4", # Careers
10
+ education: "IAB5", # Education
11
+ entertainment: "IAB1", # Arts & Entertainment
12
+ finance: "IAB13", # Personal Finance
13
+ food_drink: "IAB8", # Food & Drink
14
+ health: "IAB7", # Health & Fitness
15
+ hobbies_interests: "IAB9", # Hobbies & Interests
16
+ home_garden: "IAB10", # Home & Garden
17
+ law_government: "IAB11", # Law, Government & Politics
18
+ news: "IAB12", # News
19
+ parenting: "IAB6", # Family & Parenting
20
+ pets: "IAB16", # Pets
21
+ philosophy: "IAB21", # Philosophy/Religion
22
+ real_estate: "IAB21", # Real Estate
23
+ science: "IAB15", # Science
24
+ shopping: "IAB22", # Shopping
25
+ sports: "IAB17", # Sports
26
+ style_fashion: "IAB18", # Style & Fashion
27
+ technology: "IAB19", # Technology & Computing
28
+ travel: "IAB20", # Travel
29
29
 
30
30
  # Security & Malware Categories
31
- malware: 'IAB25', # Non-Standard Content (custom extension)
32
- phishing: 'IAB25', # Non-Standard Content (custom extension)
33
- gambling: 'IAB7-39', # Gambling
34
- pornography: 'IAB25-3', # Pornography
35
- violence: 'IAB25', # Non-Standard Content (custom extension)
36
- illegal: 'IAB25', # Non-Standard Content (custom extension)
31
+ malware: "IAB25", # Non-Standard Content (custom extension)
32
+ phishing: "IAB25", # Non-Standard Content (custom extension)
33
+ gambling: "IAB7-39", # Gambling
34
+ pornography: "IAB25-3", # Pornography
35
+ violence: "IAB25", # Non-Standard Content (custom extension)
36
+ illegal: "IAB25", # Non-Standard Content (custom extension)
37
37
 
38
38
  # Network & Security
39
- botnet_command_control: 'IAB25', # Non-Standard Content (custom extension)
40
- threat_intelligence: 'IAB25', # Non-Standard Content (custom extension)
41
- suspicious_domains: 'IAB25', # Non-Standard Content (custom extension)
42
- compromised_ips: 'IAB25', # Non-Standard Content (custom extension)
43
- tor_exit_nodes: 'IAB25', # Non-Standard Content (custom extension)
39
+ botnet_command_control: "IAB25", # Non-Standard Content (custom extension)
40
+ threat_intelligence: "IAB25", # Non-Standard Content (custom extension)
41
+ suspicious_domains: "IAB25", # Non-Standard Content (custom extension)
42
+ compromised_ips: "IAB25", # Non-Standard Content (custom extension)
43
+ tor_exit_nodes: "IAB25", # Non-Standard Content (custom extension)
44
44
 
45
45
  # Social & Media
46
- social_media: 'IAB14', # Society
47
- streaming: 'IAB1-2', # Music
48
- video_hosting: 'IAB1-2', # Music (video hosting platforms)
49
- blogs: 'IAB14', # Society
50
- forums: 'IAB19', # Technology & Computing
46
+ social_media: "IAB14", # Society
47
+ streaming: "IAB1-2", # Music
48
+ video_hosting: "IAB1-2", # Music (video hosting platforms)
49
+ blogs: "IAB14", # Society
50
+ blogging: "IAB14", # Society (blogging platforms)
51
+ forums: "IAB19", # Technology & Computing
52
+ forum: "IAB19", # Technology & Computing (forum platforms)
53
+ messaging: "IAB19", # Technology & Computing (messaging platforms)
54
+ music: "IAB1-2", # Music (music platforms)
55
+ developer_platforms: "IAB19", # Technology & Computing (developer platforms)
56
+ security_communities: "IAB19", # Technology & Computing (security communities)
51
57
 
52
58
  # Geographic/Language Specific
53
- chinese_ad_hosts: 'IAB3', # Advertising
54
- korean_ad_hosts: 'IAB3', # Advertising
55
- mobile_ads: 'IAB3', # Advertising
56
- smart_tv_ads: 'IAB3', # Advertising
59
+ chinese_ad_hosts: "IAB3", # Advertising
60
+ korean_ad_hosts: "IAB3", # Advertising
61
+ mobile_ads: "IAB3", # Advertising
62
+ smart_tv_ads: "IAB3", # Advertising
57
63
 
58
64
  # Specialized
59
- newly_registered_domains: 'IAB25', # Non-Standard Content (custom extension)
60
- dns_over_https_bypass: 'IAB25', # Non-Standard Content (custom extension)
61
- sanctions_ips: 'IAB25', # Non-Standard Content (custom extension)
62
- cryptojacking: 'IAB25', # Non-Standard Content (custom extension)
63
- phishing_extended: 'IAB25' # Non-Standard Content (custom extension)
65
+ newly_registered_domains: "IAB25", # Non-Standard Content (custom extension)
66
+ dns_over_https_bypass: "IAB25", # Non-Standard Content (custom extension)
67
+ sanctions_ips: "IAB25", # Non-Standard Content (custom extension)
68
+ cryptojacking: "IAB25", # Non-Standard Content (custom extension)
69
+ phishing_extended: "IAB25" # Non-Standard Content (custom extension)
64
70
  }.freeze
65
71
 
66
72
  IAB_V3_MAPPINGS = {
67
73
  # Tier-1 Categories (IAB Content Taxonomy 3.0)
68
- advertising: '3', # Advertising
69
- automotive: '2', # Automotive
70
- books_literature: '20', # Books & Literature
71
- business: '3', # Business
72
- careers: '4', # Careers
73
- education: '5', # Education
74
- entertainment: '1', # Arts & Entertainment
75
- finance: '13', # Personal Finance
76
- food_drink: '8', # Food & Drink
77
- health: '7', # Health & Fitness & Wellness
78
- hobbies_interests: '9', # Hobbies & Interests
79
- home_garden: '10', # Home & Garden
80
- law_government: '11', # Law, Government & Politics
81
- news: '12', # News & Politics
82
- parenting: '6', # Family & Parenting
83
- pets: '16', # Pets
84
- philosophy: '21', # Philosophy/Religion & Spirituality
85
- real_estate: '21', # Real Estate
86
- science: '15', # Science
87
- shopping: '22', # Shopping
88
- sports: '17', # Sports
89
- style_fashion: '18', # Style & Fashion
90
- technology: '19', # Technology & Computing
91
- travel: '20', # Travel
74
+ advertising: "3", # Advertising
75
+ automotive: "2", # Automotive
76
+ books_literature: "20", # Books & Literature
77
+ business: "3", # Business
78
+ careers: "4", # Careers
79
+ education: "5", # Education
80
+ entertainment: "1", # Arts & Entertainment
81
+ finance: "13", # Personal Finance
82
+ food_drink: "8", # Food & Drink
83
+ health: "7", # Health & Fitness & Wellness
84
+ hobbies_interests: "9", # Hobbies & Interests
85
+ home_garden: "10", # Home & Garden
86
+ law_government: "11", # Law, Government & Politics
87
+ news: "12", # News & Politics
88
+ parenting: "6", # Family & Parenting
89
+ pets: "16", # Pets
90
+ philosophy: "21", # Philosophy/Religion & Spirituality
91
+ real_estate: "21", # Real Estate
92
+ science: "15", # Science
93
+ shopping: "22", # Shopping
94
+ sports: "17", # Sports
95
+ style_fashion: "18", # Style & Fashion
96
+ technology: "19", # Technology & Computing
97
+ travel: "20", # Travel
92
98
 
93
99
  # Security & Malware Categories (Custom extensions)
94
- malware: '626', # Illegal Content (custom mapping)
95
- phishing: '626', # Illegal Content (custom mapping)
96
- gambling: '7-39', # Gambling (subcategory)
97
- pornography: '626', # Adult Content
98
- violence: '626', # Illegal Content (custom mapping)
99
- illegal: '626', # Illegal Content
100
+ malware: "626", # Illegal Content (custom mapping)
101
+ phishing: "626", # Illegal Content (custom mapping)
102
+ gambling: "7-39", # Gambling (subcategory)
103
+ pornography: "626", # Adult Content
104
+ violence: "626", # Illegal Content (custom mapping)
105
+ illegal: "626", # Illegal Content
100
106
 
101
107
  # Network & Security (Custom extensions)
102
- botnet_command_control: '626', # Illegal Content (custom mapping)
103
- threat_intelligence: '626', # Illegal Content (custom mapping)
104
- suspicious_domains: '626', # Illegal Content (custom mapping)
105
- compromised_ips: '626', # Illegal Content (custom mapping)
106
- tor_exit_nodes: '626', # Illegal Content (custom mapping)
108
+ botnet_command_control: "626", # Illegal Content (custom mapping)
109
+ threat_intelligence: "626", # Illegal Content (custom mapping)
110
+ suspicious_domains: "626", # Illegal Content (custom mapping)
111
+ compromised_ips: "626", # Illegal Content (custom mapping)
112
+ tor_exit_nodes: "626", # Illegal Content (custom mapping)
107
113
 
108
114
  # Social & Media
109
- social_media: '14', # Society
110
- streaming: '1-2', # Music & Audio
111
- video_hosting: '1-2', # Music & Audio (video hosting platforms)
112
- blogs: '14', # Society
113
- forums: '19', # Technology & Computing
115
+ social_media: "14", # Society
116
+ streaming: "1-2", # Music & Audio
117
+ video_hosting: "1-2", # Music & Audio (video hosting platforms)
118
+ blogs: "14", # Society
119
+ blogging: "14", # Society (blogging platforms)
120
+ forums: "19", # Technology & Computing
121
+ forum: "19", # Technology & Computing (forum platforms)
122
+ messaging: "19", # Technology & Computing (messaging platforms)
123
+ music: "1-2", # Music & Audio (music platforms)
124
+ developer_platforms: "19", # Technology & Computing (developer platforms)
125
+ security_communities: "19", # Technology & Computing (security communities)
114
126
 
115
127
  # Geographic/Language Specific
116
- chinese_ad_hosts: '3', # Advertising
117
- korean_ad_hosts: '3', # Advertising
118
- mobile_ads: '3', # Advertising
119
- smart_tv_ads: '3', # Advertising
128
+ chinese_ad_hosts: "3", # Advertising
129
+ korean_ad_hosts: "3", # Advertising
130
+ mobile_ads: "3", # Advertising
131
+ smart_tv_ads: "3", # Advertising
120
132
 
121
133
  # Specialized
122
- newly_registered_domains: '626', # Illegal Content (custom mapping)
123
- dns_over_https_bypass: '626', # Illegal Content (custom mapping)
124
- sanctions_ips: '626', # Illegal Content (custom mapping)
125
- cryptojacking: '626', # Illegal Content (custom mapping)
126
- phishing_extended: '626' # Illegal Content (custom mapping)
134
+ newly_registered_domains: "626", # Illegal Content (custom mapping)
135
+ dns_over_https_bypass: "626", # Illegal Content (custom mapping)
136
+ sanctions_ips: "626", # Illegal Content (custom mapping)
137
+ cryptojacking: "626", # Illegal Content (custom mapping)
138
+ phishing_extended: "626" # Illegal Content (custom mapping)
127
139
  }.freeze
128
140
 
129
141
  def self.map_category_to_iab(category, version = :v3)
130
142
  category_sym = category.to_sym
131
143
  mapping = version == :v2 ? IAB_V2_MAPPINGS : IAB_V3_MAPPINGS
132
- mapping[category_sym] || 'Unknown'
144
+ mapping[category_sym] || "Unknown"
133
145
  end
134
146
 
135
147
  def self.get_iab_categories(categories, version = :v3)
@@ -1,5 +1,5 @@
1
1
  begin
2
- require 'active_record'
2
+ require "active_record"
3
3
  rescue LoadError
4
4
  # ActiveRecord not available, skip model definitions
5
5
  module UrlCategorise
@@ -17,7 +17,7 @@ else
17
17
  end
18
18
 
19
19
  class ListMetadata < ActiveRecord::Base
20
- self.table_name = 'url_categorise_list_metadata'
20
+ self.table_name = "url_categorise_list_metadata"
21
21
 
22
22
  validates :name, presence: true, uniqueness: true
23
23
  validates :url, presence: true
@@ -25,37 +25,37 @@ else
25
25
 
26
26
  serialize :categories, coder: JSON
27
27
 
28
- scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
29
- scope :updated_since, ->(time) { where('updated_at > ?', time) }
28
+ scope :by_category, ->(category) { where("categories LIKE ?", "%#{category}%") }
29
+ scope :updated_since, ->(time) { where("updated_at > ?", time) }
30
30
  end
31
31
 
32
32
  class Domain < ActiveRecord::Base
33
- self.table_name = 'url_categorise_domains'
33
+ self.table_name = "url_categorise_domains"
34
34
 
35
35
  validates :domain, presence: true, uniqueness: true
36
36
  validates :categories, presence: true
37
37
 
38
38
  serialize :categories, coder: JSON
39
39
 
40
- scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
41
- scope :search, ->(term) { where('domain LIKE ?', "%#{term}%") }
40
+ scope :by_category, ->(category) { where("categories LIKE ?", "%#{category}%") }
41
+ scope :search, ->(term) { where("domain LIKE ?", "%#{term}%") }
42
42
 
43
43
  def self.categorise(domain_name)
44
- record = find_by(domain: domain_name.downcase.gsub('www.', ''))
44
+ record = find_by(domain: domain_name.downcase.gsub("www.", ""))
45
45
  record ? record.categories : []
46
46
  end
47
47
  end
48
48
 
49
49
  class IpAddress < ActiveRecord::Base
50
- self.table_name = 'url_categorise_ip_addresses'
50
+ self.table_name = "url_categorise_ip_addresses"
51
51
 
52
52
  validates :ip_address, presence: true, uniqueness: true
53
53
  validates :categories, presence: true
54
54
 
55
55
  serialize :categories, coder: JSON
56
56
 
57
- scope :by_category, ->(category) { where('categories LIKE ?', "%#{category}%") }
58
- scope :in_subnet, ->(subnet) { where('ip_address LIKE ?', "#{subnet}%") }
57
+ scope :by_category, ->(category) { where("categories LIKE ?", "%#{category}%") }
58
+ scope :in_subnet, ->(subnet) { where("ip_address LIKE ?", "#{subnet}%") }
59
59
 
60
60
  def self.categorise(ip)
61
61
  record = find_by(ip_address: ip)
@@ -64,7 +64,7 @@ else
64
64
  end
65
65
 
66
66
  class DatasetMetadata < ActiveRecord::Base
67
- self.table_name = 'url_categorise_dataset_metadata'
67
+ self.table_name = "url_categorise_dataset_metadata"
68
68
 
69
69
  validates :source_type, presence: true, inclusion: { in: %w[kaggle csv] }
70
70
  validates :identifier, presence: true
@@ -76,14 +76,14 @@ else
76
76
 
77
77
  scope :by_source, ->(source) { where(source_type: source) }
78
78
  scope :by_identifier, ->(identifier) { where(identifier: identifier) }
79
- scope :processed_since, ->(time) { where('processed_at > ?', time) }
79
+ scope :processed_since, ->(time) { where("processed_at > ?", time) }
80
80
 
81
81
  def kaggle_dataset?
82
- source_type == 'kaggle'
82
+ source_type == "kaggle"
83
83
  end
84
84
 
85
85
  def csv_dataset?
86
- source_type == 'csv'
86
+ source_type == "csv"
87
87
  end
88
88
  end
89
89
 
@@ -1,3 +1,3 @@
1
1
  module UrlCategorise
2
- VERSION = '0.1.7'
2
+ VERSION = "0.1.11"
3
3
  end
@@ -1,23 +1,23 @@
1
- require 'httparty'
2
- require 'nokogiri'
3
- require 'digest'
4
- require 'fileutils'
5
- require 'resolv'
6
- require 'active_attr'
1
+ require "httparty"
2
+ require "nokogiri"
3
+ require "digest"
4
+ require "fileutils"
5
+ require "resolv"
6
+ require "active_attr"
7
7
 
8
- require 'api-pattern'
8
+ require "api-pattern"
9
9
 
10
- require 'url_categorise/version'
11
- require 'url_categorise/constants'
12
- require 'url_categorise/dataset_processor'
13
- require 'url_categorise/iab_compliance'
10
+ require "url_categorise/version"
11
+ require "url_categorise/constants"
12
+ require "url_categorise/dataset_processor"
13
+ require "url_categorise/iab_compliance"
14
14
 
15
- require 'url_categorise/client'
15
+ require "url_categorise/client"
16
16
 
17
17
  # Optional ActiveRecord integration
18
18
  begin
19
- require 'url_categorise/models'
20
- require 'url_categorise/active_record_client'
19
+ require "url_categorise/models"
20
+ require "url_categorise/active_record_client"
21
21
  rescue LoadError
22
22
  # ActiveRecord not available, skip
23
23
  end
@@ -0,0 +1,62 @@
1
+ # Blogging Platform Domains - PiHole Compatible Hosts File
2
+ # Generated on: 2026-05-22 11:06:15 UTC
3
+ # Sources:
4
+ # - Mr.Holmes OSINT tool (https://github.com/Lucksi/Mr.Holmes)
5
+ # - Manually curated domain lists
6
+ # Purpose: Identify and categorize blogging, writing, and content publishing platforms
7
+ # Format: 0.0.0.0 domain.com
8
+ #
9
+
10
+ 0.0.0.0 about.me
11
+ 0.0.0.0 www.about.me
12
+ 0.0.0.0 beehiiv.com
13
+ 0.0.0.0 www.beehiiv.com
14
+ 0.0.0.0 blogspot.com
15
+ 0.0.0.0 www.blogspot.com
16
+ 0.0.0.0 bookcrossing.com
17
+ 0.0.0.0 www.bookcrossing.com
18
+ 0.0.0.0 buttondown.email
19
+ 0.0.0.0 www.buttondown.email
20
+ 0.0.0.0 buzzfeed.com
21
+ 0.0.0.0 www.buzzfeed.com
22
+ 0.0.0.0 flipboard.com
23
+ 0.0.0.0 www.flipboard.com
24
+ 0.0.0.0 ghost.org
25
+ 0.0.0.0 www.ghost.org
26
+ 0.0.0.0 hashnode.dev
27
+ 0.0.0.0 www.hashnode.dev
28
+ 0.0.0.0 hubpages.com
29
+ 0.0.0.0 www.hubpages.com
30
+ 0.0.0.0 livejournal.com
31
+ 0.0.0.0 www.livejournal.com
32
+ 0.0.0.0 medium.com
33
+ 0.0.0.0 www.medium.com
34
+ 0.0.0.0 noted.lol
35
+ 0.0.0.0 www.noted.lol
36
+ 0.0.0.0 quotev.com
37
+ 0.0.0.0 www.quotev.com
38
+ 0.0.0.0 revue.email
39
+ 0.0.0.0 www.revue.email
40
+ 0.0.0.0 slideshare.net
41
+ 0.0.0.0 www.slideshare.net
42
+ 0.0.0.0 substack.com
43
+ 0.0.0.0 www.substack.com
44
+ 0.0.0.0 telegraph.ph
45
+ 0.0.0.0 www.telegraph.ph
46
+ 0.0.0.0 tinyletter.com
47
+ 0.0.0.0 www.tinyletter.com
48
+ 0.0.0.0 tumblr.com
49
+ 0.0.0.0 www.tumblr.com
50
+ 0.0.0.0 wattpad.com
51
+ 0.0.0.0 www.wattpad.com
52
+ 0.0.0.0 wordpress.com
53
+ 0.0.0.0 www.wordpress.com
54
+ 0.0.0.0 write.as
55
+ 0.0.0.0 www.write.as
56
+ 0.0.0.0 writeas.com
57
+ 0.0.0.0 www.writeas.com
58
+ 0.0.0.0 www.bookcrossing.com
59
+ 0.0.0.0 www.livejournal.com
60
+ 0.0.0.0 www.quotev.com
61
+ 0.0.0.0 www.tumblr.com
62
+ 0.0.0.0 www.wattpad.com
@@ -0,0 +1,46 @@
1
+ # Cryptocurrency Platform Domains - PiHole Compatible Hosts File
2
+ # Generated on: 2026-05-22 11:06:15 UTC
3
+ # Sources:
4
+ # - Mr.Holmes OSINT tool (https://github.com/Lucksi/Mr.Holmes)
5
+ # - Manually curated domain lists
6
+ # Purpose: Identify and categorize cryptocurrency exchanges, forums, and NFT platforms
7
+ # Format: 0.0.0.0 domain.com
8
+ #
9
+
10
+ 0.0.0.0 binance.com
11
+ 0.0.0.0 www.binance.com
12
+ 0.0.0.0 bitcoin.org
13
+ 0.0.0.0 www.bitcoin.org
14
+ 0.0.0.0 bitcoinforum.com
15
+ 0.0.0.0 www.bitcoinforum.com
16
+ 0.0.0.0 blockchain.com
17
+ 0.0.0.0 www.blockchain.com
18
+ 0.0.0.0 coinbase.com
19
+ 0.0.0.0 www.coinbase.com
20
+ 0.0.0.0 coingecko.com
21
+ 0.0.0.0 www.coingecko.com
22
+ 0.0.0.0 coinmarketcap.com
23
+ 0.0.0.0 www.coinmarketcap.com
24
+ 0.0.0.0 defi.org
25
+ 0.0.0.0 www.defi.org
26
+ 0.0.0.0 ethereum.org
27
+ 0.0.0.0 www.ethereum.org
28
+ 0.0.0.0 etherscan.io
29
+ 0.0.0.0 www.etherscan.io
30
+ 0.0.0.0 foundation.app
31
+ 0.0.0.0 www.foundation.app
32
+ 0.0.0.0 kraken.com
33
+ 0.0.0.0 www.kraken.com
34
+ 0.0.0.0 looksrare.org
35
+ 0.0.0.0 www.looksrare.org
36
+ 0.0.0.0 opensea.io
37
+ 0.0.0.0 www.opensea.io
38
+ 0.0.0.0 pancakeswap.finance
39
+ 0.0.0.0 www.pancakeswap.finance
40
+ 0.0.0.0 rarible.com
41
+ 0.0.0.0 www.rarible.com
42
+ 0.0.0.0 uniswap.org
43
+ 0.0.0.0 www.uniswap.org
44
+ 0.0.0.0 www.binance.com
45
+ 0.0.0.0 www.coinbase.com
46
+ 0.0.0.0 www.kraken.com
@@ -0,0 +1,108 @@
1
+ # Developer Platform Domains - PiHole Compatible Hosts File
2
+ # Generated on: 2026-05-22 11:06:15 UTC
3
+ # Sources:
4
+ # - Mr.Holmes OSINT tool (https://github.com/Lucksi/Mr.Holmes)
5
+ # - Manually curated domain lists
6
+ # Purpose: Identify and categorize developer tools, package registries, and programming platforms
7
+ # Format: 0.0.0.0 domain.com
8
+ #
9
+
10
+ 0.0.0.0 anaconda.org
11
+ 0.0.0.0 www.anaconda.org
12
+ 0.0.0.0 asciinema.org
13
+ 0.0.0.0 www.asciinema.org
14
+ 0.0.0.0 bitbucket.org
15
+ 0.0.0.0 www.bitbucket.org
16
+ 0.0.0.0 cbtnuggets.com
17
+ 0.0.0.0 www.cbtnuggets.com
18
+ 0.0.0.0 cocoapods.org
19
+ 0.0.0.0 www.cocoapods.org
20
+ 0.0.0.0 codecademy.com
21
+ 0.0.0.0 www.codecademy.com
22
+ 0.0.0.0 codepen.io
23
+ 0.0.0.0 www.codepen.io
24
+ 0.0.0.0 codewars.com
25
+ 0.0.0.0 www.codewars.com
26
+ 0.0.0.0 conda.io
27
+ 0.0.0.0 www.conda.io
28
+ 0.0.0.0 cpan.org
29
+ 0.0.0.0 www.cpan.org
30
+ 0.0.0.0 cran.r-project.org
31
+ 0.0.0.0 www.cran.r-project.org
32
+ 0.0.0.0 crates.io
33
+ 0.0.0.0 www.crates.io
34
+ 0.0.0.0 dev.to
35
+ 0.0.0.0 www.dev.to
36
+ 0.0.0.0 drupal.org
37
+ 0.0.0.0 www.drupal.org
38
+ 0.0.0.0 fly.io
39
+ 0.0.0.0 www.fly.io
40
+ 0.0.0.0 gist.github.com
41
+ 0.0.0.0 www.gist.github.com
42
+ 0.0.0.0 gitee.com
43
+ 0.0.0.0 www.gitee.com
44
+ 0.0.0.0 github.com
45
+ 0.0.0.0 www.github.com
46
+ 0.0.0.0 gitlab.com
47
+ 0.0.0.0 www.gitlab.com
48
+ 0.0.0.0 glitch.com
49
+ 0.0.0.0 www.glitch.com
50
+ 0.0.0.0 hackaday.io
51
+ 0.0.0.0 www.hackaday.io
52
+ 0.0.0.0 heroku.com
53
+ 0.0.0.0 www.heroku.com
54
+ 0.0.0.0 hex.pm
55
+ 0.0.0.0 www.hex.pm
56
+ 0.0.0.0 hub.docker.com
57
+ 0.0.0.0 www.hub.docker.com
58
+ 0.0.0.0 jsfiddle.net
59
+ 0.0.0.0 www.jsfiddle.net
60
+ 0.0.0.0 maven.org
61
+ 0.0.0.0 www.maven.org
62
+ 0.0.0.0 netlify.com
63
+ 0.0.0.0 www.netlify.com
64
+ 0.0.0.0 notabug.org
65
+ 0.0.0.0 www.notabug.org
66
+ 0.0.0.0 npmjs.com
67
+ 0.0.0.0 www.npmjs.com
68
+ 0.0.0.0 nuget.org
69
+ 0.0.0.0 www.nuget.org
70
+ 0.0.0.0 opensource.com
71
+ 0.0.0.0 www.opensource.com
72
+ 0.0.0.0 packagist.org
73
+ 0.0.0.0 www.packagist.org
74
+ 0.0.0.0 pastebin.com
75
+ 0.0.0.0 www.pastebin.com
76
+ 0.0.0.0 pkg.go.dev
77
+ 0.0.0.0 www.pkg.go.dev
78
+ 0.0.0.0 pr0gramm.com
79
+ 0.0.0.0 www.pr0gramm.com
80
+ 0.0.0.0 pub.dev
81
+ 0.0.0.0 www.pub.dev
82
+ 0.0.0.0 pypi.org
83
+ 0.0.0.0 www.pypi.org
84
+ 0.0.0.0 railway.app
85
+ 0.0.0.0 www.railway.app
86
+ 0.0.0.0 render.com
87
+ 0.0.0.0 www.render.com
88
+ 0.0.0.0 replit.com
89
+ 0.0.0.0 www.replit.com
90
+ 0.0.0.0 rubygems.org
91
+ 0.0.0.0 www.rubygems.org
92
+ 0.0.0.0 scratch.mit.edu
93
+ 0.0.0.0 www.scratch.mit.edu
94
+ 0.0.0.0 sourceforge.net
95
+ 0.0.0.0 www.sourceforge.net
96
+ 0.0.0.0 stackexchange.com
97
+ 0.0.0.0 www.stackexchange.com
98
+ 0.0.0.0 stackoverflow.com
99
+ 0.0.0.0 www.stackoverflow.com
100
+ 0.0.0.0 vercel.com
101
+ 0.0.0.0 www.vercel.com
102
+ 0.0.0.0 www.codecademy.com
103
+ 0.0.0.0 www.codewars.com
104
+ 0.0.0.0 www.drupal.org
105
+ 0.0.0.0 www.github.com
106
+ 0.0.0.0 www.npmjs.com
107
+ 0.0.0.0 www.replit.com
108
+ 0.0.0.0 www.stackoverflow.com
@@ -0,0 +1,65 @@
1
+ # Forum and Q&A Domains - PiHole Compatible Hosts File
2
+ # Generated on: 2026-05-22 11:06:15 UTC
3
+ # Sources:
4
+ # - Mr.Holmes OSINT tool (https://github.com/Lucksi/Mr.Holmes)
5
+ # - Manually curated domain lists
6
+ # Purpose: Identify and categorize forums, Q&A platforms, and community discussion sites
7
+ # Format: 0.0.0.0 domain.com
8
+ #
9
+
10
+ 0.0.0.0 ask.fm
11
+ 0.0.0.0 www.ask.fm
12
+ 0.0.0.0 colourlovers.com
13
+ 0.0.0.0 www.colourlovers.com
14
+ 0.0.0.0 community.oracle.com
15
+ 0.0.0.0 www.community.oracle.com
16
+ 0.0.0.0 community.signalusers.org
17
+ 0.0.0.0 www.community.signalusers.org
18
+ 0.0.0.0 dev.to
19
+ 0.0.0.0 www.dev.to
20
+ 0.0.0.0 discourse.org
21
+ 0.0.0.0 www.discourse.org
22
+ 0.0.0.0 disqus.com
23
+ 0.0.0.0 www.disqus.com
24
+ 0.0.0.0 fandom.com
25
+ 0.0.0.0 www.fandom.com
26
+ 0.0.0.0 forum.pixelfederation.com
27
+ 0.0.0.0 www.forum.pixelfederation.com
28
+ 0.0.0.0 forum.sublimetext.com
29
+ 0.0.0.0 www.forum.sublimetext.com
30
+ 0.0.0.0 kbin.social
31
+ 0.0.0.0 www.kbin.social
32
+ 0.0.0.0 lemmy.world
33
+ 0.0.0.0 www.lemmy.world
34
+ 0.0.0.0 lobste.rs
35
+ 0.0.0.0 www.lobste.rs
36
+ 0.0.0.0 native-instruments.com
37
+ 0.0.0.0 www.native-instruments.com
38
+ 0.0.0.0 news.ycombinator.com
39
+ 0.0.0.0 www.news.ycombinator.com
40
+ 0.0.0.0 ngl.link
41
+ 0.0.0.0 www.ngl.link
42
+ 0.0.0.0 old.reddit.com
43
+ 0.0.0.0 www.old.reddit.com
44
+ 0.0.0.0 quizsilo.com
45
+ 0.0.0.0 www.quizsilo.com
46
+ 0.0.0.0 quora.com
47
+ 0.0.0.0 www.quora.com
48
+ 0.0.0.0 reddit.com
49
+ 0.0.0.0 www.reddit.com
50
+ 0.0.0.0 slashdot.org
51
+ 0.0.0.0 www.slashdot.org
52
+ 0.0.0.0 stackexchange.com
53
+ 0.0.0.0 www.stackexchange.com
54
+ 0.0.0.0 stackoverflow.com
55
+ 0.0.0.0 www.stackoverflow.com
56
+ 0.0.0.0 sublimetext.com
57
+ 0.0.0.0 www.sublimetext.com
58
+ 0.0.0.0 tellonym.me
59
+ 0.0.0.0 www.tellonym.me
60
+ 0.0.0.0 www.colourlovers.com
61
+ 0.0.0.0 www.fandom.com
62
+ 0.0.0.0 www.native-instruments.com
63
+ 0.0.0.0 www.quora.com
64
+ 0.0.0.0 www.reddit.com
65
+ 0.0.0.0 www.stackoverflow.com