ronin-wordlists 0.1.0.rc1

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.
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: []