<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Paolo Ardoino - ideas, programming, web and more... &#187; Games</title>
	<atom:link href="http://ardoino.com/category/games/feed/" rel="self" type="application/rss+xml" />
	<link>http://ardoino.com</link>
	<description>Homo quisque faber ipse fortunae suae</description>
	<lastBuildDate>Tue, 27 Oct 2009 22:42:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Evolving WarWide look and usability</title>
		<link>http://ardoino.com/58-evolving-warwide-look-and-usability/</link>
		<comments>http://ardoino.com/58-evolving-warwide-look-and-usability/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 10:31:16 +0000</pubDate>
		<dc:creator>Paolo Ardoino</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[involutive]]></category>
		<category><![CDATA[warwide]]></category>

		<guid isPermaLink="false">http://ardoino.com/?p=58</guid>
		<description><![CDATA[Probably WarWide is one of that (web) applications that will never leave the beta release status. 
Every month, we apply new changes, improvement, fixes and creates features to keep users playing and giving huge longevity to the game. These two weeks we have decided to focus our efforts on ( other than, as always, on [...]]]></description>
			<content:encoded><![CDATA[<p>Probably <a href='http://www.warwide.com/'>WarWide</a> is one of that (web) applications that will never leave the beta release status. </p>
<p>Every month, we apply new changes, improvement, fixes and creates features to keep users playing and giving huge longevity to the game. These two weeks we have decided to focus our efforts on ( other than, as always, on bug fixes ;) ) strategic panel&#8217;s usability and on a new set of icons. </p>
<p><a href='http://forum.warwide.it' target='_blank'>WarWide italian community</a> clamoured along for a more friendly and simple interface for army creation/unification and resources management&#8230; we answered with an improved (and more intuitive) panel for these tasks.</p>
<p>Then, two friends of mine, offered their creativity to design a new set of icons for military units, buildings and technologies &#8230; the result has been very impressive!<br />
Thanks to Simone Poggi (aka <a href='http://www.motocarota.com' target='_blank'>motocarota</a> ) and to FolkwineDelMark ( a WarWide player ).<br />
<br/><br />
(<b>Note</b>, all following images are &copy; Involutive s.n.c <a href='http://www.involutive.com' target='_blank'>http://www.involutive.com</a> )<br />
<br/><br />
<em>A subset of Motocarota images:</em> </p>
<table>
<tr>
<td><a href='http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_simple.png'><img src="http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_simple.png" alt="warwide military unit soldier icon" title="warwide military unit soldier icon" width="56" height="80" class="alignnone size-full wp-image-62" /></a></td>
<td>
<a href='http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_incursor.png'><img src="http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_incursor.png" alt="warwide military unit incursor icon" title="warwide military unit incursor icon" width="90" height="78" class="alignnone size-full wp-image-63" /></a></td>
<td>
<a href='http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_tank_heavy.png'><img src="http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_tank_heavy.png" alt="warwide military unit tank icon" title="warwide military unit tank icon" width="140" height="79" class="alignnone size-full wp-image-64" /></a></td>
<td>
<a href='http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_ship_battleship.png'><img src="http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_ship_battleship.png" alt="warwide military unit battleship icon" title="warwide military unit battleship icon" width="119" height="84" class="alignnone size-full wp-image-65" /></a></td>
</tr>
</table>
<p><br/><em>A subset of FolkwineDelMark images:</em></p>
<table>
<tr>
<td><a href='http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_advanced.jpg'><img src="http://ardoino.com/wp-content/uploads/2008/07/milunit_mu_soldier_advanced-150x150.jpg" alt="warwide military unit soldier" title="warwide military unit soldier" width="150" height="150" class="alignnone size-thumbnail wp-image-61" /></a></td>
<td><a href='http://ardoino.com/wp-content/uploads/2008/07/technology_tch_energy.jpg'><img src="http://ardoino.com/wp-content/uploads/2008/07/technology_tch_energy-150x150.jpg" alt="warwide technology energy" title="warwide technology energy" width="150" height="150" class="alignnone size-thumbnail wp-image-59" /></a></td>
<td>
<a href='http://ardoino.com/wp-content/uploads/2008/07/technology_tch_war_tactics.jpg'><img src="http://ardoino.com/wp-content/uploads/2008/07/technology_tch_war_tactics-150x150.jpg" alt="warwide technology war tactics" title="warwide technology war tactics" width="150" height="150" class="alignnone size-thumbnail wp-image-60" /></a></td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://ardoino.com/58-evolving-warwide-look-and-usability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WarWide: innovative strategic war (multiplayer) browsergame</title>
		<link>http://ardoino.com/3-warwide-innovative-strategic-war-multiplayer-browsergame/</link>
		<comments>http://ardoino.com/3-warwide-innovative-strategic-war-multiplayer-browsergame/#comments</comments>
		<pubDate>Mon, 23 Jun 2008 07:00:42 +0000</pubDate>
		<dc:creator>Paolo Ardoino</dc:creator>
				<category><![CDATA[Ajax/Javascript]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[browsergame]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[warwide]]></category>

		<guid isPermaLink="false">http://ardoino.com/?p=3</guid>
		<description><![CDATA[WarWide is a free strategic war multiplayer browsergame set in the real world with thousands opposing players, each of them fighting as the emperor of a group of cities and having, as primary goal, the growth of his Empire conquering enemy lands.]]></description>
			<content:encoded><![CDATA[<p><center><a href='http://www.warwide.com' target='_blank'><img src="http://ardoino.com/wp-content/uploads/2008/06/warwide_banner_eng.png" alt="" title="WarWide banner" width="468" height="60" class="aligncenter size-full wp-image-50" /></a></center></p>
<p>These months I have been kept busy with the development, testing and debugging of the new version of <a href="http://www.involutive.com" title="Involutive" target="_blank">Involutive</a>&#8217;s browsergame: <a href="http://www.warwide.com" title="WarWide strategic war multiplayer browsergame" target="_blank">WarWide</a>.<br/><br />
<u>Note</u>: It is available only for Italian people, but in a few months and English version will come to the light!<br/><br />
WarWide is a free strategic war multiplayer browsergame set in the <strong>real world</strong> with thousands opposing players, each of them fighting as the emperor of a group of (truly existing) cities and having, as primary goal, the growth of his Empire conquering enemy lands and establishing alliances with governors of nearby territories.<br/></p>
<div style='float:right;'><a target='_blank' href='http://ardoino.com/wp-content/uploads/2008/06/ww_screen_8.png'><img src="http://ardoino.com/wp-content/uploads/2008/06/ww_screen_8-150x150.png" alt="" title="WarWide interactive map : Rome ( Italy ) coasts" width="150" height="150" class="alignnone size-thumbnail wp-image-47" /></a><br/><a  target='_blank' href='http://ardoino.com/wp-content/uploads/2008/06/ww_screen_7.png'><img src="http://ardoino.com/wp-content/uploads/2008/06/ww_screen_7-150x150.png" alt="" title="WarWide military recruitment panel" width="150" height="150" class="alignnone size-thumbnail wp-image-46" /></a><br/><a target='_blank' href='http://ardoino.com/wp-content/uploads/2008/06/ww_screen_4.png'><img src="http://ardoino.com/wp-content/uploads/2008/06/ww_screen_4-150x150.png" alt="" title="WarWide technology panel" width="150" height="150" class="alignnone size-thumbnail wp-image-49" /></a></div>
<p><center><a target='_blank' href="http://www.warwide.com/screenshots.html">Watch SCREENSHOT gallery</a>!<br/><br />
<a target='_blank' href='http://ardoino.com/wp-content/uploads/2008/06/ww_screen_2.png'><img src="http://ardoino.com/wp-content/uploads/2008/06/ww_screen_2-300x187.png" alt="" title="WarWide interactive map : Corsica and Sardinia" width="300" height="187" class="alignnone size-medium wp-image-48" /></a></center><br />
One of the most interesting and innovative features, that distinguish WarWide between other browsergames, it&#8217;s the interactive (Google maps like) map of our Earth, perfectly integrated in the game: players could interact with it, move armies, fleets and resources, fight for every piece of land or sea, wait in ambushes enemies and help allies.<br/>Each action within the map has a good precision level (up to about five hundred meters) due to our improved algorithms and this gives an improved playability&#8230; cruise the Bosporus or the strait between Corsica and Sardinia (in the screenshot above)<br/><br/></p>
<p>Lots of buildings, technologies and military units are available to give lots of variants and huge longevity to the game.<br/><br />
<strong>Each feature of the game is built to be more faithful to realty as possible.</strong><br/><br/></p>
<p>From previous version lots of chances have been done:</p>
<ul>
<li>Completely rewritten game engine</li>
<li>Completely rewritten game interface, now using JQuery</li>
<li>Ships and sailing navigation (previous version had only land military units)</li>
<li>Paths and areas visualization on the interactive map</li>
<li>Inventory items that gives bonus to armies and players</li>
<li>Army tasks stack to improve strategic operations</li>
<li>Improved speed of geographic algorithms</li>
</ul>
<p><br/><br />
Technical details:
<ul>
<li>Operative System: Gentoo Linux ( 2.6.x )</li>
<li>Game engine: PHP 5 (game engine), C (geographical algorithms)</li>
<li>User interface: HTML, Javascript and Ajax</li>
<li>Database: MySQL</li>
<li>Map interface : <a target='_blank' href='http://www.openlayers.org'>Openlayers</a></li>
</ul>
<p><strong>Enjoy it!</strong><br/><br />
P.S: I would thank the whole <a target='_blank' href='http://forum.warwide.it'>italian WarWide community</a> for their good job in debugging and hinting.</p>
]]></content:encoded>
			<wfw:commentRss>http://ardoino.com/3-warwide-innovative-strategic-war-multiplayer-browsergame/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Be Quick Or Be Dead: browsergame spell caster powered by dojo gfx and SVG/VML rendering</title>
		<link>http://ardoino.com/17-game-be-quick-or-be-dead/</link>
		<comments>http://ardoino.com/17-game-be-quick-or-be-dead/#comments</comments>
		<pubDate>Thu, 07 Feb 2008 14:28:37 +0000</pubDate>
		<dc:creator>Paolo Ardoino</dc:creator>
				<category><![CDATA[Ajax/Javascript]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[2d]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[browsergame]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[dojo]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[rendering]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[vml]]></category>

		<guid isPermaLink="false">http://ardoino.com/17-game-be-quick-or-be-dead/</guid>
		<description><![CDATA[
Url: http://ardoino.com/game-be-quick-or-be-dead/
Play now!!
The plot is based on comics written by Motocarota : a powerful wizard has to kill much kobolds as possible casting fireballs against them.
To shot fireballs to enemies you have to write its name in the textbox below the game area and press enter&#8230; a nice way to test your typewriting ability, isn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://ardoino.com/17-game-be-quick-or-be-dead/be-quick-or-be-dead/" target="_blank" rel="attachment wp-att-18" title="Be Quick Or Be Dead"><img src="http://ardoino.com/wp-content/uploads/2008/02/bequickorbedead.thumbnail.png" alt="Be Quick Or Be Dead" align="right" /></a></p>
<p><strong>Url:</strong> <a href="http://ardoino.com/game-be-quick-or-be-dead/" target="_blank">http://ardoino.com/game-be-quick-or-be-dead/</a><br />
<a href="http://ardoino.com/game-be-quick-or-be-dead/" title="Be Quick Or Be Dead: browsergame spell caster powered by dojo gfx and SVG/VML rendering" target="_blank"><strong>Play now!!</strong></a><br/><br />
The plot is based on comics written by <a href="http://www.motocarota.com" title="Motocarota blog" target="_blank">Motocarota</a> : a powerful wizard has to kill much kobolds as possible casting fireballs against them.</p>
<p>To shot fireballs to enemies you have to write its name in the textbox below the game area and press enter&#8230; a nice way to test your typewriting ability, isn&#8217;t it?.<br />
<span id="more-17"></span></p>
<p>I used only few hours to create the game. At the beginning I opted to use 2D CANVAS tag as rendering system (supported by Mozilla Firefox, Opera and Safari) and explorer-canvas for VML, Vector Markup Language (supported by Internet Explorer).</p>
<p>In a few minutes, bored by IE7 incomptaibility with standards, I decided to try Dojo that should have a wide crossbrowser compatibility, dojo.gfx library included. This framework supports Canvas, SVG and VML giving simple API for 2D drawing.<br />
<img src="http://ardoino.com/wp-content/uploads/2008/02/bqobd_wizardthumbnail.jpg" alt="Be Quick Or Be Dead Wizard" align="right" /></p>
<p>In a few time I had the game engine and once obtained spirtes Be Quick or Be Dead was complete.</p>
<p>The only disavantage of Dojo usage in BQOBD development was the first time loading slowness, but Firefox cache has worked fine for next page accesses.</p>
<p>Creation and drawing on the 2D surface is very simple :</p>
<ul>
<li>ctx = dojox.gfx.createSurface creates a 2D surface</li>
<li>images, text, rectangles, … are objects that can be drawed on that surface (i.e. img = ctx.createImage(); )</li>
<li> shapes could be modified on the fly by setShape method (i.e. img.setShape(newShape); )</li>
</ul>
<p><a href="http://ardoino.com/game-be-quick-or-be-dead/" title="Be Quick Or Be Dead: browsergame spell caster powered by dojo gfx and SVG/VML rendering" target="_blank"><strong>Play now!!</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ardoino.com/17-game-be-quick-or-be-dead/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP class : socks 4, socks 5 and proxy lists validation (based on curl lib)</title>
		<link>http://ardoino.com/13-php-socks-proxy-validation/</link>
		<comments>http://ardoino.com/13-php-socks-proxy-validation/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 07:00:03 +0000</pubDate>
		<dc:creator>Paolo Ardoino</dc:creator>
				<category><![CDATA[Anonymity]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[socks]]></category>

		<guid isPermaLink="false">http://ardoino.com/13-php-socks-proxy-validation/</guid>
		<description><![CDATA[Anonymity is one of my favourites&#8217; interests :) (try ksb26) .
This simple PHP 5 class validates Socks4 , Socks5 and Proxy lists.

Version: 0.2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
&#60;?php
&#160;
// PHP anonymity checker
//
//   (c) Involutive 2008 http://www.involutive.com
//   author: Paolo Ardoino &#60; paolo@involutive.com &#62;
//
//      Usage:
//          [...]]]></description>
			<content:encoded><![CDATA[<p>Anonymity is one of my favourites&#8217; interests :) (try <a href="http://ksb.sourceforge.net">ksb26</a>) .</p>
<p>This simple PHP 5 class validates <a href="http://labs.involutive.com/anon/">Socks4 , Socks5 and Proxy</a> lists.<br />
<span id="more-13"></span></p>
<p><strong>Version</strong>: 0.2</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// PHP anonymity checker</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//   (c) Involutive 2008 http://www.involutive.com</span>
<span style="color: #666666; font-style: italic;">//   author: Paolo Ardoino &lt; paolo@involutive.com &gt;</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//      Usage:</span>
<span style="color: #666666; font-style: italic;">//              $anons = array(</span>
<span style="color: #666666; font-style: italic;">//                      array(&quot;ip&quot; =&gt; &quot;1.2.3.4&quot;, &quot;port&quot; =&gt; 8080, &quot;type&quot; =&gt; &quot;socks4&quot;),</span>
<span style="color: #666666; font-style: italic;">//                      array(&quot;ip&quot; =&gt; &quot;1.2.3.5&quot;, &quot;port&quot; =&gt; 8080, &quot;type&quot; =&gt; &quot;socks5&quot;),</span>
<span style="color: #666666; font-style: italic;">//                      array(&quot;ip&quot; =&gt; &quot;1.2.3.6&quot;, &quot;port&quot; =&gt; 8080, &quot;type&quot; =&gt; &quot;proxy&quot;)</span>
<span style="color: #666666; font-style: italic;">//              );</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//              $pa = new phpanon(array(&quot;anons&quot; =&gt; $anons));</span>
<span style="color: #666666; font-style: italic;">//              $pa-&gt;check();</span>
<span style="color: #666666; font-style: italic;">//              $pa-&gt;done();</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//              $anons is an array of triples (&quot;ip&quot; =&gt; ip, &quot;port&quot; =&gt; port, &quot;type&quot; =&gt; type)</span>
<span style="color: #666666; font-style: italic;">//                      ip: ip address of the socks / proxy</span>
<span style="color: #666666; font-style: italic;">//                      port: port of the socks / proxy</span>
<span style="color: #666666; font-style: italic;">//                      type: socks5 (for socks5), socks4 (for socks4), proxy (for proxy)</span>
<span style="color: #666666; font-style: italic;">//</span>
<span style="color: #666666; font-style: italic;">//              Other options:</span>
<span style="color: #666666; font-style: italic;">//                      &quot;url&quot; =&gt; &quot;http://www.example.com&quot; : connection test page</span>
<span style="color: #666666; font-style: italic;">//                      &quot;needle&quot; =&gt; &quot;someword&quot; : some word contained in the page set by &quot;url&quot;</span>
<span style="color: #666666; font-style: italic;">//                      &quot;user_agent&quot; =&gt; &quot;Mozilla Firefox&quot; : set an alternative user_agent</span>
<span style="color: #666666; font-style: italic;">//                      &quot;url_referer&quot; =&gt; &quot;http://www.mypage.com&quot; : set a referer url</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">class</span> phpanon <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$anons</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000088;">$opts</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;url_referer&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;url&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;http://www.google.com&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;needle&quot;</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">&quot;groups&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #000088;">$opts</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;anons&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> 0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">anons</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;anons&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url_referer&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url_referer&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url_referer&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> check<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;PHP anonymity checker v0.2<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\t</span>(c) 2007 Involutive http://www.involutive.com<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\t</span>Author: Paolo Ardoino &lt; paolo@involutive.com &gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">anons</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> 0<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> 0<span style="color: #339933;">,</span> <span style="color: #000088;">$cnt_good</span> <span style="color: #339933;">=</span> 0<span style="color: #339933;">,</span> <span style="color: #000088;">$cnt_gad</span> <span style="color: #339933;">=</span> 0<span style="color: #339933;">,</span> <span style="color: #000088;">$y</span> <span style="color: #339933;">=</span> <span style="color: #990000;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">anons</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span> <span style="color: #339933;">&lt;</span> <span style="color: #000088;">$y</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #000088;">$anon</span> <span style="color: #339933;">=</span> <span style="color: #339933;">&amp;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">anons</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ip&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                    <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Checking &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ip&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; [ type &quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; ] ... &quot;</span><span style="color: #339933;">;</span>
                    <span style="color: #000088;">$ch</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_init</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_RETURNTRANSFER<span style="color: #339933;">,</span> 1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_HEADER<span style="color: #339933;">,</span> 0<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_CONNECTTIMEOUT<span style="color: #339933;">,</span> 10<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_TIMEOUT<span style="color: #339933;">,</span> 10<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_FOLLOWLOCATION<span style="color: #339933;">,</span> 1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_USERAGENT<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;user_agent&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url_referer&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_REFERER<span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;url_referer&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
&nbsp;
                    <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXY<span style="color: #339933;">,</span> <span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;ip&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;:&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;port&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;socks4&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXYTYPE<span style="color: #339933;">,</span> CURLPROXY_SOCKS4<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;type&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;socks5&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #990000;">curl_setopt</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #339933;">,</span> CURLOPT_PROXYTYPE<span style="color: #339933;">,</span> CURLPROXY_SOCKS5<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
                    <span style="color: #000088;">$html</span> <span style="color: #339933;">=</span> <span style="color: #990000;">curl_exec</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">curl_errno</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> <span style="color: #000088;">$html</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">||</span> <span style="color: #990000;">strpos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$html</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">opts</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;needle&quot;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">===</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        <span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;status&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$cnt_gad</span><span style="color: #339933;">++;</span>
                        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;not working<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span> <span style="color: #b1b100;">else</span> <span style="color: #009900;">&#123;</span>
&nbsp;
                        <span style="color: #000088;">$anon</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">&quot;status&quot;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
                        <span style="color: #000088;">$cnt_good</span><span style="color: #339933;">++;</span>
                        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;working<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #990000;">curl_close</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                    <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ch</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #009900;">&#125;</span>
                <span style="color: #990000;">unset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$anon</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;Done.<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://ardoino.com/13-php-socks-proxy-validation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
