1PROXYKNIFE(1) GNU Proxyknife PROXYKNIFE(1)
2
3
4
6 Proxyknife - The customizable proxy hunter.
7
9 proxyknife [-f configuration file]
10 [-I mode] [-i file...]
11 [-m mytype] [-h myhost] [-p myport]
12 [-u myuser] [-s mypass]
13 [-o outfile] [-l logfile]
14 [-d]
15
16 Only the most important options are listed here; see below for the
17 remainder.
18
20 GNU Proxyknife is a customizable multithread proxy hunter. Tt can help
21 users behind strict firewall find suitable free proxies.
22
23 GNU Proxyknife reads proxylist[1] from the file, stdin or the web, then
24 validates the free proxies and prints the good ones. Time intervals and
25 the others which are userful to estimate the speed or capability of
26 every proxy are also printed. The whole processing can be customized by
27 the user, which is different from the other hunters.
28
29 In URL mode, Proxyknife can read a large number of proxies on machines
30 with little memory. Tt works on GNU/Linux, SunOS, OSF1 or more.
31
32 As a proxy hunter, Proxyknife can validate all kinds of proxies with
33 different methods: HTTP proxy with GET or CONNECT method, SOCKS5 proxy
34 with CONNECT command, SOCKS4 proxy with CONNECT command. As a
35 customizable extension, it can check proxies for special purpose, such
36 as finding tunnels for MSN chatting.
37
38 Proxyknife can check proxies via a tunnel. The tunnel can be SOCKS4
39 proxy, SOCKS5 proxy or HTTP proxy, with or without authentication for
40 the latter two. The route from the local machine that proxyknife runs
41 on to checksite is:
42
43 proxyknife -------- (myproxy) ------ testproxy ----- checksite
44
45 Here myproxy is the tunnel, testproxy is the free proxy being checked
46 and checksite is the site used to validate free proxies.
47
48 Proxyknife have many features. Please see the file FEATURELIST
49 included in this package for details.
50
52 Command-line Exclusive Options
53
54 -V
55 --version
56 Display the version of Proxyknife and exit.
57
58 --help
59 Print all command-line options.
60
61 -f file
62 Use file as startup file. Without this option, proxyknife will try
63 ./proxyknife.conf, then $HOME/.proxyknife.conf, at last
64 $prefix/etc/proxyknife.conf[3].
65
66 Startup Options
67
68 Anyone of the following options have a keyword form which can be
69 specified in startup file. In this section, every single option is
70 followed by a keyword.
71
72 If you have duplicate options on command line or settings in startup
73 file, only the first one will be used. Anyway, do not let this happen
74 if possible.
75
76 -d
77 debug
78 Turn on debug output.
79
80 Argument after this option is not required and should be completely
81 omitted on command line. If this option exists, the value will be
82 set to 1 automatically.
83
84 While in startup file, use debug=1 to turn on debug output. debug=0
85 to disable it. The value is 0 by default.
86
87 -t threads
88 threads
89 The number of threads opened at the same time. This should be based
90 on the resource avaliable on your system. The number can't be more
91 than 65535. On the other hand, though nocache header is used,
92 running proxyknife with less threads may give more accurate result.
93 Default: 50.
94
95 -g user_agent
96 user_agent
97 Identified as browsers or other clients. Default: User-Agent: MSIE
98 6.0
99
100 -I proxyknifetype
101 proxyknifeintype
102 The mode of input. 0: file mode, 1:url mode. In file mode,
103 proxyknife will regard the value of keyword proxyknifein or the
104 argument after option -i as filenname; otherwise, in url mode, they
105 are parsed as part of URL. Now only two sites are available in url
106 mode: proxylist.kmip.net/list.html and youth.bupt.edu.cn/proxy/.
107
108 By default, proxyknife will read file proxylist in current
109 directory in file mode and fetch proxylist from
110 <http://proxylist.kmip.net/list.html> in url mode.
111
112 Default: 0
113
114 -i proxyknifein
115 proxyknifein
116 The input filename with full path which proxyknife read proxylist
117 from or the url to the proxylist file. Let it be "-" to read from
118 stdin. In url mode, this value can be proxylist.kmip.net/list.html
119 or youth.bupt.edu.cn/proxy/. I haven't try the other sites. In url
120 mode, proxyknife may connect to the web via myproxy, which is based
121 on the value of mytype. Default: proxylist or
122 proxylist.kmip.net/list.html
123
124 -m mytype
125 mytype
126 The type of myproxy. If enabled, proxyknife will send all request
127 via it. It should be enabled for lan users after a proxy tunnel.
128 The value can be: 1 (HTTP_CONNECT - HTTP proxy without
129 authentication), 2 (SOCKS5_CONNECT - SOCKS5 proxy without
130 authentication), 5 (SOCKS4_CONNECT - SOCKS4 proxy without
131 authentication), 11 (HTTP_CONNECT_AUTH - HTTP proxy with basic
132 authentication), 12 (SOCKS5_CONNECT_AUTH - SOCKS5 proxy with
133 username/password authentication), 21 (DIRECT - Disabled, connect
134 to testproxy directly). Default: 21
135
136 -h myhost
137 myhost
138 The IPV4 address or host name of myproxy. This will be in effect
139 only if mytype !=21 Default: NULL[5]
140
141 -p myport
142 myport
143 The port of myproxy. This will be used if mytype !=21 Default:
144 NULL
145
146 -u myuser
147 myuser
148 The username for myproxy. This will be used only if mytype=11 or
149 12. Default: NULL
150
151 -s mypass
152 mypass
153 The password for myproxy. This will be used only if mytype=11 or
154 12. Default: NULL
155
156 -c checksite
157 checksite
158 The site used to check testproxies. Default:
159 http://www.google.com:80/webhp?hl=en
160
161 -C checkreqin
162 checkreqin
163 The file including the customized request. Default: NULL
164
165 -k key
166 key The string that should be found in the response after a successful
167 request to the checksite. Default: 2006 Google
168
169 -r rcvtimeo
170 rcvtimeo
171 The socket receiving timeout in seconds. Default: 10
172
173 -n sndtimeo
174 sndtimeo
175 The socket sending timeout in seconds. Default: 5
176
177 -S myconreplysize
178 myconreplysize
179 The size of buffer used to store the reply after sending CONNECT
180 request for testproxy to myproxy. This is used for some weird
181 proxies. Please leave it intact if unsure. Default: 256
182
183 -T testconreplysize
184 testconreplysize
185 The size of buffer used to store the reply after sending CONNECT
186 request for checksite to testproxy. It is only be used when you
187 validate HTTP CONNECT proxies. Just as above, do not change it if
188 unsure. Default: 256
189
190 -G testtagreplysize
191 testtagreplysize
192 The size of buffer used to store the reply after sending GET
193 request to the checksite. Proxyknife will try to find the key from
194 this buffer. Default: 65535
195
196 -H httptestmethod
197 httptestmethod
198 The HTTP method sent to the testproxy. The possible values are 0
199 (HTTP_GET) and 1 (HTTP_CONNECT) now. If you need a HTTP proxy
200 supporting CONNECT, just set it to 1. Default: 0
201
202 -5 socks5testmethod
203 socks5testmethod
204 The socks5 command used in the interaction with the testproxy. Only
205 2(SOCKS5_CONNECT) is implemented. You should leave it intact now.
206 Default: 2
207
208 -4 socks4testmethod
209 socks4testmethod
210 The socks4 command used in the interaction with the testproxy. Only
211 5(SOCKS4_CONNECT) is implemented. You should leave it intact now.
212 Default: 5
213
214 -l logfilename
215 logfilename
216 The logfile with full path. If you prefer screen output, use a
217 single . (. is just before LF) to leave stderr as it is:
218
219 proxyknife -l .
220
221 or add this to startup file:
222
223 logfilename=.
224
225 If you want to see it later:
226
227 proxyknife -l ./proxyknife.log
228
229 or add this to startup file:
230
231 logfilename=./proxyknife.log
232
233 Default: proxyknife.log
234
235 -o proxyknifeout
236 proxyknifeout
237 The output file with full path. Proxyknife print result to this
238 file. If you do not specify it, proxyknife will use a file named
239 proxyout in the current directory. If this file do not exists,
240 proxyknife will creat it. Otherwise, it will be overridden.
241 Default: proxyout
242
244 /etc/proxyknife.conf
245 Default location of the global startup file
246
247 $HOME/.wgetrc
248 User startup file
249
250 ./proxyknife.conf
251 Session startup file
252
253 ./proxylist
254 Default location of the proxylist file
255
256 ./proxyout
257 Default location of the result file
258
259 ./proxyknife.log
260 Default location of the logfile
261
263 1. The list of free proxies.
264
265 2. $prefix is the argument passed to the configure script: ./configure
266 --prefix=/some/path. Tt is / by default.
267
268 3. In this section, NULL means there is no default value for that
269 keyword.
270
272 GNU Info entry for proxyknife.
273
275 Written by Jia Wang <skyroam@gmail.com>.
276
278 Copyright (c) 2005, 2006, 2007 Jia Wang
279
280 Permission is granted to copy, distribute and/or modify this document
281 under the terms of the GNU Free Documentation License, Version 1.2 or
282 any later version published by the Free Software Foundation; with no
283 Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
284 copy of the license is included in the section entitled "GNU Free
285 Documentation License".
286
288 Hey! The above document had some coding errors, which are explained
289 below:
290
291 Around line 365:
292 You have '=item 3' instead of the expected '=item 2'
293
294 Around line 369:
295 You have '=item 5' instead of the expected '=item 3'
296
297
298
299GNU Proxyknife 1.7 2009-07-28 PROXYKNIFE(1)