ronin-web 0.3.0.rc1 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (148) hide show
  1. checksums.yaml +7 -0
  2. data/.editorconfig +11 -0
  3. data/.github/workflows/ruby.yml +31 -0
  4. data/.gitignore +13 -0
  5. data/.mailmap +1 -0
  6. data/.ruby-version +1 -0
  7. data/COPYING.txt +3 -3
  8. data/ChangeLog.md +115 -70
  9. data/Gemfile +42 -37
  10. data/README.md +159 -145
  11. data/Rakefile +12 -3
  12. data/bin/ronin-web +9 -17
  13. data/data/new/nokogiri.rb.erb +12 -0
  14. data/data/new/server.rb.erb +22 -0
  15. data/data/new/spider.rb.erb +26 -0
  16. data/data/new/webapp/.gitignore +15 -0
  17. data/data/new/webapp/.ruby-version.erb +1 -0
  18. data/data/new/webapp/Dockerfile.erb +11 -0
  19. data/data/new/webapp/Gemfile +6 -0
  20. data/data/new/webapp/app.rb.erb +15 -0
  21. data/data/new/webapp/config.ru +4 -0
  22. data/data/new/webapp/docker-compose.yml.erb +9 -0
  23. data/gemspec.yml +32 -14
  24. data/lib/ronin/web/cli/command.rb +36 -0
  25. data/lib/ronin/web/cli/commands/diff.rb +106 -0
  26. data/lib/ronin/web/cli/commands/html.rb +174 -0
  27. data/lib/ronin/web/cli/commands/irb.rb +56 -0
  28. data/lib/ronin/web/cli/commands/new/nokogiri.rb +85 -0
  29. data/lib/ronin/web/cli/commands/new/server.rb +96 -0
  30. data/lib/ronin/web/cli/commands/new/spider.rb +315 -0
  31. data/lib/ronin/web/cli/commands/new/webapp.rb +123 -0
  32. data/lib/ronin/web/cli/commands/new.rb +64 -0
  33. data/lib/ronin/web/cli/commands/reverse_proxy.rb +215 -0
  34. data/lib/ronin/web/cli/commands/server.rb +155 -0
  35. data/lib/ronin/web/cli/commands/spider.rb +822 -0
  36. data/lib/ronin/web/cli/ruby_shell.rb +50 -0
  37. data/lib/ronin/web/cli.rb +44 -0
  38. data/lib/ronin/web/html.rb +85 -0
  39. data/lib/ronin/web/mechanize.rb +34 -36
  40. data/lib/ronin/web/root.rb +27 -0
  41. data/lib/ronin/web/version.rb +7 -10
  42. data/lib/ronin/web/xml.rb +85 -0
  43. data/lib/ronin/web.rb +372 -13
  44. data/man/ronin-web-diff.1 +41 -0
  45. data/man/ronin-web-diff.1.md +30 -0
  46. data/man/ronin-web-html.1 +89 -0
  47. data/man/ronin-web-html.1.md +66 -0
  48. data/man/ronin-web-irb.1 +31 -0
  49. data/man/ronin-web-irb.1.md +22 -0
  50. data/man/ronin-web-new-nokogiri.1 +41 -0
  51. data/man/ronin-web-new-nokogiri.1.md +30 -0
  52. data/man/ronin-web-new-server.1 +45 -0
  53. data/man/ronin-web-new-server.1.md +33 -0
  54. data/man/ronin-web-new-spider.1 +173 -0
  55. data/man/ronin-web-new-spider.1.md +129 -0
  56. data/man/ronin-web-new-webapp.1 +53 -0
  57. data/man/ronin-web-new-webapp.1.md +39 -0
  58. data/man/ronin-web-new.1 +59 -0
  59. data/man/ronin-web-new.1.md +44 -0
  60. data/man/ronin-web-reverse-proxy.1 +63 -0
  61. data/man/ronin-web-reverse-proxy.1.md +47 -0
  62. data/man/ronin-web-server.1 +59 -0
  63. data/man/ronin-web-server.1.md +43 -0
  64. data/man/ronin-web-spider.1 +225 -0
  65. data/man/ronin-web-spider.1.md +168 -0
  66. data/man/ronin-web.1 +41 -0
  67. data/man/ronin-web.1.md +30 -0
  68. data/ronin-web.gemspec +39 -109
  69. data/spec/cli/ruby_shell_spec.rb +14 -0
  70. data/spec/html_spec.rb +43 -0
  71. data/spec/mechanize_spec.rb +72 -0
  72. data/spec/spec_helper.rb +5 -3
  73. data/spec/web_spec.rb +97 -0
  74. data/spec/xml_spec.rb +42 -0
  75. metadata +236 -224
  76. data/.gemtest +0 -0
  77. data/data/ronin/web/user_agents.yml +0 -247
  78. data/lib/ronin/network/mixins/web.rb +0 -258
  79. data/lib/ronin/web/config.rb +0 -34
  80. data/lib/ronin/web/extensions/nokogiri/xml/attr.rb +0 -47
  81. data/lib/ronin/web/extensions/nokogiri/xml/document.rb +0 -48
  82. data/lib/ronin/web/extensions/nokogiri/xml/element.rb +0 -57
  83. data/lib/ronin/web/extensions/nokogiri/xml/node.rb +0 -86
  84. data/lib/ronin/web/extensions/nokogiri/xml/text.rb +0 -47
  85. data/lib/ronin/web/extensions/nokogiri/xml.rb +0 -27
  86. data/lib/ronin/web/extensions/nokogiri.rb +0 -23
  87. data/lib/ronin/web/extensions.rb +0 -23
  88. data/lib/ronin/web/middleware/base.rb +0 -144
  89. data/lib/ronin/web/middleware/directories.rb +0 -179
  90. data/lib/ronin/web/middleware/files.rb +0 -144
  91. data/lib/ronin/web/middleware/filters/campaign_filter.rb +0 -77
  92. data/lib/ronin/web/middleware/filters/ip_filter.rb +0 -73
  93. data/lib/ronin/web/middleware/filters/path_filter.rb +0 -73
  94. data/lib/ronin/web/middleware/filters/referer_filter.rb +0 -71
  95. data/lib/ronin/web/middleware/filters/user_agent_filter.rb +0 -71
  96. data/lib/ronin/web/middleware/filters/vhost_filter.rb +0 -71
  97. data/lib/ronin/web/middleware/filters.rb +0 -28
  98. data/lib/ronin/web/middleware/helpers.rb +0 -145
  99. data/lib/ronin/web/middleware/proxy.rb +0 -265
  100. data/lib/ronin/web/middleware/proxy_request.rb +0 -262
  101. data/lib/ronin/web/middleware/request.rb +0 -79
  102. data/lib/ronin/web/middleware/response.rb +0 -33
  103. data/lib/ronin/web/middleware/router.rb +0 -167
  104. data/lib/ronin/web/middleware/rule.rb +0 -103
  105. data/lib/ronin/web/middleware.rb +0 -27
  106. data/lib/ronin/web/proxy/app.rb +0 -32
  107. data/lib/ronin/web/proxy/base.rb +0 -46
  108. data/lib/ronin/web/proxy/web.rb +0 -46
  109. data/lib/ronin/web/proxy.rb +0 -25
  110. data/lib/ronin/web/server/app.rb +0 -32
  111. data/lib/ronin/web/server/base.rb +0 -461
  112. data/lib/ronin/web/server/web.rb +0 -66
  113. data/lib/ronin/web/server.rb +0 -25
  114. data/lib/ronin/web/spider.rb +0 -120
  115. data/lib/ronin/web/user_agents.rb +0 -196
  116. data/lib/ronin/web/web.rb +0 -560
  117. data/spec/helpers/output.rb +0 -3
  118. data/spec/web/extensions/nokogiri_spec.rb +0 -38
  119. data/spec/web/helpers/rack_app.rb +0 -24
  120. data/spec/web/helpers/root/test1/index.html +0 -1
  121. data/spec/web/helpers/root/test1/test1.txt +0 -1
  122. data/spec/web/helpers/root/test1.txt +0 -1
  123. data/spec/web/helpers/root/test2/test2.txt +0 -1
  124. data/spec/web/helpers/root/test2.txt +0 -1
  125. data/spec/web/helpers/root/test3/test3.txt +0 -1
  126. data/spec/web/helpers/root/test3.txt +0 -1
  127. data/spec/web/helpers/root.rb +0 -15
  128. data/spec/web/mechanize_spec.rb +0 -62
  129. data/spec/web/middleware/directories_spec.rb +0 -86
  130. data/spec/web/middleware/files_spec.rb +0 -57
  131. data/spec/web/middleware/filters/campaign_filter_spec.rb +0 -30
  132. data/spec/web/middleware/filters/ip_filter_spec.rb +0 -25
  133. data/spec/web/middleware/filters/path_filter_spec.rb +0 -29
  134. data/spec/web/middleware/filters/referer_filter_spec.rb +0 -25
  135. data/spec/web/middleware/filters/user_agent_filter_spec.rb +0 -25
  136. data/spec/web/middleware/filters/vhost_filter_spec.rb +0 -23
  137. data/spec/web/middleware/proxy_spec.rb +0 -67
  138. data/spec/web/middleware/response_spec.rb +0 -20
  139. data/spec/web/middleware/router_spec.rb +0 -65
  140. data/spec/web/middleware/rule_spec.rb +0 -37
  141. data/spec/web/proxy/base_spec.rb +0 -8
  142. data/spec/web/server/base_spec.rb +0 -77
  143. data/spec/web/server/classes/public1/static1.txt +0 -1
  144. data/spec/web/server/classes/public2/static2.txt +0 -1
  145. data/spec/web/server/classes/sub_app.rb +0 -13
  146. data/spec/web/server/classes/test_app.rb +0 -20
  147. data/spec/web/user_agents_spec.rb +0 -56
  148. data/spec/web/web_spec.rb +0 -101
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 2a91db6a2aad829cf40f611b9ab3991f94271787f547cdc67e4975a41df917cb
4
+ data.tar.gz: 3dab913f02dd5c3e6770ef722acd43ab7dbf0ec3cd3df3587043effd9c815f33
5
+ SHA512:
6
+ metadata.gz: b389c9fd229fc6433964e0cdb7f758e62290e8f9bcc8a56760cafa0875db56ec0c9d6561d6e3fc3283c869051fc80508df161bd060721bd5f5c928fd6c835931
7
+ data.tar.gz: ca1f736604f356b96b3bda61db85e29656fd1fafd67741593f8c968771a85d0e617b564fa493eee7ec8a74ce2b43fe662bfd22647bfc162dcb18c0d304635179
data/.editorconfig ADDED
@@ -0,0 +1,11 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+ tab_width = 8
7
+ trim_trailing_whitespace = true
8
+
9
+ [{Gemfile,Rakefile,*.rb,*.gemspec,*.yml}]
10
+ indent_style = space
11
+ indent_size = 2
@@ -0,0 +1,31 @@
1
+ name: CI
2
+
3
+ on: [ push, pull_request ]
4
+
5
+ jobs:
6
+ tests:
7
+ runs-on: ubuntu-latest
8
+ strategy:
9
+ fail-fast: false
10
+ matrix:
11
+ ruby:
12
+ - '3.0'
13
+ - '3.1'
14
+ - '3.2'
15
+ # - jruby
16
+ - truffleruby
17
+ name: Ruby ${{ matrix.ruby }}
18
+ steps:
19
+ - uses: actions/checkout@v2
20
+ - name: Set up Ruby
21
+ uses: ruby/setup-ruby@v1
22
+ with:
23
+ ruby-version: ${{ matrix.ruby }}
24
+ - name: Install libsqlite3
25
+ run: |
26
+ sudo apt update -y && \
27
+ sudo apt install -y --no-install-recommends --no-install-suggests libsqlite3-dev libxml2-dev libxslt1-dev
28
+ - name: Install dependencies
29
+ run: bundle install --jobs 4 --retry 3
30
+ - name: Run tests
31
+ run: bundle exec rake test
data/.gitignore ADDED
@@ -0,0 +1,13 @@
1
+ /coverage
2
+ /doc
3
+ /pkg
4
+ /man/*.[1-9]
5
+ /vendor/bundle
6
+ /Gemfile.lock
7
+ /.yardoc
8
+ .bundle
9
+ .DS_Store
10
+ *.db
11
+ *.log
12
+ *.swp
13
+ *~
data/.mailmap ADDED
@@ -0,0 +1 @@
1
+ Postmodern <postmodern.mod3@gmail.com> postmodern <postmodern.mod3@gmail.com>
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-3.1
data/COPYING.txt CHANGED
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
645
645
  GNU General Public License for more details.
646
646
 
647
647
  You should have received a copy of the GNU General Public License
648
- along with this program. If not, see <http://www.gnu.org/licenses/>.
648
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
649
649
 
650
650
  Also add information on how to contact you by electronic and paper mail.
651
651
 
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
664
664
  You should also get your employer (if you work as a programmer) or school,
665
665
  if any, to sign a "copyright disclaimer" for the program, if necessary.
666
666
  For more information on this, and how to apply and follow the GNU GPL, see
667
- <http://www.gnu.org/licenses/>.
667
+ <https://www.gnu.org/licenses/>.
668
668
 
669
669
  The GNU General Public License does not permit incorporating your program
670
670
  into proprietary programs. If your program is a subroutine library, you
671
671
  may consider it more useful to permit linking proprietary applications with
672
672
  the library. If this is what you want to do, use the GNU Lesser General
673
673
  Public License instead of this License. But first, please read
674
- <http://www.gnu.org/philosophy/why-not-lgpl.html>.
674
+ <https://www.gnu.org/philosophy/why-not-lgpl.html>.
data/ChangeLog.md CHANGED
@@ -1,37 +1,68 @@
1
- ### 0.3.0 / 2011-05-27
1
+ ### 1.0.0 / 2023-XX-XX
2
+
3
+ * Added [nokogiri-ext] ~> 0.1 as a dependency.
4
+ * Added [nokogiri-diff] ~> 0.1 as a dependency.
5
+ * Added [ronin-web-server] ~> 0.1 as a dependency.
6
+ * Added [ronin-web-spider] ~> 0.1 as a dependency.
7
+ * Added [ronin-web-user_agents] ~> 0.1 as a dependency.
8
+ * Added [ronin-core] ~> 0.1 as a dependency.
9
+ * Extracted `nokogiri` core-exts into [nokogiri-ext].
10
+ * Extracted `Ronin::Web::Server` out into [ronin-web-server].
11
+ * Extracted `Ronin::Web::Proxy` as `Ronin::Web::Server::ReverseProxy`
12
+ in [ronin-web-server].
13
+ * Extracted `Ronin::Web::Spider` out into [ronin-web-spider].
14
+ * Extracted `Ronin::Web::UserAgents` out into [ronin-web-user_agents].
15
+ * Added a `ronin-web` CLI:
16
+ * Added the `ronin-web diff` command.
17
+ * Added the `ronin-web html` command.
18
+ * Added the `ronin-web irb` command.
19
+ * Added the `ronin-web new` command.
20
+ * Added the `ronin-web new nokogiri` command.
21
+ * Added the `ronin-web new server` command.
22
+ * Added the `ronin-web new spider` command.
23
+ * Added the `ronin-web new webapp` command.
24
+ * Added the `ronin-web reverse-proxy` command.
25
+ * Added the `ronin-web server` command.
26
+ * Added the `ronin-web spider` command.
27
+ * Added {Ronin::Web::HTML}.
28
+ * Added {Ronin::Web::XML}.
29
+
30
+ [nokogiri-ext]: https://github.com/postmodern/nokogiri-ext#readme
31
+ [nokogiri-diff]: https://github.com/postmodern/nokogiri-diff#readme
32
+ [ronin-web-server]: https://github.com/ronin-rb/ronin-web-server#readme
33
+ [ronin-web-spider]: https://github.com/ronin-rb/ronin-web-spider#readme
34
+ [ronin-web-user_agents]: https://github.com/ronin-rb/ronin-web-user_agents#readme
35
+ [ronin-core]: https://github.com/ronin-rb/ronin-core#readme
36
+
37
+ ### 0.3.0 / 2013-06-18
2
38
 
3
39
  * Upgraded to the GPL-3 license.
4
- * Require nokogiri ~> 1.4.
5
- * Require mechanize ~> 1.0.
6
- * Require spidr ~> 0.2.
7
- * Require rack ~> 1.3.
8
- * Require sinatra ~> 1.2.
9
- * Require data_paths ~> 0.3.
10
- * Require ronin-support ~> 0.2.
11
- * Require ronin ~> 1.1.
12
- * Added {Ronin::Web::UserAgents}.
13
- * Added {Ronin::Web::Mechanize}.
14
- * Added {Ronin::Web::Middleware::Base}.
15
- * Added {Ronin::Web::Middleware::Request}.
16
- * Added {Ronin::Web::Middleware::Response}.
17
- * Added {Ronin::Web::Middleware::Helpers}.
18
- * Added {Ronin::Web::Middleware::Files}.
19
- * Added {Ronin::Web::Middleware::Directories}.
20
- * Added {Ronin::Web::Middleware::Rule}.
21
- * Added {Ronin::Web::Middleware::Filters::CampaignFilter}.
22
- * Added {Ronin::Web::Middleware::Filters::IPFilter}.
23
- * Added {Ronin::Web::Middleware::Filters::PathFilter}.
24
- * Added {Ronin::Web::Middleware::Filters::RefererFilter}.
25
- * Added {Ronin::Web::Middleware::Filters::UserAgentFilter}.
26
- * Added {Ronin::Web::Middleware::Filters::VHostFilter}.
27
- * Added {Ronin::Web::Middleware::Router}.
28
- * Added {Ronin::Web::Middleware::Proxy}.
29
- * Renamed `Ronin::Helpers::Web` to {Ronin::Network::Mixins::Web}.
30
- * Renamed `Ronin::Web::Server::Proxy` to {Ronin::Web::Proxy}.
31
- * Made {Ronin::Web.agent} persistent.
40
+ * Require [Ruby] >= 1.9.1.
41
+ * Require [nokogiri] ~> 1.4.
42
+ * Require [mechanize] ~> 1.0.
43
+ * Require [spidr] ~> 0.2.
44
+ * Require [rack] ~> 1.3.
45
+ * Require [sinatra] ~> 1.2.
46
+ * Require [data\_paths] ~> 0.3.
47
+ * Require [ronin-support] ~> 0.2.
48
+ * Require [ronin] ~> 1.1.
49
+ * Added `Ronin::Web.proxy=`.
50
+ * Added `Ronin::Web.user_agents`.
51
+ * Added `Ronin::Web::UserAgents`.
52
+ * Refactored `Ronin::Web::Server`:
53
+ * Added `Ronin::Web::Server::Base`.
54
+ * Added `Ronin::Web::Server::Conditions`.
55
+ * Added `Ronin::Web::Server::Helpers#mime_type_for`.
56
+ * Added `Ronin::Web::Server::Helpers#content_type_for`.
57
+ * Added `Ronin::Web::Server::Helpers::ClassMethods#files`.
58
+ * Added `Ronin::Web::Server::Helpers::ClassMethods#directories`.
59
+ * Renamed `Ronin::Helpers::Web` to `Ronin::Network::Mixins::Web`.
60
+ * Renamed `Ronin::Web::Server::Proxy` to `Ronin::Web::Proxy`.
61
+ * Moved `Ronin::Scanners::Web` into [ronin-scanners].
62
+ * Made `Ronin::Web.agent` persistent.
32
63
  * Switched from [Jeweler](https://github.com/technicalpickles/jeweler)
33
- to [Ore](http://github.com/ruby-ore/ore) and [Bundler](http://gembundler.com).
34
- * Opted into [test.rubygems.org](http://test.rubygems.org/).
64
+ [rubygems-tasks](http://github.com/postmodern/rubygems-tasks) and to
65
+ [Bundler](http://gembundler.com).
35
66
 
36
67
  ### 0.2.1 / 2009-10-18
37
68
 
@@ -50,16 +81,17 @@
50
81
  * Require test-unit >= 1.2.3.
51
82
  * Require rack-test >= 0.4.1.
52
83
  * Require yard >= 0.2.3.5.
53
- * Added Ronin::Web::Server::Base.
54
- * Added Ronin::Web::Server::Files.
55
- * Added Ronin::Web::Server::Hosts.
56
- * Added Ronin::Web::Server::Proxy.
57
- * Added Ronin::Web::Server::Helpers.
58
- * Added Ronin::Web::Server::Helpers::Files.
59
- * Added Ronin::Web::Server::Helpers::Hosts.
60
- * Added Ronin::Web::Server::Helpers::Proxy.
61
- * Added Ronin::Web::Server::App.
62
- * Added Ronin::Web.server.
84
+ * Added `Ronin::Web::Server::Base`.
85
+ * Added `Ronin::Web::Server::Files`.
86
+ * Added `Ronin::Web::Server::Hosts`.
87
+ * Added `Ronin::Web::Server::Proxy`.
88
+ * Added `Ronin::Web::Server::Helpers`.
89
+ * Added `Ronin::Web::Server::Helpers::Files`.
90
+ * Added `Ronin::Web::Server::Helpers::Hosts`.
91
+ * Added `Ronin::Web::Server::Helpers::Proxy`.
92
+ * Added `Ronin::Web::Server::App`.
93
+ * Added `Ronin::Web.server`.
94
+ * Removed `Ronin::Web::Fingerprint`.
63
95
  * Renamed Ronin::Sessions::Web to Ronin::Network::Helpers::Web.
64
96
  * Moved to YARD based documentation.
65
97
  * Updated the project summary and 3-point description for Ronin Web.
@@ -69,56 +101,69 @@
69
101
  ### 0.1.3 / 2009-07-02
70
102
 
71
103
  * Use Hoe >= 2.0.0.
72
- * Require spidr >= 0.1.9.
73
- * Require rack >= 1.0.0.
74
- * Require ronin >= 0.2.4.
75
- * Added Ronin::Web::Fingerprint.
76
- * Added Web.build_html.
77
- * Added Web.build_xml.
78
- * Allow Web.html to accept a block.
79
- * Allow Web.xml to accept a block.
80
- * Allow Server#return_file to accept a content_type option.
81
- * Make sure Ronin::Web::Server is thread safe.
104
+ * Require [spidr] >= 0.1.9.
105
+ * Require [rack] >= 1.0.0.
106
+ * Require [ronin] >= 0.2.4.
107
+ * Added `Ronin::Web::Fingerprint`.
108
+ * Added `Ronin::Web.build_html`.
109
+ * Added `Ronin::Web.build_xml`.
110
+ * Allow `Ronin::Web.html` to accept a block.
111
+ * Allow `Ronin::Web.xml` to accept a block.
112
+ * Allow `Ronin::Web::Server#return_file` to accept a content_type option.
113
+ * Make sure `Ronin::Web::Server` is thread safe.
82
114
  * Blocks passed to Server.new will not be instance_evaled.
83
- * Removed Spider#default_options.
84
- * Removed Server.run.
85
- * Removed Server#config.
115
+ * Removed `Ronin::Web::Spider#default_options`.
116
+ * Removed `Ronin::web::Server.run`.
117
+ * Removed `Ronin::Web::Server#config`.
86
118
 
87
119
  ### 0.1.2 / 2009-03-28
88
120
 
89
- * Added Ronin::Web::Proxy.
90
- * Added diagnostic messages to Ronin::Web::Spider.
91
- * Fixed Rack 0.9.1 compatibility bugs in Ronin::Web::Server.
92
- * Server#response now uses Rack::Response.
93
- * Ronin::Web::Server now uses a Rack::Request object instead of the
121
+ * Added `Ronin::Web::Proxy`.
122
+ * Added diagnostic messages to `Ronin::Web::Spider`.
123
+ * Fixed Rack 0.9.1 compatibility bugs in `Ronin::Web::Server`.
124
+ * Server#response now uses `Rack::Response`.
125
+ * `Ronin::Web::Server` now uses a `Rack::Request` object instead of the
94
126
  standard env Hash.
95
- * Updated specs for Ronin::Web::Server.
127
+ * Updated specs for `Ronin::Web::Server`.
96
128
 
97
129
  ### 0.1.1 / 2009-02-23
98
130
 
99
131
  * Added a git style sub-command (`ronin-web`) which starts the Ronin
100
132
  console with `ronin/web` preloaded.
101
- * Require Nokogiri >= 1.2.0.
102
- * Require Ronin >= 0.2.1.
103
- * Updated Ronin::Web::Server:
133
+ * Require [nokogiri] >= 1.2.0.
134
+ * Require [ronin] >= 0.2.1.
135
+ * Updated `Ronin::Web::Server`:
104
136
  * Properly catch load errors when attempting to load Mongrel.
105
- * Renamed Server#mount to Server#directory.
137
+ * Renamed Server#mount to `Ronin::Web::Server#directory`.
106
138
  * Removed the last reference to Hpricot.
107
- * Fixed a bug when loading the Nokogiri extensions with Nokogiri >= 1.2.0.
139
+ * Fixed a bug when loading the Nokogiri extensions with [nokogiri] >= 1.2.0.
108
140
  * Updated README.txt.
109
141
 
110
142
  ### 0.1.0 / 2009-01-22
111
143
 
112
144
  * Initial release.
113
- * Provides Web.html and Web.xml methods, which use Nokogiri::HTML and
114
- Nokogiri::XML respectively, to parse HTML and XML content.
145
+ * Provides `Ronin::Web.html` and `Ronin::Web.xml` methods, which use
146
+ `Nokogiri::HTML` and `Nokogiri::XML` respectively, to parse HTML and XML
147
+ content.
115
148
  * Supports custom Proxy and User-Agent strings, through
116
149
  the Web.proxy and Web.user_agent methods respectively.
117
- * Provides Web.agent, Web.get and Weg.post methods which access
118
- WWW::Mechanize.
119
- * Integrates Spidr::Agent into Web::Spider.
150
+ * Provides `Ronin::Web.agent`, `Ronin::Web.get` and `Ronin::Web.post` methods
151
+ which access [WWW::Mechanize][mechanize].
152
+ * Integrates [Spidr::Agent][spidr] into [Ronin::Web::Spider].
120
153
  * Provides Web::Server, a customizable Rack web server that supports path
121
154
  and host-name routing.
122
155
  * Web::Server will use Mongrel, only if Mongrel is installed, otherwise
123
156
  WEBrick will be used.
124
157
 
158
+ [Ruby]: http://www.ruby-lang.org
159
+ [nokogiri]: https://github.com/tenderlove/nokogiri
160
+ [libxml2]: http://xmlsoft.org/
161
+ [libxslt]: http://xmlsoft.org/XSLT/
162
+ [mechanize]: https://github.com/tenderlove/mechanize
163
+ [spidr]: https://github.com/postmodern/spidr
164
+ [rack]: https://github.com/rack/rack
165
+ [sinatra]: https://github.com/sinatra/sinatra
166
+ [data_paths]: https://github.com/postmodern/data_paths
167
+ [ronin-support]: https://github.com/ronin-rb/ronin-support
168
+ [ronin]: https://github.com/ronin-rb/ronin
169
+ [ronin-scanners]: https://github.com/ronin-rb/ronin-scanners
data/Gemfile CHANGED
@@ -1,49 +1,54 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- DM_URI = 'http://github.com/datamapper'
4
- DM_VERSION = '~> 1.1.0'
5
- RONIN_URI = 'http://github.com/ronin-ruby'
6
-
7
3
  gemspec
8
4
 
9
- # gem 'rack', '~> 1.2', :git => 'http://github.com/rack/rack.git'
10
- # gem 'sinatra', '~> 1.2', :git => 'http://github.com/sinatra/sinatra.git'
11
-
12
- # Ronin dependencies
13
- # gem 'ronin-support', '~> 0.2', :git => "#{RONIN_URI}/ronin-support.git"
14
- # gem 'ronin', '~> 1.1', :git => "#{RONIN_URI}/ronin.git"
5
+ if RUBY_VERSION >= '3.0'
6
+ # XXX: dep in webrick for mechanize for Ruby 3.0
7
+ gem 'webrick', platform: :ruby
8
+ end
15
9
 
16
- group :test do
17
- gem 'rack', '~> 1.2', :git => 'http://github.com/rack/rack.git'
18
- gem 'rack-test', '~> 0.6.0'
10
+ platforms :jruby do
11
+ gem 'jruby-openssl', '~> 0.7'
19
12
  end
20
13
 
14
+ # gem 'nokogiri-ext', '~> 0.1', github: 'postmodern/nokogiri-ext',
15
+ # branch: 'main'
16
+ # gem 'rack', '~> 1.2', github: 'rack/rack'
17
+ # gem 'sinatra', '~> 1.2', github: 'sinatra/sinatra'
18
+
19
+ # gem 'command_kit', '~> 0.4', github: 'postmodern/command_kit.rb',
20
+ # branch: '0.4.0'
21
+
22
+ # gem 'spidr', '~> 0.7', github: 'postmodern/spidr'
23
+
24
+ # Ronin dependencies
25
+ # gem 'ronin-support', '~> 1.0', github: "ronin-rb/ronin-support",
26
+ # branch: 'main'
27
+ # gem 'ronin-web-server', '~> 0.1', github: "ronin-rb/ronin-web-server",
28
+ # branch: 'main'
29
+ # gem 'ronin-web-spider', '~> 0.1', github: "ronin-rb/ronin-web-spider",
30
+ # branch: 'main'
31
+ # gem 'ronin-web-user_agents', '~> 0.1', github: "ronin-rb/ronin-web-user_agents",
32
+ # branch: 'main'
33
+ # gem 'ronin-core', '~> 0.1', github: "ronin-rb/ronin-core",
34
+ # branch: 'main'
35
+
21
36
  group :development do
22
- gem 'rake', '~> 0.8'
37
+ gem 'rake'
38
+ gem 'rubygems-tasks', '~> 0.1'
23
39
 
24
- gem 'ore-tasks', '~> 0.4'
25
- gem 'rspec', '~> 2.4'
40
+ gem 'rspec', '~> 3.0'
41
+ gem 'simplecov', '~> 0.20'
42
+ gem 'rack-test', '~> 0.6'
26
43
 
27
- gem 'kramdown', '~> 0.12'
28
- end
44
+ gem 'kramdown', '~> 2.0'
45
+ gem 'redcarpet', platform: :mri
46
+ gem 'yard', '~> 0.9'
47
+ gem 'yard-spellcheck', require: false
48
+
49
+ gem 'kramdown-man', '~> 0.1'
29
50
 
30
- #
31
- # To enable additional DataMapper adapters for development work or for
32
- # testing purposes, simple set the ADAPTER or ADAPTERS environment
33
- # variable:
34
- #
35
- # export ADAPTER="postgres"
36
- # bundle install
37
- #
38
- # ./bin/ronin --database postgres://ronin@localhost/ronin
39
- #
40
- require 'set'
41
-
42
- DM_ADAPTERS = Set['postgres', 'mysql', 'oracle', 'sqlserver']
43
-
44
- adapters = (ENV['ADAPTER'] || ENV['ADAPTERS']).to_s
45
- adapters = Set.new(adapters.to_s.tr(',',' ').split)
46
-
47
- (DM_ADAPTERS & adapters).each do |adapter|
48
- gem "dm-#{adapter}-adapter", DM_VERSION #, :git => "#{DM_URI}/dm-#{adapter}-adapter.git"
51
+ gem 'dead_end', require: false
52
+ gem 'sord', require: false
53
+ gem 'stackprof', require: false
49
54
  end