amiblocked 0.0.1
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 +7 -0
- data/Gemfile +1 -0
- data/README.md +13 -0
- data/amiblocked.gemspec +15 -0
- data/bin/amiblocked +22 -0
- data/lib/amiblocked.rb +62 -0
- data/lib/version.rb +3 -0
- metadata +50 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: b08fa5f1a980d8028d7fe383791647cac67f595b
|
4
|
+
data.tar.gz: 13f181948d43e2963a80b4d82ec4b2c2ee8af739
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b95421f68ebd482d5cb578a243c648c33a6557ad907574ce08b4503a3f105f2b4b3dd552c369e56c627cb0b750a6b5b37a999f1ee7ad00bd95413821d256e619
|
7
|
+
data.tar.gz: d35b82f113dfebb8c2489cdd155d24b8e946d127b438c55998da88c7fdcb394536c74402cdbb77d5bd14994a5f18f53213e05671372fb460f98d25e6542b9f6e
|
data/Gemfile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
gem 'notifaction'
|
data/README.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# gem::amiblocked
|
2
|
+
|
3
|
+
Checks to see if your service is on any of the lists on the [easylist](https://easylist.adblockplus.org/en/).
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
```ruby
|
8
|
+
ruby tester.rb service_name
|
9
|
+
|
10
|
+
# Examples
|
11
|
+
# ruby tester.rb google
|
12
|
+
# ruby tester.rb doubleclick
|
13
|
+
```
|
data/amiblocked.gemspec
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require "./lib/version"
|
2
|
+
|
3
|
+
Gem::Specification.new do |s|
|
4
|
+
s.name = 'amiblocked'
|
5
|
+
s.version = AmIBlocked::VERSION
|
6
|
+
s.date = Date.today
|
7
|
+
s.summary = "Simple Adblock list testing"
|
8
|
+
s.description = "Check if your service blocked by adblockers"
|
9
|
+
s.authors = ["Ryan Priebe"]
|
10
|
+
s.email = 'hello@ryanpriebe.com'
|
11
|
+
s.files = `git ls-files`.split($\)
|
12
|
+
s.homepage = 'http://rubygems.org/gems/amiblocked'
|
13
|
+
s.license = 'MIT'
|
14
|
+
s.executables = 'amiblocked'
|
15
|
+
end
|
data/bin/amiblocked
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'json'
|
4
|
+
require 'open-uri'
|
5
|
+
require 'notifaction'
|
6
|
+
|
7
|
+
require_relative '../lib/amiblocked'
|
8
|
+
|
9
|
+
# default configuration options
|
10
|
+
config = {
|
11
|
+
url: "https://easylist.adblockplus.org/en/",
|
12
|
+
service: ARGV[0]
|
13
|
+
}
|
14
|
+
|
15
|
+
# use local configuration options if they exist
|
16
|
+
local_config = File.expand_path('~') + '.amiblocked-config.json'
|
17
|
+
|
18
|
+
if File.exists?(local_config)
|
19
|
+
config = JSON.parse(local_config)
|
20
|
+
end
|
21
|
+
|
22
|
+
AmIBlocked.new(config)
|
data/lib/amiblocked.rb
ADDED
@@ -0,0 +1,62 @@
|
|
1
|
+
class AmIBlocked
|
2
|
+
def initialize(config = {})
|
3
|
+
Notify.error("A URL is required") if config[:url].nil?
|
4
|
+
Notify.error("A service name is required, e.g.\namiblocked doubleclick") if config[:service].nil?
|
5
|
+
|
6
|
+
@url = config[:url]
|
7
|
+
|
8
|
+
execute_and_report(config)
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
|
13
|
+
def get_lists
|
14
|
+
lists = []
|
15
|
+
|
16
|
+
open(@url) do |res|
|
17
|
+
res.each_line do |line|
|
18
|
+
# grossness to follow
|
19
|
+
if list = /http(s):\/\/(.*)\.txt/.match(line)
|
20
|
+
if !@list.to_s.index('&')
|
21
|
+
lists.push list.to_s
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
lists.uniq
|
28
|
+
end
|
29
|
+
|
30
|
+
def parse_lists(lists)
|
31
|
+
matched_lists = []
|
32
|
+
|
33
|
+
lists.each do |list|
|
34
|
+
begin
|
35
|
+
open(list) do |res|
|
36
|
+
res.each_line do |line|
|
37
|
+
if /#{ARGV[0]}/.match(line)
|
38
|
+
matched_lists.push list
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
rescue
|
43
|
+
# do nothing for lists that can't be opened
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
matched_lists.uniq
|
48
|
+
end
|
49
|
+
|
50
|
+
def execute_and_report(config)
|
51
|
+
Notify.info("Checking if #{config[:service]} is on any adblock lists\nThis may take a few minutes...")
|
52
|
+
|
53
|
+
matched_lists = parse_lists(get_lists)
|
54
|
+
|
55
|
+
if matched_lists.size > 0
|
56
|
+
Notify.warning("Found #{config[:service]} on #{matched_lists.size} lists")
|
57
|
+
Notify.warning(matched_lists.join("\n"))
|
58
|
+
else
|
59
|
+
Notify.success("#{config[:service].capitalize} was not found on any lists, rejoice!")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
data/lib/version.rb
ADDED
metadata
ADDED
@@ -0,0 +1,50 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: amiblocked
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Ryan Priebe
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-08-29 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description: Check if your service blocked by adblockers
|
14
|
+
email: hello@ryanpriebe.com
|
15
|
+
executables:
|
16
|
+
- amiblocked
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- Gemfile
|
21
|
+
- README.md
|
22
|
+
- amiblocked.gemspec
|
23
|
+
- bin/amiblocked
|
24
|
+
- lib/amiblocked.rb
|
25
|
+
- lib/version.rb
|
26
|
+
homepage: http://rubygems.org/gems/amiblocked
|
27
|
+
licenses:
|
28
|
+
- MIT
|
29
|
+
metadata: {}
|
30
|
+
post_install_message:
|
31
|
+
rdoc_options: []
|
32
|
+
require_paths:
|
33
|
+
- lib
|
34
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - '>='
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '0'
|
44
|
+
requirements: []
|
45
|
+
rubyforge_project:
|
46
|
+
rubygems_version: 2.0.14
|
47
|
+
signing_key:
|
48
|
+
specification_version: 4
|
49
|
+
summary: Simple Adblock list testing
|
50
|
+
test_files: []
|