devdnsd 1.7.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.travis-gemfile +14 -0
- data/.travis.yml +4 -4
- data/Gemfile +13 -1
- data/README.md +6 -3
- data/Rakefile +1 -8
- data/bin/devdnsd +15 -13
- data/devdnsd.gemspec +6 -13
- data/doc/DevDNSd/Application.html +1096 -1651
- data/doc/DevDNSd/ApplicationMethods/Server.html +517 -0
- data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +372 -0
- data/doc/DevDNSd/ApplicationMethods/System.html +956 -0
- data/doc/DevDNSd/ApplicationMethods.html +125 -0
- data/doc/DevDNSd/Configuration.html +7 -6
- data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
- data/doc/DevDNSd/Errors.html +3 -3
- data/doc/DevDNSd/Rule.html +1685 -218
- data/doc/DevDNSd/Version.html +5 -5
- data/doc/DevDNSd.html +6 -6
- data/doc/_index.html +43 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +47 -40
- data/doc/frames.html +1 -1
- data/doc/index.html +47 -40
- data/doc/method_list.html +69 -45
- data/doc/top-level-namespace.html +3 -3
- data/lib/devdnsd/application.rb +382 -290
- data/lib/devdnsd/configuration.rb +9 -9
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/rule.rb +84 -48
- data/lib/devdnsd/version.rb +3 -3
- data/lib/devdnsd.rb +5 -2
- data/locales/en.yml +48 -0
- data/locales/it.yml +48 -0
- data/spec/coverage_helper.rb +6 -9
- data/spec/devdnsd/application_spec.rb +62 -42
- data/spec/devdnsd/configuration_spec.rb +1 -1
- data/spec/devdnsd/rule_spec.rb +7 -7
- data/spec/spec_helper.rb +1 -2
- data/utils/tester.rb +13 -27
- metadata +17 -142
- data/Gemfile.lock +0 -101
data/doc/DevDNSd/Version.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: DevDNSd::Version
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -119,7 +119,7 @@
|
|
119
119
|
|
120
120
|
</div>
|
121
121
|
</dt>
|
122
|
-
<dd><pre class="code"><span class='int'>
|
122
|
+
<dd><pre class="code"><span class='int'>2</span></pre></dd>
|
123
123
|
|
124
124
|
<dt id="MINOR-constant" class="">MINOR =
|
125
125
|
<div class="docstring">
|
@@ -134,7 +134,7 @@
|
|
134
134
|
|
135
135
|
</div>
|
136
136
|
</dt>
|
137
|
-
<dd><pre class="code"><span class='int'>
|
137
|
+
<dd><pre class="code"><span class='int'>0</span></pre></dd>
|
138
138
|
|
139
139
|
<dt id="PATCH-constant" class="">PATCH =
|
140
140
|
<div class="docstring">
|
@@ -180,9 +180,9 @@
|
|
180
180
|
</div>
|
181
181
|
|
182
182
|
<div id="footer">
|
183
|
-
Generated on
|
183
|
+
Generated on Sun Feb 10 13:20:32 2013 by
|
184
184
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
185
|
-
0.8.
|
185
|
+
0.8.4.1 (ruby-1.9.3).
|
186
186
|
</div>
|
187
187
|
|
188
188
|
</body>
|
data/doc/DevDNSd.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Module: DevDNSd
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -88,8 +88,8 @@
|
|
88
88
|
|
89
89
|
<h2>Overview</h2><div class="docstring">
|
90
90
|
<div class="discussion">
|
91
|
-
<p>This file is part of the devdnsd gem. Copyright (C)
|
92
|
-
Licensed under the MIT license, which can be found at
|
91
|
+
<p>This file is part of the devdnsd gem. Copyright (C) 2013 and above Shogun <shogun_panda@me.com>.
|
92
|
+
Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.</p>
|
93
93
|
|
94
94
|
|
95
95
|
</div>
|
@@ -101,7 +101,7 @@ Licensed under the MIT license, which can be found at <a href="http://www.openso
|
|
101
101
|
<p class="children">
|
102
102
|
|
103
103
|
|
104
|
-
<strong class="modules">Modules:</strong> <span class='object_link'><a href="DevDNSd/Errors.html" title="DevDNSd::Errors (module)">Errors</a></span>, <span class='object_link'><a href="DevDNSd/Version.html" title="DevDNSd::Version (module)">Version</a></span>
|
104
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="DevDNSd/ApplicationMethods.html" title="DevDNSd::ApplicationMethods (module)">ApplicationMethods</a></span>, <span class='object_link'><a href="DevDNSd/Errors.html" title="DevDNSd::Errors (module)">Errors</a></span>, <span class='object_link'><a href="DevDNSd/Version.html" title="DevDNSd::Version (module)">Version</a></span>
|
105
105
|
|
106
106
|
|
107
107
|
|
@@ -121,9 +121,9 @@ Licensed under the MIT license, which can be found at <a href="http://www.openso
|
|
121
121
|
</div>
|
122
122
|
|
123
123
|
<div id="footer">
|
124
|
-
Generated on
|
124
|
+
Generated on Sun Feb 10 13:20:32 2013 by
|
125
125
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
126
|
-
0.8.
|
126
|
+
0.8.4.1 (ruby-1.9.3).
|
127
127
|
</div>
|
128
128
|
|
129
129
|
</body>
|
data/doc/_index.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
6
|
<title>
|
7
|
-
Documentation by YARD 0.8.
|
7
|
+
Documentation by YARD 0.8.4.1
|
8
8
|
|
9
9
|
</title>
|
10
10
|
|
@@ -56,7 +56,7 @@
|
|
56
56
|
|
57
57
|
<iframe id="search_frame"></iframe>
|
58
58
|
|
59
|
-
<div id="content"><h1 class="noborder title">Documentation by YARD 0.8.
|
59
|
+
<div id="content"><h1 class="noborder title">Documentation by YARD 0.8.4.1</h1>
|
60
60
|
<div id="listing">
|
61
61
|
<h1 class="alphaindex">Alphabetic Index</h1>
|
62
62
|
|
@@ -91,6 +91,13 @@
|
|
91
91
|
|
92
92
|
</li>
|
93
93
|
|
94
|
+
<li>
|
95
|
+
<span class='object_link'><a href="DevDNSd/ApplicationMethods.html" title="DevDNSd::ApplicationMethods (module)">ApplicationMethods</a></span>
|
96
|
+
|
97
|
+
<small>(DevDNSd)</small>
|
98
|
+
|
99
|
+
</li>
|
100
|
+
|
94
101
|
</ul>
|
95
102
|
</ul>
|
96
103
|
|
@@ -99,6 +106,13 @@
|
|
99
106
|
<li class="letter">C</li>
|
100
107
|
<ul>
|
101
108
|
|
109
|
+
<li>
|
110
|
+
<span class='object_link'><a href="DevDNSd/ApplicationMethods/System/ClassMethods.html" title="DevDNSd::ApplicationMethods::System::ClassMethods (module)">ClassMethods</a></span>
|
111
|
+
|
112
|
+
<small>(DevDNSd::ApplicationMethods::System)</small>
|
113
|
+
|
114
|
+
</li>
|
115
|
+
|
102
116
|
<li>
|
103
117
|
<span class='object_link'><a href="DevDNSd/Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span>
|
104
118
|
|
@@ -168,6 +182,31 @@
|
|
168
182
|
</ul>
|
169
183
|
|
170
184
|
|
185
|
+
<ul id="alpha_S" class="alpha">
|
186
|
+
<li class="letter">S</li>
|
187
|
+
<ul>
|
188
|
+
|
189
|
+
<li>
|
190
|
+
<span class='object_link'><a href="DevDNSd/ApplicationMethods/Server.html" title="DevDNSd::ApplicationMethods::Server (module)">Server</a></span>
|
191
|
+
|
192
|
+
<small>(DevDNSd::ApplicationMethods)</small>
|
193
|
+
|
194
|
+
</li>
|
195
|
+
|
196
|
+
<li>
|
197
|
+
<span class='object_link'><a href="DevDNSd/ApplicationMethods/System.html" title="DevDNSd::ApplicationMethods::System (module)">System</a></span>
|
198
|
+
|
199
|
+
<small>(DevDNSd::ApplicationMethods)</small>
|
200
|
+
|
201
|
+
</li>
|
202
|
+
|
203
|
+
</ul>
|
204
|
+
</ul>
|
205
|
+
|
206
|
+
|
207
|
+
</td><td valign='top' width="33%">
|
208
|
+
|
209
|
+
|
171
210
|
<ul id="alpha_V" class="alpha">
|
172
211
|
<li class="letter">V</li>
|
173
212
|
<ul>
|
@@ -191,9 +230,9 @@
|
|
191
230
|
</div>
|
192
231
|
|
193
232
|
<div id="footer">
|
194
|
-
Generated on
|
233
|
+
Generated on Sun Feb 10 13:20:32 2013 by
|
195
234
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
196
|
-
0.8.
|
235
|
+
0.8.4.1 (ruby-1.9.3).
|
197
236
|
</div>
|
198
237
|
|
199
238
|
</body>
|
data/doc/class_list.html
CHANGED
@@ -45,7 +45,7 @@
|
|
45
45
|
|
46
46
|
<ul id="full_list" class="class">
|
47
47
|
<li><span class='object_link'><a href="top-level-namespace.html" title=" (root)">Top Level Namespace</a></span></li>
|
48
|
-
<li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd.html" title="DevDNSd (module)">DevDNSd</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="DevDNSd/Application.html" title="DevDNSd::Application (class)">Application</a></span> < Base<small class='search_info'>DevDNSd</small></li><li><span class='object_link'><a href="DevDNSd/Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span> < Configuration<small class='search_info'>DevDNSd</small></li><li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd/Errors.html" title="DevDNSd::Errors (module)">Errors</a></span><small class='search_info'>DevDNSd</small></li><ul><li><span class='object_link'><a href="DevDNSd/Errors/InvalidRule.html" title="DevDNSd::Errors::InvalidRule (class)">InvalidRule</a></span> < ArgumentError<small class='search_info'>DevDNSd::Errors</small></li></ul><li><span class='object_link'><a href="DevDNSd/Rule.html" title="DevDNSd::Rule (class)">Rule</a></span> < Object<small class='search_info'>DevDNSd</small></li><li><span class='object_link'><a href="DevDNSd/Version.html" title="DevDNSd::Version (module)">Version</a></span><small class='search_info'>DevDNSd</small></li></ul>
|
48
|
+
<li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd.html" title="DevDNSd (module)">DevDNSd</a></span><small class='search_info'>Top Level Namespace</small></li><ul><li><span class='object_link'><a href="DevDNSd/Application.html" title="DevDNSd::Application (class)">Application</a></span> < Base<small class='search_info'>DevDNSd</small></li><li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd/ApplicationMethods.html" title="DevDNSd::ApplicationMethods (module)">ApplicationMethods</a></span><small class='search_info'>DevDNSd</small></li><ul><li><span class='object_link'><a href="DevDNSd/ApplicationMethods/Server.html" title="DevDNSd::ApplicationMethods::Server (module)">Server</a></span><small class='search_info'>DevDNSd::ApplicationMethods</small></li><li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd/ApplicationMethods/System.html" title="DevDNSd::ApplicationMethods::System (module)">System</a></span><small class='search_info'>DevDNSd::ApplicationMethods</small></li><ul><li><span class='object_link'><a href="DevDNSd/ApplicationMethods/System/ClassMethods.html" title="DevDNSd::ApplicationMethods::System::ClassMethods (module)">ClassMethods</a></span><small class='search_info'>DevDNSd::ApplicationMethods::System</small></li></ul></ul><li><span class='object_link'><a href="DevDNSd/Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span> < Configuration<small class='search_info'>DevDNSd</small></li><li><a class='toggle'></a> <span class='object_link'><a href="DevDNSd/Errors.html" title="DevDNSd::Errors (module)">Errors</a></span><small class='search_info'>DevDNSd</small></li><ul><li><span class='object_link'><a href="DevDNSd/Errors/InvalidRule.html" title="DevDNSd::Errors::InvalidRule (class)">InvalidRule</a></span> < ArgumentError<small class='search_info'>DevDNSd::Errors</small></li></ul><li><span class='object_link'><a href="DevDNSd/Rule.html" title="DevDNSd::Rule (class)">Rule</a></span> < Object<small class='search_info'>DevDNSd</small></li><li><span class='object_link'><a href="DevDNSd/Version.html" title="DevDNSd::Version (module)">Version</a></span><small class='search_info'>DevDNSd</small></li></ul>
|
49
49
|
|
50
50
|
</ul>
|
51
51
|
</div>
|
data/doc/file.README.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -61,57 +61,63 @@
|
|
61
61
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
|
-
<div id="content"><div id='filecontents'><h1>devdnsd</h1>
|
64
|
+
<div id="content"><div id='filecontents'><h1 id="devdnsd">devdnsd</h1>
|
65
65
|
|
66
|
-
<p><a href="http://travis-ci.org/ShogunPanda/devdnsd"><img src="https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master" alt="Build Status"
|
67
|
-
<a href="https://gemnasium.com/ShogunPanda/devdnsd"><img src="https://gemnasium.com/ShogunPanda/devdnsd.png?travis" alt="Dependency Status"
|
68
|
-
<a href="https://codeclimate.com/github/ShogunPanda/devdnsd"><img src="https://codeclimate.com/badge.png" alt="Code Climate"
|
66
|
+
<p><a href="http://travis-ci.org/ShogunPanda/devdnsd"><img src="https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master" alt="Build Status" /></a>
|
67
|
+
<a href="https://gemnasium.com/ShogunPanda/devdnsd"><img src="https://gemnasium.com/ShogunPanda/devdnsd.png?travis" alt="Dependency Status" /></a>
|
68
|
+
<a href="https://codeclimate.com/github/ShogunPanda/devdnsd"><img src="https://codeclimate.com/badge.png" alt="Code Climate" /></a></p>
|
69
69
|
|
70
70
|
<p>A small DNS server to enable local .dev domain resolution.</p>
|
71
71
|
|
72
|
-
<p
|
72
|
+
<p>http://sw.cow.tc/devdnsd</p>
|
73
73
|
|
74
|
-
<
|
74
|
+
<p>http://rdoc.info/gems/devdnsd</p>
|
75
|
+
|
76
|
+
<h2 id="description">Description</h2>
|
75
77
|
|
76
78
|
<p>DevDNSd is a small DNS server which add a resolver to the system only for single TLD (by default, <strong>.dev</strong>). This way you can access your local application by typing every kind of url, i.e. <em>locallapp.dev</em>.</p>
|
77
79
|
|
78
80
|
<p>Of course, DevDNSd is inspired by <a href="https://github.com/37signals/pow">pow</a>, but it only provides DNS functionalities, delegating the setup of a web-server to the user.</p>
|
79
81
|
|
80
|
-
<h2>Basic usage</h2>
|
82
|
+
<h2 id="basic-usage">Basic usage</h2>
|
81
83
|
|
82
84
|
<ol>
|
83
|
-
<li
|
85
|
+
<li>
|
86
|
+
<p>Install the gem:</p>
|
84
87
|
|
85
|
-
<p><code>gem install devdnsd</code></p
|
86
|
-
|
88
|
+
<p><code>gem install devdnsd</code></p>
|
89
|
+
</li>
|
90
|
+
<li>
|
91
|
+
<p>Install the service:</p>
|
87
92
|
|
88
|
-
<p><code>devdnsd install</code></p
|
93
|
+
<p><code>devdnsd install</code></p>
|
94
|
+
</li>
|
89
95
|
</ol>
|
90
96
|
|
91
|
-
<p><strong>You
|
97
|
+
<p><strong>You’re done!</strong></p>
|
92
98
|
|
93
|
-
<h2>Advanced usage</h2>
|
99
|
+
<h2 id="advanced-usage">Advanced usage</h2>
|
94
100
|
|
95
|
-
<p>Just type <code>devdnsd help</code> and you
|
101
|
+
<p>Just type <code>devdnsd help</code> and you’ll see all available options.</p>
|
96
102
|
|
97
|
-
<h2>Configuration</h2>
|
103
|
+
<h2 id="configuration">Configuration</h2>
|
98
104
|
|
99
105
|
<p>By defaults, DevDNSd uses a configuration file in <code>~/.devdnsd_config</code>, but you can change the path using the <code>--config</code> switch.</p>
|
100
106
|
|
101
107
|
<p>The file is a plain Ruby file with a single <code>config</code> object that supports the following directives.</p>
|
102
108
|
|
103
109
|
<ul>
|
104
|
-
<li><code>foreground</code>: If run the application in foreground.</li>
|
105
|
-
<li><code>address</code>: The IP to bind, 0.0.0.0 by default.</li>
|
106
|
-
<li><code>port</code>: The port to bind, 7771 by default.</li>
|
107
|
-
<li><code>pid_file</code>: The PID file to use.</li>
|
108
|
-
<li><code>tld</code>: The TLD to handle.</li>
|
109
|
-
<li><code>log_file</code>: The default log file. Not used if run in foreground.</li>
|
110
|
-
<li><code>log_level</code>: The default log level. Valid values are from 0 to 5 where 0 means
|
111
|
-
<li><code>add_rule</code>: Add a rule to the server. See section <em>Rules</em> below.</li>
|
110
|
+
<li><code>foreground</code>: If run the application in foreground.</li>
|
111
|
+
<li><code>address</code>: The IP to bind, 0.0.0.0 by default.</li>
|
112
|
+
<li><code>port</code>: The port to bind, 7771 by default.</li>
|
113
|
+
<li><code>pid_file</code>: The PID file to use.</li>
|
114
|
+
<li><code>tld</code>: The TLD to handle.</li>
|
115
|
+
<li><code>log_file</code>: The default log file. Not used if run in foreground.</li>
|
116
|
+
<li><code>log_level</code>: The default log level. Valid values are from 0 to 5 where 0 means “all messages”.</li>
|
117
|
+
<li><code>add_rule</code>: Add a rule to the server. See section <em>Rules</em> below.</li>
|
112
118
|
</ul>
|
113
119
|
|
114
|
-
<h2>Rules</h2>
|
120
|
+
<h2 id="rules">Rules</h2>
|
115
121
|
|
116
122
|
<p>DevDNSd has a nice rules system for matching name.
|
117
123
|
You can add rules by calling <code>config.add_rule(...)</code> into the configuration file.</p>
|
@@ -120,7 +126,7 @@ You can add rules by calling <code>config.add_rule(...)</code> into the configur
|
|
120
126
|
|
121
127
|
<p>The second argument should be the IP associated to the name. If the first argument is a regexp with groups, you can use the standard Ruby <code>String#gsub</code> substitution syntax for the reply.
|
122
128
|
You can also use <code>false</code> to reject matching for this nameserver. In this case the next nameserver for the system will be used. You can skip this argument if you pass a block to the function.
|
123
|
-
If you return <code>nil</code> from the block, then you
|
129
|
+
If you return <code>nil</code> from the block, then you’ll be responsible to set the response via the <a href="http://rubydoc.info/gems/rubydns/RubyDNS/Transaction"><code>transaction</code></a> variable.</p>
|
124
130
|
|
125
131
|
<p>The third argument can optionally be the record type for the resolv. By default is <code>:A</code>.
|
126
132
|
This argument is ignored if you pass the block, as it assumes that the second argument is the record type.</p>
|
@@ -129,34 +135,35 @@ This argument is ignored if you pass the block, as it assumes that the second ar
|
|
129
135
|
|
130
136
|
<p>For some examples of rules, see the <code>config/devdnsd_config.sample</code> file into the repository.</p>
|
131
137
|
|
132
|
-
<h2>Remarks</h2>
|
138
|
+
<h2 id="remarks">Remarks</h2>
|
133
139
|
|
134
140
|
<p>DevDNSd as a local resolver is tightly coupled with the OSX name resolution system, so it is only available for MacOSX.</p>
|
135
141
|
|
136
142
|
<p>You can, anyway, run the software as DNS server.</p>
|
137
143
|
|
138
|
-
<h2>Contributing to devdnsd</h2>
|
144
|
+
<h2 id="contributing-to-devdnsd">Contributing to devdnsd</h2>
|
139
145
|
|
140
146
|
<ul>
|
141
|
-
<li>Check out the latest master to make sure the feature hasn
|
142
|
-
<li>Check out the issue tracker to make sure someone already hasn
|
143
|
-
<li>Fork the project.</li>
|
144
|
-
<li>Start a feature/bugfix branch.</li>
|
145
|
-
<li>Commit and push until you are happy with your contribution.</li>
|
146
|
-
<li>Make sure to add tests for it. This is important so I don
|
147
|
-
<li>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</li>
|
147
|
+
<li>Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.</li>
|
148
|
+
<li>Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.</li>
|
149
|
+
<li>Fork the project.</li>
|
150
|
+
<li>Start a feature/bugfix branch.</li>
|
151
|
+
<li>Commit and push until you are happy with your contribution.</li>
|
152
|
+
<li>Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.</li>
|
153
|
+
<li>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</li>
|
148
154
|
</ul>
|
149
155
|
|
150
|
-
<h2>Copyright</h2>
|
156
|
+
<h2 id="copyright">Copyright</h2>
|
157
|
+
|
158
|
+
<p>Copyright (C) 2013 and above Shogun (shogun_panda@me.com).</p>
|
151
159
|
|
152
|
-
<p>
|
153
|
-
Licensed under the MIT license, which can be found at <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>.</p>
|
160
|
+
<p>Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.</p>
|
154
161
|
</div></div>
|
155
162
|
|
156
163
|
<div id="footer">
|
157
|
-
Generated on
|
164
|
+
Generated on Sun Feb 10 13:20:32 2013 by
|
158
165
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
159
|
-
0.8.
|
166
|
+
0.8.4.1 (ruby-1.9.3).
|
160
167
|
</div>
|
161
168
|
|
162
169
|
</body>
|
data/doc/frames.html
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
5
5
|
<head>
|
6
6
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
7
|
-
<title>Documentation by YARD 0.8.
|
7
|
+
<title>Documentation by YARD 0.8.4.1</title>
|
8
8
|
</head>
|
9
9
|
<script type="text/javascript" charset="utf-8">
|
10
10
|
window.onload = function() {
|
data/doc/index.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
File: README
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -61,57 +61,63 @@
|
|
61
61
|
|
62
62
|
<iframe id="search_frame"></iframe>
|
63
63
|
|
64
|
-
<div id="content"><div id='filecontents'><h1>devdnsd</h1>
|
64
|
+
<div id="content"><div id='filecontents'><h1 id="devdnsd">devdnsd</h1>
|
65
65
|
|
66
|
-
<p><a href="http://travis-ci.org/ShogunPanda/devdnsd"><img src="https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master" alt="Build Status"
|
67
|
-
<a href="https://gemnasium.com/ShogunPanda/devdnsd"><img src="https://gemnasium.com/ShogunPanda/devdnsd.png?travis" alt="Dependency Status"
|
68
|
-
<a href="https://codeclimate.com/github/ShogunPanda/devdnsd"><img src="https://codeclimate.com/badge.png" alt="Code Climate"
|
66
|
+
<p><a href="http://travis-ci.org/ShogunPanda/devdnsd"><img src="https://secure.travis-ci.org/ShogunPanda/devdnsd.png?branch=master" alt="Build Status" /></a>
|
67
|
+
<a href="https://gemnasium.com/ShogunPanda/devdnsd"><img src="https://gemnasium.com/ShogunPanda/devdnsd.png?travis" alt="Dependency Status" /></a>
|
68
|
+
<a href="https://codeclimate.com/github/ShogunPanda/devdnsd"><img src="https://codeclimate.com/badge.png" alt="Code Climate" /></a></p>
|
69
69
|
|
70
70
|
<p>A small DNS server to enable local .dev domain resolution.</p>
|
71
71
|
|
72
|
-
<p
|
72
|
+
<p>http://sw.cow.tc/devdnsd</p>
|
73
73
|
|
74
|
-
<
|
74
|
+
<p>http://rdoc.info/gems/devdnsd</p>
|
75
|
+
|
76
|
+
<h2 id="description">Description</h2>
|
75
77
|
|
76
78
|
<p>DevDNSd is a small DNS server which add a resolver to the system only for single TLD (by default, <strong>.dev</strong>). This way you can access your local application by typing every kind of url, i.e. <em>locallapp.dev</em>.</p>
|
77
79
|
|
78
80
|
<p>Of course, DevDNSd is inspired by <a href="https://github.com/37signals/pow">pow</a>, but it only provides DNS functionalities, delegating the setup of a web-server to the user.</p>
|
79
81
|
|
80
|
-
<h2>Basic usage</h2>
|
82
|
+
<h2 id="basic-usage">Basic usage</h2>
|
81
83
|
|
82
84
|
<ol>
|
83
|
-
<li
|
85
|
+
<li>
|
86
|
+
<p>Install the gem:</p>
|
84
87
|
|
85
|
-
<p><code>gem install devdnsd</code></p
|
86
|
-
|
88
|
+
<p><code>gem install devdnsd</code></p>
|
89
|
+
</li>
|
90
|
+
<li>
|
91
|
+
<p>Install the service:</p>
|
87
92
|
|
88
|
-
<p><code>devdnsd install</code></p
|
93
|
+
<p><code>devdnsd install</code></p>
|
94
|
+
</li>
|
89
95
|
</ol>
|
90
96
|
|
91
|
-
<p><strong>You
|
97
|
+
<p><strong>You’re done!</strong></p>
|
92
98
|
|
93
|
-
<h2>Advanced usage</h2>
|
99
|
+
<h2 id="advanced-usage">Advanced usage</h2>
|
94
100
|
|
95
|
-
<p>Just type <code>devdnsd help</code> and you
|
101
|
+
<p>Just type <code>devdnsd help</code> and you’ll see all available options.</p>
|
96
102
|
|
97
|
-
<h2>Configuration</h2>
|
103
|
+
<h2 id="configuration">Configuration</h2>
|
98
104
|
|
99
105
|
<p>By defaults, DevDNSd uses a configuration file in <code>~/.devdnsd_config</code>, but you can change the path using the <code>--config</code> switch.</p>
|
100
106
|
|
101
107
|
<p>The file is a plain Ruby file with a single <code>config</code> object that supports the following directives.</p>
|
102
108
|
|
103
109
|
<ul>
|
104
|
-
<li><code>foreground</code>: If run the application in foreground.</li>
|
105
|
-
<li><code>address</code>: The IP to bind, 0.0.0.0 by default.</li>
|
106
|
-
<li><code>port</code>: The port to bind, 7771 by default.</li>
|
107
|
-
<li><code>pid_file</code>: The PID file to use.</li>
|
108
|
-
<li><code>tld</code>: The TLD to handle.</li>
|
109
|
-
<li><code>log_file</code>: The default log file. Not used if run in foreground.</li>
|
110
|
-
<li><code>log_level</code>: The default log level. Valid values are from 0 to 5 where 0 means
|
111
|
-
<li><code>add_rule</code>: Add a rule to the server. See section <em>Rules</em> below.</li>
|
110
|
+
<li><code>foreground</code>: If run the application in foreground.</li>
|
111
|
+
<li><code>address</code>: The IP to bind, 0.0.0.0 by default.</li>
|
112
|
+
<li><code>port</code>: The port to bind, 7771 by default.</li>
|
113
|
+
<li><code>pid_file</code>: The PID file to use.</li>
|
114
|
+
<li><code>tld</code>: The TLD to handle.</li>
|
115
|
+
<li><code>log_file</code>: The default log file. Not used if run in foreground.</li>
|
116
|
+
<li><code>log_level</code>: The default log level. Valid values are from 0 to 5 where 0 means “all messages”.</li>
|
117
|
+
<li><code>add_rule</code>: Add a rule to the server. See section <em>Rules</em> below.</li>
|
112
118
|
</ul>
|
113
119
|
|
114
|
-
<h2>Rules</h2>
|
120
|
+
<h2 id="rules">Rules</h2>
|
115
121
|
|
116
122
|
<p>DevDNSd has a nice rules system for matching name.
|
117
123
|
You can add rules by calling <code>config.add_rule(...)</code> into the configuration file.</p>
|
@@ -120,7 +126,7 @@ You can add rules by calling <code>config.add_rule(...)</code> into the configur
|
|
120
126
|
|
121
127
|
<p>The second argument should be the IP associated to the name. If the first argument is a regexp with groups, you can use the standard Ruby <code>String#gsub</code> substitution syntax for the reply.
|
122
128
|
You can also use <code>false</code> to reject matching for this nameserver. In this case the next nameserver for the system will be used. You can skip this argument if you pass a block to the function.
|
123
|
-
If you return <code>nil</code> from the block, then you
|
129
|
+
If you return <code>nil</code> from the block, then you’ll be responsible to set the response via the <a href="http://rubydoc.info/gems/rubydns/RubyDNS/Transaction"><code>transaction</code></a> variable.</p>
|
124
130
|
|
125
131
|
<p>The third argument can optionally be the record type for the resolv. By default is <code>:A</code>.
|
126
132
|
This argument is ignored if you pass the block, as it assumes that the second argument is the record type.</p>
|
@@ -129,34 +135,35 @@ This argument is ignored if you pass the block, as it assumes that the second ar
|
|
129
135
|
|
130
136
|
<p>For some examples of rules, see the <code>config/devdnsd_config.sample</code> file into the repository.</p>
|
131
137
|
|
132
|
-
<h2>Remarks</h2>
|
138
|
+
<h2 id="remarks">Remarks</h2>
|
133
139
|
|
134
140
|
<p>DevDNSd as a local resolver is tightly coupled with the OSX name resolution system, so it is only available for MacOSX.</p>
|
135
141
|
|
136
142
|
<p>You can, anyway, run the software as DNS server.</p>
|
137
143
|
|
138
|
-
<h2>Contributing to devdnsd</h2>
|
144
|
+
<h2 id="contributing-to-devdnsd">Contributing to devdnsd</h2>
|
139
145
|
|
140
146
|
<ul>
|
141
|
-
<li>Check out the latest master to make sure the feature hasn
|
142
|
-
<li>Check out the issue tracker to make sure someone already hasn
|
143
|
-
<li>Fork the project.</li>
|
144
|
-
<li>Start a feature/bugfix branch.</li>
|
145
|
-
<li>Commit and push until you are happy with your contribution.</li>
|
146
|
-
<li>Make sure to add tests for it. This is important so I don
|
147
|
-
<li>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</li>
|
147
|
+
<li>Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet.</li>
|
148
|
+
<li>Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it.</li>
|
149
|
+
<li>Fork the project.</li>
|
150
|
+
<li>Start a feature/bugfix branch.</li>
|
151
|
+
<li>Commit and push until you are happy with your contribution.</li>
|
152
|
+
<li>Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.</li>
|
153
|
+
<li>Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.</li>
|
148
154
|
</ul>
|
149
155
|
|
150
|
-
<h2>Copyright</h2>
|
156
|
+
<h2 id="copyright">Copyright</h2>
|
157
|
+
|
158
|
+
<p>Copyright (C) 2013 and above Shogun (shogun_panda@me.com).</p>
|
151
159
|
|
152
|
-
<p>
|
153
|
-
Licensed under the MIT license, which can be found at <a href="http://www.opensource.org/licenses/mit-license.php">http://www.opensource.org/licenses/mit-license.php</a>.</p>
|
160
|
+
<p>Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.</p>
|
154
161
|
</div></div>
|
155
162
|
|
156
163
|
<div id="footer">
|
157
|
-
Generated on
|
164
|
+
Generated on Sun Feb 10 13:20:32 2013 by
|
158
165
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
159
|
-
0.8.
|
166
|
+
0.8.4.1 (ruby-1.9.3).
|
160
167
|
</div>
|
161
168
|
|
162
169
|
</body>
|