ronin-wordlists 0.1.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +7 -0
  2. data/.document +4 -0
  3. data/.github/workflows/ruby.yml +43 -0
  4. data/.gitignore +14 -0
  5. data/.rspec +1 -0
  6. data/.rubocop.yml +18 -0
  7. data/.ruby-version +1 -0
  8. data/.yardopts +1 -0
  9. data/COPYING.txt +165 -0
  10. data/ChangeLog.md +10 -0
  11. data/Gemfile +37 -0
  12. data/README.md +180 -0
  13. data/Rakefile +45 -0
  14. data/bin/ronin-wordlists +34 -0
  15. data/data/completions/ronin-wordlists +107 -0
  16. data/data/completions/ronin-wordlists.yml +7 -0
  17. data/data/wordlists.yml +260 -0
  18. data/gemspec.yml +40 -0
  19. data/lib/ronin/wordlists/cache_dir.rb +257 -0
  20. data/lib/ronin/wordlists/cli/command.rb +40 -0
  21. data/lib/ronin/wordlists/cli/commands/completion.rb +61 -0
  22. data/lib/ronin/wordlists/cli/commands/download.rb +109 -0
  23. data/lib/ronin/wordlists/cli/commands/list.rb +79 -0
  24. data/lib/ronin/wordlists/cli/commands/purge.rb +60 -0
  25. data/lib/ronin/wordlists/cli/commands/remove.rb +74 -0
  26. data/lib/ronin/wordlists/cli/commands/search.rb +145 -0
  27. data/lib/ronin/wordlists/cli/commands/update.rb +98 -0
  28. data/lib/ronin/wordlists/cli/wordlist_dir_option.rb +64 -0
  29. data/lib/ronin/wordlists/cli/wordlist_index.rb +178 -0
  30. data/lib/ronin/wordlists/cli/wordlist_option.rb +66 -0
  31. data/lib/ronin/wordlists/cli.rb +56 -0
  32. data/lib/ronin/wordlists/exceptions.rb +47 -0
  33. data/lib/ronin/wordlists/mixin.rb +106 -0
  34. data/lib/ronin/wordlists/root.rb +28 -0
  35. data/lib/ronin/wordlists/search_paths.rb +153 -0
  36. data/lib/ronin/wordlists/version.rb +26 -0
  37. data/lib/ronin/wordlists/wordlist_dir.rb +194 -0
  38. data/lib/ronin/wordlists/wordlist_file.rb +141 -0
  39. data/lib/ronin/wordlists/wordlist_metadata.rb +43 -0
  40. data/lib/ronin/wordlists/wordlist_repo.rb +167 -0
  41. data/lib/ronin/wordlists.rb +96 -0
  42. data/man/ronin-wordlists-completion.1 +76 -0
  43. data/man/ronin-wordlists-completion.1.md +78 -0
  44. data/man/ronin-wordlists-download.1 +47 -0
  45. data/man/ronin-wordlists-download.1.md +48 -0
  46. data/man/ronin-wordlists-list.1 +42 -0
  47. data/man/ronin-wordlists-list.1.md +44 -0
  48. data/man/ronin-wordlists-purge.1 +39 -0
  49. data/man/ronin-wordlists-purge.1.md +39 -0
  50. data/man/ronin-wordlists-remove.1 +43 -0
  51. data/man/ronin-wordlists-remove.1.md +44 -0
  52. data/man/ronin-wordlists-search.1 +37 -0
  53. data/man/ronin-wordlists-search.1.md +37 -0
  54. data/man/ronin-wordlists-update.1 +43 -0
  55. data/man/ronin-wordlists-update.1.md +44 -0
  56. data/man/ronin-wordlists.1 +65 -0
  57. data/man/ronin-wordlists.1.md +64 -0
  58. data/ronin-wordlists.gemspec +62 -0
  59. data/scripts/setup +58 -0
  60. metadata +154 -0
