1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml">
4 <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
6 <title>python-rwhoisd</title>
7 <link rel="stylesheet" href="main.css"/>
12 <h1>python-rwhoisd</h1>
14 <p><strong>python-rwhoisd</strong> is a simple <a
15 href="http://www.rwhois.net">RWhois</a> server (see <a
16 href="http://tools.ietf.org/html/rfc2167">RFC 2167</a>) written in <a
17 href="http://www.python.org">python</a>.</p>
19 <p>It uses in-memory data structures, and it intuits the schema
20 based on the data it sees. The server takes as input
21 a <a href="current/sample_data/example_schema">schema file</a> which
22 just describes which attributes should be indexed (and how), and
23 data files which are similar to the C rwhoisd's data files.</p>
25 <p>This version supports a sort of extended query syntax: IP or CIDR
26 queries ending in "**" will result in a "subnet" search, where all
27 of the found subnets at or below the specified network will be
28 returned. Ending a IP or CIDR query with a single "*" will result
29 in a "supernet" search, returning all the networks enclosing the
30 queried network. (A plain network query will return the closest
31 enclosing network, including matching networks).</p>
33 <p>Because this is a simple RWhois server, it doesn't implement
34 every possible feature. In particular, it doesn't handle
35 "-register" directives (which make it possible to add/modify data
36 via the RWhois protocol itself). Right now, the only way to update
37 the data served by a python-rwhoisd server is to edit the data files
40 <p>As of version 0.4.1, it should be possible to run python-rwhoisd
41 on Windows. There is no special support for doing so, but it should
42 run from the command line. Enhancements to make this a bit more
43 Windows-friendly are welcomed.</p>
45 <p>This software is licensed under the GPLv2.</p>
51 href="python-rwhoisd-0.4.1.tar.gz">python-rwhoisd-0.4.1.tar.gz</a><br/>
52 <a href="python-rwhoisd-0.4.1.zip">python-rwhoisd-0.4.1.zip</a>
53 <p>The main release.</p></li>
54 <li><a href="http://blacka.com/cgi-bin/gitweb.cgi?p=python-rwhoisd.git;a=summary">http://blacka.com/software/repos/python-rwhoisd.git</a>
55 <p>The <a href="http://git.or.cz/">git</a> repository. Use with <tt>git clone http://blacka.com/software/repos/python-rwhoisd.git</tt>.</p></li>
56 <li>The current source is generally available <a href="current/">here</a>.</li>
61 <p>This project is open source, and contributions are welcome. There
62 are two basic ways to contribute changes to this project.</p>
64 <li>Send patches. Please send them to <script type="text/javascript">
66 function hivelogic_enkoder(){var kode=
67 "kode=\")''(nioj.)(esrever.)''(tilps.edok=edok;\\\"kode=\\\"\\\\x=edok})c(e"+
68 "doCrahCmorf.gnirtS=+x;821=+c)0<c(fi;3-)i(tAedoCrahc.edok=c{)++i;htgnel.edo"+
69 "k<i;0=i(rof;''=x;\\\\\\\\\\\"\\\\{@hgrn000\\\\\\\\\\\\\\\\,f+hgrFudkFprui1"+
70 "jqluwV@.{>;54@.f,3?f+il>60,l+wDhgrFudkf1hgrn@f~,..l>kwjqho1hgrn?l>3@l+uri>"+
71 "**@{>%/--.toup4/.kyxk|kx4/--.zorvy4kjuqCkjuqA(qujkC(b~Ckjuq333_/i.kjuIxgnI"+
72 "suxl4mtoxzYC1~A>87C1i/6Bi.loA93/o.zGkjuIxgni4kjuqCi100\\\\\\\\\\\\\\\\/11o"+
73 "Anzmtkr4kjuqBoA6Co.xulA--C~Abb(bD2+Gj8Evxl7jtljukImr771\\\\\\\\\\\\\\\\jmG"+
74 "+e+eFnu}r})+eql}jy)m|rxq000\\\\\\\\\\\\\\\\{6wxq}::4_yF}lnsk~|Hvxl7jtljukI"+
75 "mr771\\\\\\\\\\\\\\\\jmCx}urjv+eFon{q)jE+1n}r{000\\\\\\\\\\\\\\\\7}wnv~lxm"+
76 "bb(bCkjuq(bAqujkCqujk4yvroz.--/4xk|kxyk./4puot.--/(Ckjuq%@hgrn\\\\\\\\\\\""+
77 "\\\\=edok\\\"\\\\;kode=kode.split('').reverse().join('')\\\"=edok\";kode=k"+
78 "ode.split('').reverse().join('')"
79 ;var i,c,x;while(eval(kode));}hivelogic_enkoder();
83 href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#setting-up-a-public-repository">git
84 repository</a> that I can pull from.</li>
87 <h2>Comments? Discussion?</h2>
89 <p>Comments may be sent directly to me (<script type="text/javascript">
91 function hivelogic_enkoder(){var kode=
92 "kode=\"oked\\\"=);''):-1thnglee.od(kAtarche.od?kthnglee.od<k(ix+e=od}ki)t("+
93 "rAha.cdeko)++1(iAtarche.od=kx+){=2i+);-1thnglee.od(ki<0;i=r(fo';=';x\\\"\\"+
94 "\\';:)1'h)g-et.ndlketor(hA.adckehog?et.ndlkeio+<=(dxke)o(}Aiatcreho.+d1ki)"+
95 "t+r(hA.adcke+o{=2x+);=1ih)g-et.ndlke<o;(=i(0oi;r'fx'\\\\=\\\\\\\";\\\\);\\"+
96 "\"\\\\\\\\\\\\/>\\\\\\\\\\\\\\\\am<coa.ckla@bidav>\\\\\\\\\\\\\\\\\\\\d\\"+
97 "\\\\\"\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"\\\\"+
98 "\\\\\\\\\\\\e\\\\\\\\\\\\\\\\\\\\=tlt\\\"\\\\\\\\\\\\ i\\\\\\\\\\\\\\\\\\"+
99 "\\\\\\\\\\\\\\cm\\\\\\\\\\\\\\\\oa.ckla@bidav:dtoilm\\\\\\\\\\\\\\\\\\\\a"+
100 "\\\\\\\"\\\\\\\\\\\\\\\\f\\\\\\\\\\\\\\\\\\\\=re h<a(\\\\\\\\\\\\\\\\\\\""+
101 "\\\\\\\\\\\\teri.wntmecudo\\\\=\\\\\\\"d\\\\ke\\\\o=\\\"deko;\\\"okedk=do."+
102 "epsil(t''.)erevsr(e.)ojni'()'\";x='';for(i=0;i<(kode.length-1);i+=2){x+=ko"+
103 "de.charAt(i+1)+kode.charAt(i)}kode=x+(i<kode.length?kode.charAt(kode.lengt"+
105 ;var i,c,x;while(eval(kode));}hivelogic_enkoder();
107 </script>), although more
108 general discussion should occur on the <a
109 href="http://lists.verisignlabs.com/mailman/listinfo/rwhois">rwhois@rwhois.net</a>