ronin-web 0.3.0.rc1 → 1.0.0.beta1
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/.editorconfig +11 -0
- data/.github/workflows/ruby.yml +31 -0
- data/.gitignore +13 -0
- data/.mailmap +1 -0
- data/.ruby-version +1 -0
- data/COPYING.txt +3 -3
- data/ChangeLog.md +115 -70
- data/Gemfile +42 -37
- data/README.md +159 -145
- data/Rakefile +12 -3
- data/bin/ronin-web +9 -17
- data/data/new/nokogiri.rb.erb +12 -0
- data/data/new/server.rb.erb +22 -0
- data/data/new/spider.rb.erb +26 -0
- data/data/new/webapp/.gitignore +15 -0
- data/data/new/webapp/.ruby-version.erb +1 -0
- data/data/new/webapp/Dockerfile.erb +11 -0
- data/data/new/webapp/Gemfile +6 -0
- data/data/new/webapp/app.rb.erb +15 -0
- data/data/new/webapp/config.ru +4 -0
- data/data/new/webapp/docker-compose.yml.erb +9 -0
- data/gemspec.yml +32 -14
- data/lib/ronin/web/cli/command.rb +36 -0
- data/lib/ronin/web/cli/commands/diff.rb +106 -0
- data/lib/ronin/web/cli/commands/html.rb +174 -0
- data/lib/ronin/web/cli/commands/irb.rb +56 -0
- data/lib/ronin/web/cli/commands/new/nokogiri.rb +85 -0
- data/lib/ronin/web/cli/commands/new/server.rb +96 -0
- data/lib/ronin/web/cli/commands/new/spider.rb +315 -0
- data/lib/ronin/web/cli/commands/new/webapp.rb +123 -0
- data/lib/ronin/web/cli/commands/new.rb +64 -0
- data/lib/ronin/web/cli/commands/reverse_proxy.rb +215 -0
- data/lib/ronin/web/cli/commands/server.rb +155 -0
- data/lib/ronin/web/cli/commands/spider.rb +822 -0
- data/lib/ronin/web/cli/ruby_shell.rb +50 -0
- data/lib/ronin/web/cli.rb +44 -0
- data/lib/ronin/web/html.rb +85 -0
- data/lib/ronin/web/mechanize.rb +34 -36
- data/lib/ronin/web/root.rb +27 -0
- data/lib/ronin/web/version.rb +7 -10
- data/lib/ronin/web/xml.rb +85 -0
- data/lib/ronin/web.rb +372 -13
- data/man/ronin-web-diff.1 +41 -0
- data/man/ronin-web-diff.1.md +30 -0
- data/man/ronin-web-html.1 +89 -0
- data/man/ronin-web-html.1.md +66 -0
- data/man/ronin-web-irb.1 +31 -0
- data/man/ronin-web-irb.1.md +22 -0
- data/man/ronin-web-new-nokogiri.1 +41 -0
- data/man/ronin-web-new-nokogiri.1.md +30 -0
- data/man/ronin-web-new-server.1 +45 -0
- data/man/ronin-web-new-server.1.md +33 -0
- data/man/ronin-web-new-spider.1 +173 -0
- data/man/ronin-web-new-spider.1.md +129 -0
- data/man/ronin-web-new-webapp.1 +53 -0
- data/man/ronin-web-new-webapp.1.md +39 -0
- data/man/ronin-web-new.1 +59 -0
- data/man/ronin-web-new.1.md +44 -0
- data/man/ronin-web-reverse-proxy.1 +63 -0
- data/man/ronin-web-reverse-proxy.1.md +47 -0
- data/man/ronin-web-server.1 +59 -0
- data/man/ronin-web-server.1.md +43 -0
- data/man/ronin-web-spider.1 +225 -0
- data/man/ronin-web-spider.1.md +168 -0
- data/man/ronin-web.1 +41 -0
- data/man/ronin-web.1.md +30 -0
- data/ronin-web.gemspec +39 -109
- data/spec/cli/ruby_shell_spec.rb +14 -0
- data/spec/html_spec.rb +43 -0
- data/spec/mechanize_spec.rb +72 -0
- data/spec/spec_helper.rb +5 -3
- data/spec/web_spec.rb +97 -0
- data/spec/xml_spec.rb +42 -0
- metadata +236 -224
- data/.gemtest +0 -0
- data/data/ronin/web/user_agents.yml +0 -247
- data/lib/ronin/network/mixins/web.rb +0 -258
- data/lib/ronin/web/config.rb +0 -34
- data/lib/ronin/web/extensions/nokogiri/xml/attr.rb +0 -47
- data/lib/ronin/web/extensions/nokogiri/xml/document.rb +0 -48
- data/lib/ronin/web/extensions/nokogiri/xml/element.rb +0 -57
- data/lib/ronin/web/extensions/nokogiri/xml/node.rb +0 -86
- data/lib/ronin/web/extensions/nokogiri/xml/text.rb +0 -47
- data/lib/ronin/web/extensions/nokogiri/xml.rb +0 -27
- data/lib/ronin/web/extensions/nokogiri.rb +0 -23
- data/lib/ronin/web/extensions.rb +0 -23
- data/lib/ronin/web/middleware/base.rb +0 -144
- data/lib/ronin/web/middleware/directories.rb +0 -179
- data/lib/ronin/web/middleware/files.rb +0 -144
- data/lib/ronin/web/middleware/filters/campaign_filter.rb +0 -77
- data/lib/ronin/web/middleware/filters/ip_filter.rb +0 -73
- data/lib/ronin/web/middleware/filters/path_filter.rb +0 -73
- data/lib/ronin/web/middleware/filters/referer_filter.rb +0 -71
- data/lib/ronin/web/middleware/filters/user_agent_filter.rb +0 -71
- data/lib/ronin/web/middleware/filters/vhost_filter.rb +0 -71
- data/lib/ronin/web/middleware/filters.rb +0 -28
- data/lib/ronin/web/middleware/helpers.rb +0 -145
- data/lib/ronin/web/middleware/proxy.rb +0 -265
- data/lib/ronin/web/middleware/proxy_request.rb +0 -262
- data/lib/ronin/web/middleware/request.rb +0 -79
- data/lib/ronin/web/middleware/response.rb +0 -33
- data/lib/ronin/web/middleware/router.rb +0 -167
- data/lib/ronin/web/middleware/rule.rb +0 -103
- data/lib/ronin/web/middleware.rb +0 -27
- data/lib/ronin/web/proxy/app.rb +0 -32
- data/lib/ronin/web/proxy/base.rb +0 -46
- data/lib/ronin/web/proxy/web.rb +0 -46
- data/lib/ronin/web/proxy.rb +0 -25
- data/lib/ronin/web/server/app.rb +0 -32
- data/lib/ronin/web/server/base.rb +0 -461
- data/lib/ronin/web/server/web.rb +0 -66
- data/lib/ronin/web/server.rb +0 -25
- data/lib/ronin/web/spider.rb +0 -120
- data/lib/ronin/web/user_agents.rb +0 -196
- data/lib/ronin/web/web.rb +0 -560
- data/spec/helpers/output.rb +0 -3
- data/spec/web/extensions/nokogiri_spec.rb +0 -38
- data/spec/web/helpers/rack_app.rb +0 -24
- data/spec/web/helpers/root/test1/index.html +0 -1
- data/spec/web/helpers/root/test1/test1.txt +0 -1
- data/spec/web/helpers/root/test1.txt +0 -1
- data/spec/web/helpers/root/test2/test2.txt +0 -1
- data/spec/web/helpers/root/test2.txt +0 -1
- data/spec/web/helpers/root/test3/test3.txt +0 -1
- data/spec/web/helpers/root/test3.txt +0 -1
- data/spec/web/helpers/root.rb +0 -15
- data/spec/web/mechanize_spec.rb +0 -62
- data/spec/web/middleware/directories_spec.rb +0 -86
- data/spec/web/middleware/files_spec.rb +0 -57
- data/spec/web/middleware/filters/campaign_filter_spec.rb +0 -30
- data/spec/web/middleware/filters/ip_filter_spec.rb +0 -25
- data/spec/web/middleware/filters/path_filter_spec.rb +0 -29
- data/spec/web/middleware/filters/referer_filter_spec.rb +0 -25
- data/spec/web/middleware/filters/user_agent_filter_spec.rb +0 -25
- data/spec/web/middleware/filters/vhost_filter_spec.rb +0 -23
- data/spec/web/middleware/proxy_spec.rb +0 -67
- data/spec/web/middleware/response_spec.rb +0 -20
- data/spec/web/middleware/router_spec.rb +0 -65
- data/spec/web/middleware/rule_spec.rb +0 -37
- data/spec/web/proxy/base_spec.rb +0 -8
- data/spec/web/server/base_spec.rb +0 -77
- data/spec/web/server/classes/public1/static1.txt +0 -1
- data/spec/web/server/classes/public2/static2.txt +0 -1
- data/spec/web/server/classes/sub_app.rb +0 -13
- data/spec/web/server/classes/test_app.rb +0 -20
- data/spec/web/user_agents_spec.rb +0 -56
- 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,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
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 <
|
|
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
|
-
<
|
|
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
|
-
<
|
|
674
|
+
<https://www.gnu.org/philosophy/why-not-lgpl.html>.
|
data/ChangeLog.md
CHANGED
|
@@ -1,37 +1,68 @@
|
|
|
1
|
-
### 0.
|
|
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
|
|
5
|
-
* Require
|
|
6
|
-
* Require
|
|
7
|
-
* Require
|
|
8
|
-
* Require
|
|
9
|
-
* Require
|
|
10
|
-
* Require
|
|
11
|
-
* Require ronin ~>
|
|
12
|
-
*
|
|
13
|
-
* Added
|
|
14
|
-
* Added
|
|
15
|
-
* Added
|
|
16
|
-
*
|
|
17
|
-
* Added
|
|
18
|
-
* Added
|
|
19
|
-
* Added
|
|
20
|
-
* Added
|
|
21
|
-
* Added
|
|
22
|
-
* Added
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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
|
-
|
|
34
|
-
|
|
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
|
|
102
|
-
* Require
|
|
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
|
|
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
|
|
114
|
-
Nokogiri::XML respectively, to parse HTML and XML
|
|
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
|
|
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
|
-
|
|
10
|
-
#
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
17
|
-
gem '
|
|
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'
|
|
37
|
+
gem 'rake'
|
|
38
|
+
gem 'rubygems-tasks', '~> 0.1'
|
|
23
39
|
|
|
24
|
-
gem '
|
|
25
|
-
gem '
|
|
40
|
+
gem 'rspec', '~> 3.0'
|
|
41
|
+
gem 'simplecov', '~> 0.20'
|
|
42
|
+
gem 'rack-test', '~> 0.6'
|
|
26
43
|
|
|
27
|
-
gem 'kramdown',
|
|
28
|
-
|
|
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
|
-
|
|
32
|
-
|
|
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
|