@@ -0,0 +1,64 @@
1
+ # ronin-wordlists 1 "2023-01-01" Ronin Wordlists "User Manuals"
2
+
3
+ ## SYNOPSIS
4
+
5
+ `ronin-wordlists` [*options*] [*COMMAND*]
6
+
7
+ ## DESCRIPTION
8
+
9
+ Command suite that manages wordlists.
10
+
11
+ ## ARGUMENTS
12
+
13
+ *COMMAND*
14
+ : The `ronin-wordlists` command to execute.
15
+
16
+ ## OPTIONS
17
+
18
+ `-h`, `--help`
19
+ : Prints help information.
20
+
21
+ ## COMMANDS
22
+
23
+ `search`
24
+ : Lists wordlists available for download or installation.
25
+
26
+ `completion`
27
+ : Manages the shell completion rules for `ronin-wordlists`.
28
+
29
+ `download`
30
+ : Downloads a wordlist.
31
+
32
+ `list`, `ls`
33
+ : Lists downloaded wordlists.
34
+
35
+ `purge`
36
+ : Deletes all downloaded wordlists.
37
+
38
+ `remove`, `rm`
39
+ : Deletes a downloaded wordlist.
40
+
41
+ `update`, `up`
42
+ : Updates one or all downloaded wordlists.
43
+
44
+ ## FILES
45
+
46
+ `~/.cache/ronin-wordlists`
47
+ : Default installation directory for wordlists.
48
+
49
+ ## ENVIRONMENT
50
+
51
+ *HOME*
52
+ : Specifies the home directory of the user. Ronin will search for the
53
+ `~/.cache/ronin-wordlists` cache directory within the home directory.
54
+
55
+ *XDG_CACHE_HOME*
56
+ : Specifies the cache directory to use. Defaults to `$HOME/.cache`.
57
+
58
+ ## AUTHOR
59
+
60
+ Postmodern <postmodern.mod3@gmail.com>
61
+
62
+ ## SEE ALSO
63
+
64
+ [ronin-wordlists-search](ronin-wordlists-search.1.md) [ronin-wordlists-completion](ronin-wordlists-completion.1.md) [ronin-wordlists-download](ronin-wordlists-download.1.md) [ronin-wordlists-list](ronin-wordlists-list.1.md) [ronin-wordlists-remove](ronin-wordlists-remove.1.md) [ronin-wordlists-update](ronin-wordlists-update.1.md) [ronin-wordlists-purge](ronin-wordlists-purge.1.md)
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ Gem::Specification.new do |gem|
6
+ gemspec = YAML.load_file('gemspec.yml')
7
+
8
+ gem.name = gemspec.fetch('name')
9
+ gem.version = gemspec.fetch('version') do
10
+ lib_dir = File.join(File.dirname(__FILE__),'lib')
11
+ $LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
12
+
13
+ require 'ronin/wordlists/version'
14
+ Ronin::Wordlists::VERSION
15
+ end
16
+
17
+ gem.summary = gemspec['summary']
18
+ gem.description = gemspec['description']
19
+ gem.licenses = Array(gemspec['license'])
20
+ gem.authors = Array(gemspec['authors'])
21
+ gem.email = gemspec['email']
22
+ gem.homepage = gemspec['homepage']
23
+ gem.metadata = gemspec['metadata'] if gemspec['metadata']
24
+
25
+ glob = ->(patterns) { gem.files & Dir[*patterns] }
26
+
27
+ gem.files = `git ls-files`.split($/)
28
+ gem.files = glob[gemspec['files']] if gemspec['files']
29
+ gem.files += Array(gemspec['generated_files'])
30
+ # exclude test files from the packages gem
31
+ gem.files -= glob[gemspec['test_files'] || 'spec/{**/}*']
32
+
33
+ gem.executables = gemspec.fetch('executables') do
34
+ glob['bin/*'].map { |path| File.basename(path) }
35
+ end
36
+
37
+ gem.extensions = glob[gemspec['extensions'] || 'ext/**/extconf.rb']
38
+ gem.extra_rdoc_files = glob[gemspec['extra_doc_files'] || '*.{txt,md}']
39
+
40
+ gem.require_paths = Array(gemspec.fetch('require_paths') {
41
+ %w[ext lib].select { |dir| File.directory?(dir) }
42
+ })
43
+
44
+ gem.requirements = gemspec['requirements']
45
+ gem.required_ruby_version = gemspec['required_ruby_version']
46
+ gem.required_rubygems_version = gemspec['required_rubygems_version']
47
+ gem.post_install_message = gemspec['post_install_message']
48
+
49
+ split = ->(string) { string.split(/,\s*/) }
50
+
51
+ if gemspec['dependencies']
52
+ gemspec['dependencies'].each do |name,versions|
53
+ gem.add_dependency(name,split[versions])
54
+ end
55
+ end
56
+
57
+ if gemspec['development_dependencies']
58
+ gemspec['development_dependencies'].each do |name,versions|
59
+ gem.add_development_dependency(name,split[versions])
60
+ end
61
+ end
62
+ end
data/scripts/setup ADDED
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+
3
+ #
4
+ # Prints a log message.
5
+ #
6
+ function log()
7
+ {
8
+ if [[ -t 1 ]]; then
9
+ echo -e "\x1b[1m\x1b[32m>>>\x1b[0m \x1b[1m$1\x1b[0m"
10
+ else
11
+ echo ">>> $1"
12
+ fi
13
+ }
14
+
15
+ #
16
+ # Prints a warn message.
17
+ #
18
+ function warn()
19
+ {
20
+ if [[ -t 1 ]]; then
21
+ echo -e "\x1b[1m\x1b[33m***\x1b[0m \x1b[1m$1\x1b[0m" >&2
22
+ else
23
+ echo "*** $1" >&2
24
+ fi
25
+ }
26
+
27
+ #
28
+ # Prints an error message.
29
+ #
30
+ function error()
31
+ {
32
+ if [[ -t 1 ]]; then
33
+ echo -e "\x1b[1m\x1b[31m!!!\x1b[0m \x1b[1m$1\x1b[0m" >&2
34
+ else
35
+ echo "!!! $1" >&2
36
+ fi
37
+ }
38
+
39
+ #
40
+ # Prints an error message and exists with -1.
41
+ #
42
+ function fail()
43
+ {
44
+ error "$@"
45
+ exit -1
46
+ }
47
+
48
+ # default to installing gems into vendor/bundle
49
+ if [[ ! -f .bundle/config ]]; then
50
+ bundle config set --local path vendor/bundle >/dev/null || \
51
+ fail "Failed to run 'bundle config'"
52
+ fi
53
+
54
+ log "Installing gems ..."
55
+ bundle install || fail "Failed to run 'bundle install'!"
56
+
57
+ log "Setting up the project ..."
58
+ bundle exec rake setup || "Failed to run 'rake setup'!"
metadata ADDED
@@ -0,0 +1,154 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ronin-wordlists
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.rc1
5
+ platform: ruby
6
+ authors:
7
+ - Postmodern
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-06-23 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: wordlist
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.1'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.1'
27
+ - !ruby/object:Gem::Dependency
28
+ name: ronin-core
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.2.0.rc1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.2.0.rc1
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ description: |
56
+ ronin-wordlists is a library and tool for managing wordlists. ronin-wordlists
57
+ can install and update wordlists, and contains a curated list of popular
58
+ wordlists and their download URLs.
59
+ email: postmodern.mod3@gmail.com
60
+ executables:
61
+ - ronin-wordlists
62
+ extensions: []
63
+ extra_rdoc_files:
64
+ - COPYING.txt
65
+ - ChangeLog.md
66
+ - README.md
67
+ files:
68
+ - ".document"
69
+ - ".github/workflows/ruby.yml"
70
+ - ".gitignore"
71
+ - ".rspec"
72
+ - ".rubocop.yml"
73
+ - ".ruby-version"
74
+ - ".yardopts"
75
+ - COPYING.txt
76
+ - ChangeLog.md
77
+ - Gemfile
78
+ - README.md
79
+ - Rakefile
80
+ - bin/ronin-wordlists
81
+ - data/completions/ronin-wordlists
82
+ - data/completions/ronin-wordlists.yml
83
+ - data/wordlists.yml
84
+ - gemspec.yml
85
+ - lib/ronin/wordlists.rb
86
+ - lib/ronin/wordlists/cache_dir.rb
87
+ - lib/ronin/wordlists/cli.rb
88
+ - lib/ronin/wordlists/cli/command.rb
89
+ - lib/ronin/wordlists/cli/commands/completion.rb
90
+ - lib/ronin/wordlists/cli/commands/download.rb
91
+ - lib/ronin/wordlists/cli/commands/list.rb
92
+ - lib/ronin/wordlists/cli/commands/purge.rb
93
+ - lib/ronin/wordlists/cli/commands/remove.rb
94
+ - lib/ronin/wordlists/cli/commands/search.rb
95
+ - lib/ronin/wordlists/cli/commands/update.rb
96
+ - lib/ronin/wordlists/cli/wordlist_dir_option.rb
97
+ - lib/ronin/wordlists/cli/wordlist_index.rb
98
+ - lib/ronin/wordlists/cli/wordlist_option.rb
99
+ - lib/ronin/wordlists/exceptions.rb
100
+ - lib/ronin/wordlists/mixin.rb
101
+ - lib/ronin/wordlists/root.rb
102
+ - lib/ronin/wordlists/search_paths.rb
103
+ - lib/ronin/wordlists/version.rb
104
+ - lib/ronin/wordlists/wordlist_dir.rb
105
+ - lib/ronin/wordlists/wordlist_file.rb
106
+ - lib/ronin/wordlists/wordlist_metadata.rb
107
+ - lib/ronin/wordlists/wordlist_repo.rb
108
+ - man/ronin-wordlists-completion.1
109
+ - man/ronin-wordlists-completion.1.md
110
+ - man/ronin-wordlists-download.1
111
+ - man/ronin-wordlists-download.1.md
112
+ - man/ronin-wordlists-list.1
113
+ - man/ronin-wordlists-list.1.md
114
+ - man/ronin-wordlists-purge.1
115
+ - man/ronin-wordlists-purge.1.md
116
+ - man/ronin-wordlists-remove.1
117
+ - man/ronin-wordlists-remove.1.md
118
+ - man/ronin-wordlists-search.1
119
+ - man/ronin-wordlists-search.1.md
120
+ - man/ronin-wordlists-update.1
121
+ - man/ronin-wordlists-update.1.md
122
+ - man/ronin-wordlists.1
123
+ - man/ronin-wordlists.1.md
124
+ - ronin-wordlists.gemspec
125
+ - scripts/setup
126
+ homepage: https://ronin-rb.dev/
127
+ licenses:
128
+ - LGPL-3.0
129
+ metadata:
130
+ documentation_uri: https://ronin-rb.dev/docs/ronin-wordlists
131
+ source_code_uri: https://github.com/ronin-rb/ronin-wordlists
132
+ bug_tracker_uri: https://github.com/ronin-rb/ronin-wordlists/issues
133
+ changelog_uri: https://github.com/ronin-rb/ronin-wordlists/blob/main/ChangeLog.md
134
+ rubygems_mfa_required: 'true'
135
+ post_install_message:
136
+ rdoc_options: []
137
+ require_paths:
138
+ - lib
139
+ required_ruby_version: !ruby/object:Gem::Requirement
140
+ requirements:
141
+ - - ">="
142
+ - !ruby/object:Gem::Version
143
+ version: 3.0.0
144
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
+ requirements:
146
+ - - ">="
147
+ - !ruby/object:Gem::Version
148
+ version: '0'
149
+ requirements: []
150
+ rubygems_version: 3.3.27
151
+ signing_key:
152
+ specification_version: 4
153
+ summary: A library and tool for managing wordlists.
154
+ test_files: []