<?xml version="1.0" encoding="gb2312"?>
<feed xmlns="http://www.w3.org/2005/Atom">
   <title>windtear 追求完美</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/" />
   <link rel="self" type="application/atom+xml" href="http://windtear.net/atom.xml" />
   <id>tag:windtear.net,2008://3</id>
   <updated>2008-10-18T13:15:33Z</updated>
   <subtitle>计算机技术 网络技术 互联网应用学习研究 Linux Windows IT技术</subtitle>
   <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.35</generator>

<entry>
   <title>pac 代理脚本与 IE Firefox Chrome 浏览器</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/10/proxy_pac_ie_firefox_chrome.html" />
   <id>tag:windtear.net,2008://3.1356</id>
   
   <published>2008-10-18T11:10:17Z</published>
   <updated>2008-10-18T13:15:33Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/10/proxy_pac_ie_firefox_chrome.html
ipcn 提供 pac 代理服务 需要认证 然后发现来自&quot;WinHttp-Autoproxy-Service/5.1&quot; 请求 .pac 特别多 也不含压缩头 Google 了下发现 http://code.google.com/p/chromium/issues/detail?id=1684 http://msdn.microsoft.com/en-us/library/aa383153(VS.85).aspx 说是调用WinHttpGetProxyForUrl时把fAutoLogonIfChallenged设成false就没事了 WinHTTP AutoProxy 由于设的是 true 所以每次都去请求:( 然后又观察了 IE Firefox Chrome 等处理 pac 的情况 IE GET pac 不带压缩头 带原始的 User-Agent： User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32) User-Agent:...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="浏览器" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="199" label="pac" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="36" label="proxy" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/10/proxy_pac_ie_firefox_chrome.html">http://windtear.net/2008/10/proxy_pac_ie_firefox_chrome.html</a></p>
<p><a href="http://proxy.ipcn.org/">ipcn</a> 提供 pac 代理服务  需要认证<br />
然后发现来自"WinHttp-Autoproxy-Service/5.1" 请求 .pac 特别多 也不含压缩头</p>

<p>Google 了下发现<br />
<a href="http://code.google.com/p/chromium/issues/detail?id=1684">http://code.google.com/p/chromium/issues/detail?id=1684</a><br />
<a href="http://msdn.microsoft.com/en-us/library/aa383153(VS.85).aspx">http://msdn.microsoft.com/en-us/library/aa383153(VS.85).aspx</a><br />
说是调用WinHttpGetProxyForUrl时把fAutoLogonIfChallenged设成false就没事了<br />
WinHTTP AutoProxy 由于设的是 true 所以每次都去请求:(</p>

<p>然后又观察了 IE Firefox Chrome 等处理 pac 的情况<br />
IE GET pac 不带压缩头 带原始的 User-Agent：<br />
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)<br />
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Win32)<br />
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Win32)<br />
还有 Accept: */*  和 Cookie 之前如果已cache的话 还会带上 If-Modified-Since</p>

<p>Firefox 带的头很全 包括压缩头 Accept-Encoding: gzip,deflate 和 no-cache</p>

<p>Google Chrome 比较懒 不带压缩头 连 User-Agent 头都没有</p>

<p>pac 代理脚本这块可以用一些小技巧 比如<br />
function FindProxyForURL(url, host)<br />
if - else if - else<br />
var lchost = host.toLowerCase();<br />
var lcurl = url.toLowerCase();<br />
(url.substring(0, 4) != "http")<br />
isPlainHostName(host)<br />
dnsDomainIs(host,".cn")<br />
!isResolvable(host)<br />
rip = dnsResolve(host);<br />
isInNet(rip,"192.168.0.0","255.255.0.0")<br />
(shExpMatch(host, "*sixxs.org"))<br />
return "PROXY test.proxy.ipcn.org:3128; DIRECT";<br />
详见 Netscape 的帮助 proxy-live.html<br />
关于 MIME type 推荐的是 application/x-ns-proxy-autoconfig 不过 text/plain 也都干活</p>

<p>遇到的问题有：<br />
如果pac下载不全 每次调用 isInNet(host, ...) 都会发起dns查询 改成rip就好了<br />
Vista Win2003 的 WinHTTP AutoProxy 服务会每个请求都去刷 pac<br />
Web Proxy Auto-Discovery (WPAD) protocol： (/wpad.dat)<br />
DHCP option 252<br />
option wpad code 252 = text;<br />
option wpad "http://192.168.1.1/proxy.pac";</p>

<p>Redirect /wpad.dat http://192.168.1.1/proxy.pac</p>

<p>代理过程：<br />
需认证的话 第一次返回 407(ERR_CACHE_ACCESS_DENIED)<br />
给出 Proxy-Authenticate: Basic realm="ipcn proxy server"<br />
认证通过后 如果不允许返回 403(ERR_ACCESS_DENIED)<br />
如果允许则以后带上 Proxy-Authorization: Basic ... 头正常使用代理<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>2008年最新版个人所得税计算器3 (7月后有效 基数9966 公积金比例为12% 养老医保调整后)</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html" />
   <id>tag:windtear.net,2008://3.1355</id>
   
   <published>2008-08-19T05:29:27Z</published>
   <updated>2008-08-19T05:37:39Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html
2008年最新版个人所得税计算器3 (7月后有效 基数9966 公积金比例为12% 养老医保调整后) 输入 税前工资 或 应付工资 其他自动算出来显示 税前工资： * 应付工资： * (等于税前工资减去三险一金) 公积金比例： 8% 10% 12% 所得税： 税后工资： (实际到手的净收入) 养老保险： (每年4月份调整：按8%算 ) 医疗保险： (每年3月份调整：按2%算 包括3元互助) 公积金： (每年7月份调整：按12%算 供参考 以前是10% 8%) 失业保险： (每年4月份调整：按0.5%算) 税率： 调节数： 转载请注明出处 http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html 过去几年的个人所得税计算器：...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="杂项" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="152" label="个人所得税" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="153" label="计算器" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html">http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html</a></p>
<pre>2008年最新版个人所得税计算器3 (7月后有效 基数9966 公积金比例为12% 养老医保调整后)

<p>输入 税前工资 或 应付工资 其他自动算出来显示</p>

<p>税前工资： <input id="beforeSalary" name="beforeSalary" type=text value="" onkeyup="return calcTax(2);" onchange="return calcTax(2);"> *<br />
应付工资： <input id="shouldSalary" name="shouldSalary" type=text value="" onkeyup="return calcTax(1);" onchange="return calcTax(1);"> * (等于税前工资减去三险一金)<br />
公积金比例： <input id="gjjratio1" name="gjjratio" type="radio" value="8" onclick="return calcTax(2);">8% <input id="gjjratio2" name="gjjratio" type="radio" value="10" onclick="return calcTax(2);">10% <input id="gjjratio3" name="gjjratio" type="radio" value="12" onclick="return calcTax(2);" checked>12%<br />
所得税：   <input id="tax" name="tax" type=text><br />
税后工资： <input id="resultSalary" name="resultSalary" type=text> (实际到手的净收入)</p>

<p>养老保险： <input id="yanglao" name="yanglao" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年4月份调整</a>：按8%算 )<br />
医疗保险： <input id="yibao" name="yibao" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年3月份调整</a>：按2%算 包括3元互助)<br />
公积金：   <input id="gongjijin" name="gongjijin" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年7月份调整</a>：按12%算 供参考 以前是10% 8%)<br />
失业保险： <input id="shiye" name="shiye" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年4月份调整</a>：按0.5%算)<br />
税率：     <input id="taxRatio" name="taxRatio" type=text><br />
调节数：   <input id="taxAdjust" name="taxAdjust" type=text><br />
<input type=submit value="计算" onclick="return calcTax();"></p>

<p>转载请注明出处 <a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html">http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html</a><br />
过去几年的个人所得税计算器：<br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html">2008年最新版个人所得税计算器3 (7月后有效 基数9966 公积金比例为12% 养老医保调整后)</a><br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html">2008年最新版个人所得税计算器2 (7月后有效 基数9966 公积金比例为12% 养老医保调整前)</a><br />
<a href="http://windtear.net/2008/02/personal_income_tax_calculator_2008v1.html">2008年最新版个人所得税计算器1 (3月后有效 起征点调整为2000元后)</a><br />
<a href="http://windtear.net/archives/2007/08/01/001262.html">2007最新版个人所得税计算器2 (7月后有效 社保公积金调整后)</a><br />
<a href="http://windtear.net/archives/2007/05/16/001233.html">2007最新版个人所得税计算器1 (7月前有效 社保调整后 公积金调整前)</a><br />
<a href="http://windtear.net/archives/2006/01/04/000876.html">2006最新版个人所得税计算器</a><br />
<a href="http://windtear.net/archives/2005/10/15/000798.html">2005个人所得税计算器</a></p>

<p><script type="text/javascript"><!--<br />
function calcTax(a) {<br />
switch (a) {<br />
	case 1:<br />
	var shouldSalary=parseFloat(document.getElementById("shouldSalary").value);<br />
	if (shouldSalary>0) {<br />
	document.getElementById("beforeSalary").value="";<br />
	document.getElementById("yanglao").value="";<br />
	document.getElementById("yibao").value="";<br />
	document.getElementById("gongjijin").value="";<br />
	document.getElementById("shiye").value="";<br />
	}<br />
	break;<br />
	case 2:<br />
	var beforeSalary=parseFloat(document.getElementById("beforeSalary").value);<br />
	if (beforeSalary>=9966) {<br />
		var yanglao=797.28;<br />
		var yibao=202.32;<br />
		var gongjijin=1196;<br />
		if(document.getElementById("gjjratio1").checked==true) { gongjijin = 797; }<br />
		else if(document.getElementById("gjjratio2").checked==true) { gongjijin = 997; }<br />
		var windtear=1;<br />
		var shiye=49.83;<br />
		var shouldSalary=parseFloat(beforeSalary-yanglao-yibao-gongjijin-shiye).toFixed(2);<br />
	} else {<br />
		var yanglao=parseFloat(beforeSalary*0.08).toFixed(2);<br />
		var yibao=parseFloat(beforeSalary*0.02+3).toFixed(2);<br />
		var gongjijin=parseFloat(beforeSalary*0.12).toFixed(0);<br />
		if (document.getElementById("gjjratio1").checked==true) { gongjijin = parseFloat(beforeSalary*0.08).toFixed(0); }<br />
		else if (document.getElementById("gjjratio2").checked==true) { gongjijin = parseFloat(beforeSalary*0.1).toFixed(0); }<br />
		var windtear=1;<br />
		var shiye=parseFloat(beforeSalary*0.005).toFixed(2);<br />
		var shouldSalary=parseFloat(beforeSalary-yanglao-yibao-gongjijin-shiye).toFixed(2);<br />
	}<br />
	if (shouldSalary>0) {<br />
	document.getElementById("shouldSalary").value=shouldSalary;<br />
	document.getElementById("yanglao").value=yanglao;<br />
	document.getElementById("yibao").value=yibao;<br />
	document.getElementById("gongjijin").value=gongjijin;<br />
	document.getElementById("shiye").value=shiye;<br />
	}<br />
	break;			<br />
}</p>

<p>if (shouldSalary>0) {<br />
var taxSalary=(shouldSalary-2000);<br />
var taxRatio=0;<br />
var taxAdjust=0;</p>

<p>if (taxSalary<=0) {taxRatio=0;taxAdjust=0;}<br />
else if (taxSalary>0&&taxSalary<=500) {taxRatio=0.05;taxAdjust=0;}<br />
else if (taxSalary>500&&taxSalary<=2000) {taxRatio=0.10;taxAdjust=25;}<br />
else if (taxSalary>2000&&taxSalary<=5000) {taxRatio=0.15;taxAdjust=125;}<br />
else if (taxSalary>5000&&taxSalary<=20000) {taxRatio=0.20;taxAdjust=375;}<br />
else if (taxSalary>20000&&taxSalary<=40000) {taxRatio=0.25;taxAdjust=1375;}<br />
else if (taxSalary>40000&&taxSalary<=60000) {taxRatio=0.30;taxAdjust=3375;}<br />
else if (taxSalary>60000&&taxSalary<=80000) {taxRatio=0.35;taxAdjust=6375;}<br />
else if (taxSalary>80000&&taxSalary<=100000) {taxRatio=0.40;taxAdjust=10375;}<br />
else if (taxSalary>100000) {taxRatio=0.45;taxAdjust=15375;}<br />
var tax=parseFloat(taxSalary*taxRatio-taxAdjust).toFixed(2);</p>

<p>var resultSalary=parseFloat(shouldSalary-tax).toFixed(2);</p>

<p>document.getElementById("taxRatio").value=taxRatio;<br />
document.getElementById("taxAdjust").value=taxAdjust;<br />
document.getElementById("tax").value=tax;<br />
document.getElementById("resultSalary").value=resultSalary;<br />
}<br />
}<br />
document.getElementById("beforeSalary").focus()<br />
// --></script><br />
</pre></p>]]>
      
   </content>
</entry>
<entry>
   <title>2008年最新版个人所得税计算器2 (7月后有效 基数9966 公积金比例为12% 养老医保调整前)</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html" />
   <id>tag:windtear.net,2008://3.1354</id>
   
   <published>2008-08-19T04:15:30Z</published>
   <updated>2008-08-19T05:38:09Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html
2008年最新版个人所得税计算器2 (7月后有效 基数9966 公积金比例为12% 养老医保调整前) 输入 税前工资 或 应付工资 其他自动算出来显示 税前工资： * 应付工资： * (等于税前工资减去三险一金) 公积金比例： 8% 10% 12% 所得税： 税后工资： (实际到手的净收入) 养老保险： (每年4月份调整：按8%算 ) 医疗保险： (每年3月份调整：按2%算 包括3元互助) 公积金： (每年7月份调整：按12%算 供参考 以前是10% 8%) 失业保险： (每年4月份调整：按0.5%算) 税率： 调节数： 转载请注明出处 http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html 过去几年的个人所得税计算器：...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="杂项" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="152" label="个人所得税" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="153" label="计算器" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html">http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html</a></p>
<pre>2008年最新版个人所得税计算器2 (7月后有效 基数9966 公积金比例为12% 养老医保调整前)

<p>输入 税前工资 或 应付工资 其他自动算出来显示</p>

<p>税前工资： <input id="beforeSalary" name="beforeSalary" type=text value="" onkeyup="return calcTax(2);" onchange="return calcTax(2);"> *<br />
应付工资： <input id="shouldSalary" name="shouldSalary" type=text value="" onkeyup="return calcTax(1);" onchange="return calcTax(1);"> * (等于税前工资减去三险一金)<br />
公积金比例： <input id="gjjratio1" name="gjjratio" type="radio" value="8" onclick="return calcTax(2);">8% <input id="gjjratio2" name="gjjratio" type="radio" value="10" onclick="return calcTax(2);">10% <input id="gjjratio3" name="gjjratio" type="radio" value="12" onclick="return calcTax(2);" checked>12%<br />
所得税：   <input id="tax" name="tax" type=text><br />
税后工资： <input id="resultSalary" name="resultSalary" type=text> (实际到手的净收入)</p>

<p>养老保险： <input id="yanglao" name="yanglao" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年4月份调整</a>：按8%算 )<br />
医疗保险： <input id="yibao" name="yibao" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年3月份调整</a>：按2%算 包括3元互助)<br />
公积金：   <input id="gongjijin" name="gongjijin" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年7月份调整</a>：按12%算 供参考 以前是10% 8%)<br />
失业保险： <input id="shiye" name="shiye" type=text> (<a href="http://windtear.net/archives/2006/06/02/000996.html">每年4月份调整</a>：按0.5%算)<br />
税率：     <input id="taxRatio" name="taxRatio" type=text><br />
调节数：   <input id="taxAdjust" name="taxAdjust" type=text><br />
<input type=submit value="计算" onclick="return calcTax();"></p>

<p>转载请注明出处 <a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html">http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html</a><br />
过去几年的个人所得税计算器：<br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v3.html">2008年最新版个人所得税计算器3 (7月后有效 基数9966 公积金比例为12% 养老医保调整后)</a><br />
<a href="http://windtear.net/2008/08/personal_income_tax_calculator_2008v2.html">2008年最新版个人所得税计算器2 (7月后有效 基数9966 公积金比例为12% 养老医保调整前)</a><br />
<a href="http://windtear.net/2008/02/personal_income_tax_calculator_2008v1.html">2008年最新版个人所得税计算器1 (3月后有效 起征点调整为2000元后)</a><br />
<a href="http://windtear.net/archives/2007/08/01/001262.html">2007最新版个人所得税计算器2 (7月后有效 社保公积金调整后)</a><br />
<a href="http://windtear.net/archives/2007/05/16/001233.html">2007最新版个人所得税计算器1 (7月前有效 社保调整后 公积金调整前)</a><br />
<a href="http://windtear.net/archives/2006/01/04/000876.html">2006最新版个人所得税计算器</a><br />
<a href="http://windtear.net/archives/2005/10/15/000798.html">2005个人所得税计算器</a></p>

<p><script type="text/javascript"><!--<br />
function calcTax(a) {<br />
switch (a) {<br />
	case 1:<br />
	var shouldSalary=parseFloat(document.getElementById("shouldSalary").value);<br />
	if (shouldSalary>0) {<br />
	document.getElementById("beforeSalary").value="";<br />
	document.getElementById("yanglao").value="";<br />
	document.getElementById("yibao").value="";<br />
	document.getElementById("gongjijin").value="";<br />
	document.getElementById("shiye").value="";<br />
	}<br />
	break;<br />
	case 2:<br />
	var beforeSalary=parseFloat(document.getElementById("beforeSalary").value);<br />
	if (beforeSalary>=9966) {<br />
		var yanglao=721.92;<br />
		var yibao=183.48;<br />
		var gongjijin=1196;<br />
		if(document.getElementById("gjjratio1").checked==true) { gongjijin = 797; }<br />
		else if(document.getElementById("gjjratio2").checked==true) { gongjijin = 997; }<br />
		var windtear=1;<br />
		var shiye=45.12;<br />
		var shouldSalary=parseFloat(beforeSalary-yanglao-yibao-gongjijin-shiye).toFixed(2);<br />
	} else {<br />
		var yanglao=parseFloat(beforeSalary*0.08).toFixed(2);<br />
		if (yanglao>721.92) { yanglao=721.92; }<br />
		var yibao=parseFloat(beforeSalary*0.02+3).toFixed(2);<br />
		if (yibao>183.48) { yibao=183.48; }<br />
		var gongjijin=parseFloat(beforeSalary*0.12).toFixed(0);<br />
		if (document.getElementById("gjjratio1").checked==true) { gongjijin = parseFloat(beforeSalary*0.08).toFixed(0); }<br />
		else if (document.getElementById("gjjratio2").checked==true) { gongjijin = parseFloat(beforeSalary*0.1).toFixed(0); }<br />
		var windtear=1;<br />
		var shiye=parseFloat(beforeSalary*0.005).toFixed(2);<br />
		if (shiye>45.12) { shiye=45.12; }<br />
		var shouldSalary=parseFloat(beforeSalary-yanglao-yibao-gongjijin-shiye).toFixed(2);<br />
	}<br />
	if (shouldSalary>0) {<br />
	document.getElementById("shouldSalary").value=shouldSalary;<br />
	document.getElementById("yanglao").value=yanglao;<br />
	document.getElementById("yibao").value=yibao;<br />
	document.getElementById("gongjijin").value=gongjijin;<br />
	document.getElementById("shiye").value=shiye;<br />
	}<br />
	break;			<br />
}</p>

<p>if (shouldSalary>0) {<br />
var taxSalary=(shouldSalary-2000);<br />
var taxRatio=0;<br />
var taxAdjust=0;</p>

<p>if (taxSalary<=0) {taxRatio=0;taxAdjust=0;}<br />
else if (taxSalary>0&&taxSalary<=500) {taxRatio=0.05;taxAdjust=0;}<br />
else if (taxSalary>500&&taxSalary<=2000) {taxRatio=0.10;taxAdjust=25;}<br />
else if (taxSalary>2000&&taxSalary<=5000) {taxRatio=0.15;taxAdjust=125;}<br />
else if (taxSalary>5000&&taxSalary<=20000) {taxRatio=0.20;taxAdjust=375;}<br />
else if (taxSalary>20000&&taxSalary<=40000) {taxRatio=0.25;taxAdjust=1375;}<br />
else if (taxSalary>40000&&taxSalary<=60000) {taxRatio=0.30;taxAdjust=3375;}<br />
else if (taxSalary>60000&&taxSalary<=80000) {taxRatio=0.35;taxAdjust=6375;}<br />
else if (taxSalary>80000&&taxSalary<=100000) {taxRatio=0.40;taxAdjust=10375;}<br />
else if (taxSalary>100000) {taxRatio=0.45;taxAdjust=15375;}<br />
var tax=parseFloat(taxSalary*taxRatio-taxAdjust).toFixed(2);</p>

<p>var resultSalary=parseFloat(shouldSalary-tax).toFixed(2);</p>

<p>document.getElementById("taxRatio").value=taxRatio;<br />
document.getElementById("taxAdjust").value=taxAdjust;<br />
document.getElementById("tax").value=tax;<br />
document.getElementById("resultSalary").value=resultSalary;<br />
}<br />
}<br />
document.getElementById("beforeSalary").focus()<br />
// --></script><br />
</pre></p>]]>
      
   </content>
</entry>
<entry>
   <title>squid封禁不带User-Agent的请求</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/08/squid_deny_empty_user-agent.html" />
   <id>tag:windtear.net,2008://3.1353</id>
   
   <published>2008-08-04T15:13:32Z</published>
   <updated>2008-08-04T15:23:43Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/08/squid_deny_empty_user-agent.html
<![CDATA[看awstats分析报表 很多请求不带User-Agent头 Unknown robot (identified by empty user agent string) 于是就封禁了 加两行squid配置 acl has_ua browser .+ http_access notfound !has_ua 其中notfound 可以用deny 这里是改过的 status = HTTP_NOT_FOUND page_id = ERR_INVALID_URL ERR_INVALID_URL 也是改过的 &lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;...]]></summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="squid" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="6" label="squid" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/08/squid_deny_empty_user-agent.html">http://windtear.net/2008/08/squid_deny_empty_user-agent.html</a></p>
<p>看<a href="http://windtear.net/tech/awstats.html">awstats</a>分析报表 很多请求不带User-Agent头<br />
Unknown robot (identified by empty user agent string)<br />
于是就封禁了 加两行<a href="http://windtear.net/tech/squid.html">squid</a>配置<br />
acl has_ua browser .+<br />
http_access notfound !has_ua</p>

<p>其中notfound 可以用deny 这里是改过的 status = HTTP_NOT_FOUND<br />
page_id = ERR_INVALID_URL ERR_INVALID_URL 也是改过的<br />
&lt;TITLE&gt;404 Not Found&lt;/TITLE&gt;<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>手工搞迅雷 Thunder</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/08/thunder.html" />
   <id>tag:windtear.net,2008://3.1352</id>
   
   <published>2008-08-04T15:02:51Z</published>
   <updated>2008-08-04T15:09:28Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/08/thunder.html
昨天第一次在自己电脑上搞迅雷 (不是安装迅雷) 下载 Thunder5.8.3.556.exe 解压 按照install_script.iss改了{app}\下几个目录名 (Components下一个不改 Program\Ad 改成只读文件) 然后运行 Thunder.exe 很干净 还能干活 第一次在自己电脑上搞迅雷 首战告捷:)...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="软件" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="196" label="迅雷" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/08/thunder.html">http://windtear.net/2008/08/thunder.html</a></p>
<p>昨天第一次在自己电脑上搞迅雷 (不是安装迅雷)<br />
下载 Thunder5.8.3.556.exe 解压<br />
按照install_script.iss改了{app}\下几个目录名<br />
(Components下一个不改 Program\Ad 改成只读文件)<br />
然后运行 Thunder.exe 很干净 还能干活</p>

<p>第一次在自己电脑上搞迅雷 首战告捷:)<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>apache 哪个版本开始 gzip压缩版的 ETag 最后加个 -gzip</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/07/apache_etag_-gzip.html" />
   <id>tag:windtear.net,2008://3.1351</id>
   
   <published>2008-07-13T15:42:51Z</published>
   <updated>2008-07-13T15:57:37Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/07/apache_etag_-gzip.html
今天看apache主页 发现gzip压缩版的 ETag 最后加个 -gzip &quot;329c25-21a3-44f8c636dd240&quot;-gzip 不知道从哪个版本开始的 看 ChangeLog 没看出来 1. 不带 Accept-Encoding: gzip, deflate 头 HTTP/1.1 200 OK Date: Sun, 13 Jul 2008 11:43:19 GMT Server: Apache/2.2.9 (Unix) Last-Modified: Fri, 13 Jun 2008 13:38:09 GMT ETag: &quot;329c25-21a3-44f8c636dd240&quot; Accept-Ranges: bytes...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="软件" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="38" label="apache" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="6" label="squid" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/07/apache_etag_-gzip.html">http://windtear.net/2008/07/apache_etag_-gzip.html</a></p>
<p>今天看<a href="http://httpd.apache.org/">apache主页</a><br />
发现gzip压缩版的 ETag 最后加个 -gzip "329c25-21a3-44f8c636dd240"-gzip<br />
不知道从哪个版本开始的 看 <a href="http://www.apache.org/dist/httpd/CHANGES_2.2">ChangeLog</a> 没看出来</p>

<p>1. 不带 Accept-Encoding: gzip, deflate 头<br />
HTTP/1.1 200 OK<br />
Date: Sun, 13 Jul 2008 11:43:19 GMT<br />
Server: Apache/2.2.9 (Unix)<br />
Last-Modified: Fri, 13 Jun 2008 13:38:09 GMT<br />
ETag: "329c25-21a3-44f8c636dd240"<br />
Accept-Ranges: bytes<br />
Content-Length: 8611<br />
Vary: Accept-Encoding<br />
Content-Type: text/html<br />
X-Pad: avoid browser bug</p>

<p>2. 带 Accept-Encoding: gzip, deflate 头<br />
HTTP/1.1 200 OK<br />
Date: Sun, 13 Jul 2008 11:46:45 GMT<br />
Server: Apache/2.2.9 (Unix)<br />
Last-Modified: Fri, 13 Jun 2008 13:38:09 GMT<br />
ETag: "329c25-21a3-44f8c636dd240"-gzip<br />
Accept-Ranges: bytes<br />
Vary: Accept-Encoding<br />
Content-Encoding: gzip<br />
Content-Length: 2303<br />
Content-Type: text/html</p>

<p>以前 apache 不管压缩不压缩返回的 ETag 都一样<br />
squid 2.6 针对此还特意做了个选项<br />
acl apache rep_header Server ^Apache<br />
broken_vary_encoding allow apache</p>]]>
      
   </content>
</entry>
<entry>
   <title>[squid patch] 解决 Accept-Encoding 不一致造成的多份缓存问题</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/07/squid_patch_accept-encoding_multi_cache.html" />
   <id>tag:windtear.net,2008://3.1350</id>
   
   <published>2008-07-10T13:25:12Z</published>
   <updated>2008-07-10T17:08:46Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/07/squid_patch_accept-encoding_multi_cache.html
<![CDATA[解决的是 IE Firefox 搜索引擎spider 的 Accept-Encoding 不一致造成的多份缓存问题 MSIE 的 Accept-Encoding 是 gzip, deflate Firefox Googlebot 的是 gzip,deflate (之间没有空格) 多份缓存说明穿透的风险 还是有些危险的 --- squid-2.6.STABLE21.orig/src/http.c 2008-04-02 09:03:47.000000000 +0800 +++ squid-2.6.STABLE21/src/http.c 2008-07-10 21:17:26.000000000 +0800 @@ -387,14 +387,20 @@ } strListAdd(&vstr, name, ','); hdr =...]]></summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="squid" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="浏览器" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="192" label="squid，patch" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/07/squid_patch_accept-encoding_multi_cache.html">http://windtear.net/2008/07/squid_patch_accept-encoding_multi_cache.html</a></p>
<pre>解决的是 IE Firefox 搜索引擎spider 的 Accept-Encoding 不一致造成的多份缓存问题
MSIE 的 Accept-Encoding 是 gzip, deflate
Firefox Googlebot 的是 gzip,deflate (之间没有空格)
多份缓存说明穿透的风险 还是有些危险的

<p>--- squid-2.6.STABLE21.orig/src/http.c	2008-04-02 09:03:47.000000000 +0800<br />
+++ squid-2.6.STABLE21/src/http.c	2008-07-10 21:17:26.000000000 +0800<br />
@@ -387,14 +387,20 @@<br />
 	}<br />
 	strListAdd(&vstr, name, ',');<br />
 	hdr = httpHeaderGetByName(&request->header, name);<br />
-	safe_free(name);<br />
 	value = strBuf(hdr);<br />
 	if (value) {<br />
+	    if (strcmp(name, "accept-encoding") != 0) {<br />
 	    value = rfc1738_escape_part(value);<br />
 	    stringAppend(&vstr, "=\"", 2);<br />
 	    stringAppend(&vstr, value, strlen(value));<br />
 	    stringAppend(&vstr, "\"", 1);<br />
+	    } else {<br />
+		if(strstr(value,"gzip") != NULL || strstr(value,"deflate") != NULL) {<br />
+	    		stringAppend(&vstr, "=\"gzip,\%20deflate\"", 18);<br />
+		}<br />
+	    }<br />
 	}<br />
+	safe_free(name);<br />
 	stringClean(&hdr);<br />
     }<br />
     safe_free(request->vary_hdr); </p>

<p>这里不考虑 gzip deflate 的大写问题<br />
</pre></p>]]>
      
   </content>
</entry>
<entry>
   <title>ipcn proxy 暂时关闭</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/07/ipcn_proxy_temp_close.html" />
   <id>tag:windtear.net,2008://3.1349</id>
   
   <published>2008-07-09T03:08:25Z</published>
   <updated>2008-07-09T03:13:20Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/07/ipcn_proxy_temp_close.html
由于一些&quot;安全隐患&quot;原因 暂时需要关闭 IPCN 代理服务 祝各位老师同学假期愉快 过一段将在合适的时候想办法再次开放 一. 关于 ipcn.org 的代理服务存在安全隐患 ipcn.org 是我在校时课外做的网站 主要提供一些有益的帮助服务 不收取任何费用 主要包括Norton 诺顿病毒库、FTP 搜索引擎、免费二级域名、IP 地理位置、 Firefox 镜像下载、教育网出国代理等服务 其中出国代理是自己购买的商业带宽，然后分享给大家使用。 这些服务为全校师生的科研、学习提供了一些有益的帮助作用 得到了广泛认可 2004年我拿ipcn.org参加了清华大学第二十二届“挑战杯” 获得了一等奖 毕业后 考虑到这些东西还有用 我就坚持继续做了下去 机器放在了实验室 (现在网站已不在实验室) 关于代理服务 我从技术上做了很多限制: 只允许清华/教育网用户使用 只能访问教育网免费地址之外的地址(web端口80/443) 不能用来访问学校内的资源 不能用来访问学校购买的商业数据库 能直接访问的地方都不能通过ipcn代理访问 为防止被滥用、乱用 做了密码限制 并每两小时更换...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="网络" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="170" label="ipcn" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="36" label="proxy" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/07/ipcn_proxy_temp_close.html">http://windtear.net/2008/07/ipcn_proxy_temp_close.html</a></p>
<p>由于一些"安全隐患"原因 暂时需要关闭 <a href="http://proxy.ipcn.org/">IPCN 代理服务</a> 祝各位老师同学假期愉快<br />
过一段将在合适的时候想办法再次开放</p>

<p>一. 关于 <a href="http://ipcn.org/">ipcn.org</a> 的代理服务存在安全隐患</p>

<p>ipcn.org 是我在校时课外做的网站 主要提供一些有益的帮助服务 不收取任何费用<br />
主要包括<a href="http://norton.ipcn.org/">Norton 诺顿病毒库</a>、<a href="http://search.ipcn.org/">FTP 搜索引擎</a>、<a href="http://domain.ipcn.org/">免费二级域名</a>、<a href="http://whois.ipcn.org/">IP 地理位置</a>、<br />
<a href="http://firefox.ipcn.org/">Firefox 镜像下载</a>、<a href="http://proxy.ipcn.org/">教育网出国代理</a>等服务<br />
其中出国代理是自己购买的商业带宽，然后分享给大家使用。<br />
这些服务为全校师生的科研、学习提供了一些有益的帮助作用 得到了广泛认可</p>

<p>2004年我拿ipcn.org参加了清华大学第二十二届“挑战杯” 获得了一等奖<br />
毕业后 考虑到这些东西还有用 我就坚持继续做了下去 机器放在了实验室<br />
(现在网站已不在实验室)</p>

<p>关于代理服务 我从技术上做了很多限制: <br />
只允许清华/教育网用户使用<br />
只能访问教育网免费地址之外的地址(web端口80/443) 不能用来访问学校内的资源<br />
不能用来访问学校购买的商业数据库 能直接访问的地方都不能通过ipcn代理访问<br />
为防止被滥用、乱用  做了密码限制 并每两小时更换<br />
代理做了使用限制 不能下载大文件 不能多线程 最高使用带宽在 1.x Mb/s(100多KB/s)<br />
代理本身是购买的商业IDC线路 是合法使用<br />
(关于这些 我在主页 <a href="http://proxy.ipcn.org/ipcn_proxy_usage.html#faq">FAQ</a> 做了一些说明)<br />
<a href="http://proxy.ipcn.org/ipcn_proxy_usage.html#faq">http://proxy.ipcn.org/ipcn_proxy_usage.html#faq</a></p>

<p>根据这六年的运行情况(从2002年开始) 从我的角度看 应该是没有安全隐患的<br />
比如大家不能用来在学校随便发表帖子和不当言论等</p>

<p><br />
二. 关于 ipcn.org 有商业广告</p>

<p>关于商业广告 大体是这样的一个情况<br />
ipcn.org不放商业广告 我也没精力去搞这些<br />
后来放了一些 Google AdSense, 包括推广 Firefox 等<br />
从google的技术实现看 大体是一些和网站内容相关的推广<br />
后来看不影响网站内容和风格就放了 <br />
这个我现在放在了公网 也可以删掉<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>盗链、反盗链、反反盗链、反反反盗链</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/05/stealing_link_and_referer_etc.html" />
   <id>tag:windtear.net,2008://3.1348</id>
   
   <published>2008-05-02T17:37:43Z</published>
   <updated>2008-05-03T05:20:51Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/05/stealing_link_and_referer_etc.html
atppp写Google Reader 里看新浪博客图片提到Firefox的RefControl插件 就想到了盗链、反盗链、反反盗链、反反反盗链这个题目 先简单解释一下意思： 盗链：我的图片音乐视频等资源被别人的网页用了 算盗链 反盗链：基于带宽成本考虑等原因 不想让别人用我的图片 只允许我自己用 想法限制 反反盗链：利用我限制方法的漏洞 想法用我不想让用的图片 反反反盗链：完善限制方法 别人想法用也不让用 ...... 简单说就是反盗链一件事 很有意思很具普遍性的一个课题 以前折腾过不少 写写思路 1. 如何盗链： 基本的html知识 如img嵌套一个图片 href链接一个文件下载等 2. 如何反盗链 简单的常用的方法是判断Referer头是不是自己的域名 apache可以通过匹配Referer进行 env 设置 然后Allow Deny squid 可以通过匹配Referer进行 acl 设置 然后http_access alow deny...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="互联网" scheme="http://www.sixapart.com/ns/types#category" />
         <category term="浏览器" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="191" label="反盗链" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/05/stealing_link_and_referer_etc.html">http://windtear.net/2008/05/stealing_link_and_referer_etc.html</a></p>
<p>atppp写<a href="http://blog.wuxinan.net/archives/356">Google Reader 里看新浪博客图片</a>提到Firefox的<a href="https://addons.mozilla.org/en-US/firefox/addon/953">RefControl</a>插件<br />
就想到了盗链、反盗链、反反盗链、反反反盗链这个题目</p>

<p>先简单解释一下意思：<br />
盗链：我的图片音乐视频等资源被别人的网页用了 算盗链<br />
反盗链：基于带宽成本考虑等原因 不想让别人用我的图片 只允许我自己用 想法限制<br />
反反盗链：利用我限制方法的漏洞 想法用我不想让用的图片<br />
反反反盗链：完善限制方法 别人想法用也不让用<br />
......</p>

<p>简单说就是反盗链一件事<br />
很有意思很具普遍性的一个课题 以前折腾过不少 写写思路</p>

<p>1. 如何盗链：<br />
基本的html知识 如img嵌套一个图片 href链接一个文件下载等</p>

<p>2. 如何反盗链<br />
简单的常用的方法是判断Referer头是不是自己的域名<br />
apache可以通过匹配Referer进行 env 设置 然后Allow Deny<br />
squid 可以通过匹配Referer进行 acl 设置 然后http_access alow deny<br />
有一个细节就是不带Referer的请求(空Referer)允不允许 一般都允许 严格的话可以限制<br />
(apache判断 ^$ squid可以通过对有内容取反设置 .+)</p>

<p>3. 如何反反盗链<br />
反反盗链就是绕过前面反盗链的设置<br />
下载软件的思路：一般是加上Referer等<br />
浏览器的思路：一般是改设置不发Referer 或发反盗链不限制的Referer<br />
Firefox的基本设置是 network.http.sendRefererHeader (about:config) 默认是2全发送<br />
改成0 不发送Referer 改成1点链接发送 嵌套图片等不发送Referer头<br />
Firefox 的 RefControl 插件可以基于站点设定Referer策略 或者指定Referer<br />
对付判断Referer为自身或为空等都能反反盗链成功</p>

<p>另外也可以使用代理 代理一层根据需求过滤 Referer</p>

<p>4. 如何反反反盗链<br />
简单的不行了 只能出大招了<br />
比如加上User-Agent等别的头判断(当然也能绕) 正确的是 加上Cookie判断等 记录比对来过的IP<br />
比如根据应用的架构 访问页面时设置session 访问图片等时判断是否来过<br />
或者访问页面时把ip写到内存库 ip库可以放本地内存或远程(提供tcp/udp接口 注意效率)<br />
访问图片时判断来源ip是否在这个ip库再返回正常数据或者404 object not found<br />
技术上还可以更完美更变态一些...</p>

<p><br />
当然并不是都限制"盗链" 比如有些网站资源丰富 或者给图片打上小标签打自己知名度等<br />
限制的话能能节省带宽成本 防止被滥用等<br />
限不限都有道理 反正大家都不容易 可以理解<br />
这些是产品或管理方面的考量了 技术上大体就是上面说的<br />
</p>]]>
      
   </content>
</entry>
<entry>
   <title>PXE 网络安装</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/04/pxe_boot_net_install.html" />
   <id>tag:windtear.net,2008://3.1347</id>
   
   <published>2008-04-13T16:07:43Z</published>
   <updated>2008-04-13T16:13:58Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/04/pxe_boot_net_install.html
PXE网络安装、网络升级是我喜欢的 (4年前开始玩) 简单写几句 1. dhcpd 只需注意两点 一是指定 next-server: tftpboot server 二是指定文件名 /pxelinux.0 (syslinux的) 如果追求完美 就是部署ddns 根据iLO DRAC ELOM主机名动态控制 2. tftpd 注意安全问题: 路径、文件权限 in.tftpd -l -s /tftpboot/ 默认nobody权限 别被恶意覆盖文件就行 如果追求完美 可以在default前写C0A801 0A0200等文件 ks指定可以远程按需动态生成 改改msg 还可以再转换splash图片等 3. httpd (性能好) mount iso (创建yum仓库...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="190" label="pxe" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/04/pxe_boot_net_install.html">http://windtear.net/2008/04/pxe_boot_net_install.html</a></p>
<p>PXE网络安装、网络升级是我喜欢的 (4年前开始玩)<br />
简单写几句</p>

<p>1. dhcpd 只需注意两点<br />
一是指定 next-server: tftpboot server<br />
二是指定文件名 /pxelinux.0 (syslinux的)<br />
如果追求完美 就是部署ddns 根据iLO DRAC ELOM主机名动态控制</p>

<p>2. tftpd 注意安全问题: 路径、文件权限<br />
in.tftpd -l -s /tftpboot/ 默认nobody权限 别被恶意覆盖文件就行<br />
如果追求完美 可以在default前写C0A801 0A0200等文件 ks指定可以远程按需动态生成<br />
改改msg 还可以再转换splash图片等</p>

<p>3. httpd (性能好)<br />
mount iso (创建yum仓库 这里不必需 只是网络升级用)<br />
如果追求完美 可以考虑绑定ip 限制来源 认证等<br />
然后环境就搭好了</p>

<p>注意事项是：<br />
考虑别影响现有dhcp环境<br />
结合vlan或默认选项防止造成灾难重装<br />
再有就是：<br />
<a href="http://windtear.net/archives/2005/07/18/000720.html">多vlan得配802.1q</a><br />
只维护一个dhcp server 做dhcp relay ks按需动态生成就近取源等<br />
log 归档</p>

<p>基本原理是：(dhcp/bootp的功能)<br />
客户端PXE启动 广播dhcp请求<br />
dhcp server回应ip信息 tftp信息<br />
客户端抓取然后启动<br />
输入选择调用对应的ks(kickstart) ks里面指定url源<br />
其他是都在ks里面做了</p>

<p>从完美的角度 细节还是有一些 不过基本上算很简单</p>]]>
      
   </content>
</entry>
<entry>
   <title>windtear&apos;s new PGP Public Key (2008.4.13 ~ 2012.4.12)</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/04/windtear_new_pgp_public_key.html" />
   <id>tag:windtear.net,2008://3.1346</id>
   
   <published>2008-04-13T12:12:37Z</published>
   <updated>2008-04-13T16:59:39Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/04/windtear_new_pgp_public_key.html
4年前仔细研究了 PGP 的知识 今天重新创建一个有效期4年的 PGP Key 以后关键信息会签名发布或者加密发布 05788A15 Fingerprint: A3C4 E2F7 5D1C 457A CC26 49ED CDB5 7620 0578 8A15 [expires: 2012-04-12] gpg -v --keyserver hkp://pgpkeys.mit.edu --recv-key 05788A15 gpg -v --keyserver hkp://subkeys.pgp.net --recv-key 05788A15 http://ipcn.org/windtear.asc http://windtear.net/windtear.asc 附：windtear.asc -----BEGIN PGP PUBLIC KEY...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="安全" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="189" label="PGP" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/04/windtear_new_pgp_public_key.html">http://windtear.net/2008/04/windtear_new_pgp_public_key.html</a></p>
<p><a href="http://windtear.net/archives/2004/04/12/000313.html">4年前仔细研究了 PGP 的知识</a><br />
今天重新创建一个有效期4年的 PGP Key 以后关键信息会签名发布或者加密发布</p>

<p>05788A15<br />
Fingerprint: A3C4 E2F7 5D1C 457A CC26  49ED CDB5 7620 0578 8A15<br />
[expires: 2012-04-12]</p>

<p>gpg -v --keyserver hkp://pgpkeys.mit.edu --recv-key 05788A15<br />
gpg -v --keyserver hkp://subkeys.pgp.net --recv-key 05788A15</p>

<p><a href="http://ipcn.org/windtear.asc">http://ipcn.org/windtear.asc</a><br />
<a href="http://windtear.net/windtear.asc">http://windtear.net/windtear.asc</a></p>

<p>附：windtear.asc<br />
-----BEGIN PGP PUBLIC KEY BLOCK-----<br />
Version: GnuPG v1.4.7 (GNU/Linux)</p>

<p>mQGiBEgB4oQRBACbwtlQOGhRHPX7ng83fWivxFVlIDucDoRee2Pe0OoEwcUGKceR<br />
PDHfiY23QmY6MRxSjkRDsXa0RIlzrNI3BGqC5tn8Ho3kZ/vIz7GibRLetzuu1Dw1<br />
hox01qhezBr1LJ3t98kv2wgkfOToktYq+NJQOGqJMwrCsj3sgPBT62PfawCgwn6b<br />
rKqCsI3BwD3ZwnhCE7LEPPsD/1YxDTf1Hcw/KToek8DBHjSUNOwmPLaojGwefwQL<br />
/lIXCMjZcZaHG7ZOVPxlJjQxnDTrXeMhVl7QrH5nGkFChY5HXdrHbwiL/IkXh/wy<br />
LI40ekTntgzUBQAxxCA6VJ8kYJq+5Vx9LBdat2WTgT8J+baSezoKa15793xTdroM<br />
T1hdBACA0+EhJXnzgYxnjhHSuCZ3PGnK/ub8R/IuQrtnPSBIXKW3ElD4qN7/0USq<br />
KheV+rbZU8I6DcnPzRbECXXigNl1EZg0QmKGE3n05guHFBthIZK/BqhPdrXVpykA<br />
1UWmejxER4DtU8l4lAnU6tTEAbpU6G0Duhp5F1kxqmTvVPnoZLQsd2luZHRlYXIg<br />
KFhpdWxpbmcgWmhhbmcpIDx3aW5kdGVhckBpcGNuLm9yZz6IZgQTEQIAJgUCSAHi<br />
hAIbAwUJB4TOAAYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEM21diAFeIoVMREA<br />
n19v6XfQMpWxoU4y0Mf7OYyudM2iAJ0bAvSLR0YV6l7HFlTmtzx7pzxNpbkCDQRI<br />
AeNREAgA0ccJ/792fWJi7QFYVkGuvXD+v/0bbm6dW5dQCEWAwZy1rc4LzWZOGZnV<br />
ur7TJu/Wc6QHDltgsmZVl39KTuHCOAE27VZPYwfptaEMH0061d7jlo0WVbqcLRI/<br />
6hs98hCYhdA5iaSa8PqfH2aV1BCPt9b+rD+XT/bwOnDlUMmoBacMrm7Nw6SnGt/W<br />
+GQxN0zT6pj3ihpj4l8hunxzIT+3btvLg1q0u7NUvBC41WLt7jnWpYjAkB/DEEiD<br />
QhDkWvz4mGkxLBiOBjy35iwbSmLMptnpUUoRUMHsDjy/h/KuGPNQyySe5QvXhxg+<br />
VxZrAcIphF2smLaLzPucNkOl95Op6wADBQf/Z8jpN8aF/0Vlogm7PB5WW9bhf8zc<br />
k8tOyDaQrT+nEgD5LV0WDWZsmREsemWVTNLd0rZn887gzJfOPEIQpDqgOvjWbs0H<br />
1FvDB/z498Yw8YM1x6GNztLihI8R71tT7Y0Wa2DgdBsY9sTCaWlDC7prSLSuvHD7<br />
t9R4+Zys2BTFQqo2ShNI/Wu7agexAICqjJtyXYD5DL3Fiwsb0Cl5uW1nArFyuDQf<br />
ks9VLxb/hWrX1RDrhsrsA++3l8B70JJ8pu6+i+hMgPelFgMPJl9gnMNqjK3eVaCT<br />
OYvqNI91VlBS1WJk0TYgAsudxyadlwtoWXHnWI/BuOKgoY7/ZyXsQYSC6IhPBBgR<br />
AgAPBQJIAeNRAhsMBQkHhM4AAAoJEM21diAFeIoV+d0An1YknIVsiTd5a7g3Uk1R<br />
Bx8fl/VvAKCPMqvOzm3uc3/tDrmYpTa1/UPrnQ==<br />
=ZcU1<br />
-----END PGP PUBLIC KEY BLOCK-----</p>]]>
      
   </content>
</entry>
<entry>
   <title>Redhat 改默认网关、改静态路由的超详细步骤</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/03/redhat_network_route_gateway.html" />
   <id>tag:windtear.net,2008://3.1344</id>
   
   <published>2008-03-21T02:35:08Z</published>
   <updated>2008-03-21T05:37:14Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/03/redhat_network_route_gateway.html
Redhat 改默认网关、改静态路由的超详细步骤 0. 简单说改默认网关是改 /etc/sysconfig/network 中的 GATEWAY 配置 改静态路由是改 /etc/sysconfig/network-scripts/ 目录的 eth?.route or route-eth? 详细提醒如下 1. 检查内外网流量 是否流量很大正在提供重要服务 得到相关人员确认后再行动 2. 确认是要改的机器 ifconfig (或 ip ad ls) 确认当前所在机器 3. route -n (或 ip route ls) 查看当前默认网关和配置 /etc/sysconfig/network GATEWAY=当前.配置.网关.ip 4. 确认内外网卡配置 ONBOOT...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="网络" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="183" label="路由" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="181" label="gateway" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="182" label="网关" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="180" label="redhat" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/03/redhat_network_route_gateway.html">http://windtear.net/2008/03/redhat_network_route_gateway.html</a></p>
<p>Redhat 改默认网关、改静态路由的超详细步骤</p>

<p>0. 简单说改默认网关是改 /etc/sysconfig/network 中的 GATEWAY 配置<br />
   改静态路由是改 /etc/sysconfig/network-scripts/ 目录的 eth?.route or route-eth?<br />
   详细提醒如下</p>

<p>1. 检查内外网流量 是否流量很大正在提供重要服务<br />
   得到相关人员确认后再行动</p>

<p>2. 确认是要改的机器<br />
   ifconfig (或 ip ad ls) 确认当前所在机器</p>

<p>3. route -n (或 ip route ls) 查看当前默认网关和配置<br />
   /etc/sysconfig/network<br />
   GATEWAY=当前.配置.网关.ip</p>

<p>4. 确认内外网卡配置 ONBOOT 配置 (eth0 eth1 ... 都要看)<br />
   /etc/sysconfig/network-scripts/ifcfg-eth0<br />
   /etc/sysconfig/network-scripts/ifcfg-eth1<br />
  <br />
5. 确认内外网默认路由配置 (eth0 eth1 ... 都要看)<br />
   /etc/sysconfig/network-scripts/eth1.route<br />
   或<br />
   /etc/sysconfig/network-scripts/route-eth1<br />
   最好再确认一眼 /etc/sysconfig/static-routes<br />
   确认 rc.local 配置 (加上所有自启动服务检查更好)</p>

<p>6. [可选] [高级]确认是否启用了策略路由<br />
   ip rule ls 确认有没有自定义 table 路由策略</p>

<p>7. [可选] 确认所有定时任务没有改 ip 路由等配置<br />
   比如远程更新网卡驱动 为防意外(保险)回退有时用此方法</p>

<p>8. 简单的修改可以用 ; 一次执行完 比如<br />
   route del default; route add default gw 新.网.关.IP<br />
   对自己不自信 可以先把自己的机器加上去 防止改错自己也连不上<br />
   route add -host 自己.机器.的.ip gw 正确.网关.的.ip</p>

<p>9. 大量修改用 ifup 生效 如 ifup eth1<br />
   用init脚本要用restart 如 service network restart<br />
   防止先敲 service network stop 回车后再想敲 service network start 的情况</p>

<p>A. 适用于 Redhat 发行版， 转载请注明<a href="http://windtear.net/2008/03/redhat_network_route_gateway.html">出处<br />
http://windtear.net/2008/03/redhat_network_route_gateway.html</a></p>

<p>相关文章：<br />
<a href="http://windtear.net/archives/2005/01/13/000554.html">Red Hat 下 route 静态路由 设置 eth0.route & route-eth0 & static-routes<br />
http://windtear.net/archives/2005/01/13/000554.html</a><br />
三种方式：<br />
eth0.route redhat 新推的格式 比较傻瓜一些<br />
route-eth0 redhat 的老的格式 对专业人士很好<br />
static-routes</p>

<p>举例如下：<br />
/etc/sysconfig/network-scripts/eth0.route<br />
ADDRESS0=192.168.0.0<br />
NETMASK0=255.255.0.0<br />
GATEWAY0=10.1.1.254<br />
ADDRESS1=172.16.0.0<br />
NETMASK1=255.240.0.0<br />
GATEWAY1=10.1.1.254</p>

<p>/etc/sysconfig/network-scripts/route-eth0<br />
192.168.0.0/16 via 10.1.1.254<br />
172.16.0.0/12 via 10.1.1.254</p>

<p>/etc/sysconfig/static-routes<br />
eth0 net 192.168.0.0 netmask 255.255.0.0 gw 10.1.1.254</p>]]>
      
   </content>
</entry>
<entry>
   <title>inode、inode size/block、block size/fragment size ...</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/03/ext3_inode_size_block_size.html" />
   <id>tag:windtear.net,2008://3.1345</id>
   
   <published>2008-03-20T09:47:07Z</published>
   <updated>2008-03-21T02:49:15Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/03/ext3_inode_size_block_size.html
先 dumpe2fs -h /dev/xxx 看一眼结果 有个感性认识 再认真分析 volume name/magic number 0xEF53/fetures 如has_journal... inode count/block count//block size/fragment size /inode zie mount count/max mount count/ ... 关于 block size和fragment size 简单说 读取越大速度越快 越小越省空间 block size: kernel一次读的大小 如16384 4096 (设置方法 -b) (btw: super...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="文件系统" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="184" label="inode" scheme="http://www.sixapart.com/ns/types#tag" />
   <category term="185" label="文件系统" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/03/ext3_inode_size_block_size.html">http://windtear.net/2008/03/ext3_inode_size_block_size.html</a></p>
<p>先 dumpe2fs -h /dev/xxx 看一眼结果 有个感性认识 再认真分析<br />
volume name/magic number 0xEF53/fetures 如has_journal...<br />
inode count/block count//block size/fragment size /inode zie<br />
mount count/max mount count/ ...</p>

<p><br />
关于 block size和fragment size 简单说 读取越大速度越快 越小越省空间<br />
block size:  kernel一次读的大小 如16384  4096 (设置方法 -b)<br />
(btw: super block: 从硬盘开头 1024 字节开始往后的一部分数据)<br />
fragment size: 放 block 的零头 减少浪费 如2048 512 (bsize/8 ~ bsize) (设置方法 -f)</p>

<p>inode: 索引节点 占128字节 存数据的基本信息资料(时间 存取权限 位置)<br />
inode size: 多大的数据分一个 inode  (设置方法 -i 4096)<br />
越小则 inode table 越大，link越长 速度慢 空间利用率越高<br />
经验值 4K 相当于文件的平均大小是 4K 此时inode table 占3.19%空间<br />
（因为inode size太小 inode table占用空间多 空间利用率还是不高)<br />
inode size 不能比 block size 小 要不会浪费 inode</p>

<p>所以以前ext2/3跑bbs玩要先计算好防止 inode 用光 data block 还有剩余</p>]]>
      
   </content>
</entry>
<entry>
   <title>封禁抽风的腾讯 Sosospider 124.115.0.0 5个网段</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/03/deny_sosospider.html" />
   <id>tag:windtear.net,2008://3.1343</id>
   
   <published>2008-03-13T16:25:57Z</published>
   <updated>2008-03-13T16:37:51Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/03/deny_sosospider.html
迄今为止 我已遭遇过国内4大门户的spider攻击 新浪 搜狐 网易 腾讯 124.115.0.0 ～ 124.115.4.255 所有的请求都加一个 Referer 为请求URL的头 遭遇64个ip近万次的抓取 UA信息为 &quot;Sosospider+(+http://help.soso.com/webspider.htm)&quot; 目前已封了这5个网段 前面的blog： 60.28.164.* 新浪 iaskspider 也疯狂 yodao 的 spider 也可以直接封掉 sohu 公司昨天想 DoS 攻击我网站?...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="网络" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="179" label="spider" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/03/deny_sosospider.html">http://windtear.net/2008/03/deny_sosospider.html</a></p>
<p>迄今为止 我已遭遇过国内4大门户的spider攻击<br />
<a href="http://windtear.net/archives/2007/05/31/001239.html">新浪</a> <a href="http://windtear.net/archives/2006/09/02/001073.html">搜狐</a> <a href="http://windtear.net/archives/2007/05/14/001230.html">网易</a> <a href="http://windtear.net/2008/03/deny_sosospider.html">腾讯</a></p>

<p>124.115.0.0 ～ 124.115.4.255<br />
所有的请求都加一个 Referer 为请求URL的头<br />
遭遇64个ip近万次的抓取 UA信息为 "Sosospider+(+http://help.soso.com/webspider.htm)"<br />
目前已封了这5个网段</p>

<p>前面的blog：<br />
<a href="http://windtear.net/archives/2007/05/31/001239.html">60.28.164.* 新浪 iaskspider 也疯狂</a><br />
<a href="http://windtear.net/archives/2007/05/14/001230.html">yodao 的 spider 也可以直接封掉</a><br />
<a href="http://windtear.net/archives/2006/09/02/001073.html">sohu 公司昨天想 DoS 攻击我网站?</a></p>]]>
      
   </content>
</entry>
<entry>
   <title>Windows 2000 Server 平滑升级安装 Windows XP Professional</title>
   <link rel="alternate" type="text/html" href="http://windtear.net/2008/03/windows_2000_server_upgrade_windows_xp.html" />
   <id>tag:windtear.net,2008://3.1342</id>
   
   <published>2008-03-13T15:15:14Z</published>
   <updated>2008-03-13T15:25:20Z</updated>
   
   <summary>版权声明：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。
http://windtear.net/2008/03/windows_2000_server_upgrade_windows_xp.html
Windows 2000 Server 直接升级到 Windows XP Professional 是不支持的 采用全新安装： 1. 可以在运行win2k时 运行 i386\winnt32.exe 安装 2. 可以启动到dos环境 运行 i386\winnt.exe 安装 3. 还可光盘启动安装 通过 winnt32 winnt 可以指定参数 可以设置自动安装 可以为要在别的机器用的新硬盘安装 自动安装： 编辑无人参与应答文件 winnt.sif (Winnt.sif文件中的语句段和条目与Unattend.txt文件相同) [Data] UnattendedInstall=Yes AutoPartition=0 (提示选择安装分区) [Unattended] TargetPath=\WINXP [UserData] ProductKey=&quot;XXXXX-XXXXX-XXXXX-XXXXX-XXXXX&quot; FullName=&quot;Windtear...</summary>
   <author>
      <name>windtear</name>
      
   </author>
         <category term="操作系统" scheme="http://www.sixapart.com/ns/types#category" />
   
   <category term="178" label="windows" scheme="http://www.sixapart.com/ns/types#tag" />
   
   <content type="html" xml:lang="en" xml:base="http://windtear.net/">
<![CDATA[<p><a href="http://creativecommons.org/licenses/by-nc-sa/2.5/cn/">版权声明</a>：可以任意转载，转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。<br />
<a href="http://windtear.net/2008/03/windows_2000_server_upgrade_windows_xp.html">http://windtear.net/2008/03/windows_2000_server_upgrade_windows_xp.html</a></p>
<p>Windows 2000 Server 直接升级到 Windows XP Professional 是不支持的<br />
采用全新安装：<br />
1. 可以在运行win2k时 运行 i386\winnt32.exe 安装<br />
2. 可以启动到dos环境 运行 i386\winnt.exe 安装<br />
3. 还可光盘启动安装</p>

<p>通过 winnt32 winnt 可以指定参数<br />
可以设置自动安装 可以为要在别的机器用的新硬盘安装</p>

<p>自动安装：<br />
编辑无人参与应答文件 winnt.sif<br />
(Winnt.sif文件中的语句段和条目与Unattend.txt文件相同)<br />
[Data]<br />
UnattendedInstall=Yes<br />
AutoPartition=0 (提示选择安装分区)</p>

<p>[Unattended]<br />
TargetPath=\WINXP</p>

<p>[UserData]<br />
ProductKey="XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"<br />
FullName="Windtear Zhang"<br />
OrgName=""<br />
ComputerName="windtear"</p>

<p>复制文件完成后的情况是：<br />
boot.ini 增加一项启动项<br />
C:\$WIN_NT$.~BT\BOOTSECT.DAT<br />
具体源文件目录默认在 C:\$WIN_NT$.~LS</p>

<p>直接复制好环境绕开拷贝文件的方法是：<br />
修改 c:\$WIN_NT$.~BT\winnt.sif<br />
OriSrc="C:\$WIN_NT$.~LS\"</p>

<p>migrate.inf 的目的是保持原系统的驱动器字母</p>

<p>正式安装：<br />
目标盘如果是ntfs分区 如果该分区之前的安全权限设置里面没有 Administrators 组<br />
会提示错误 bootvid.dll 拷贝失败 提示重插光盘等<br />
但是呢 又能把目录结构建起来 只不过文件名大都是 $$TEMP$$.~~~<br />
WINXP 目录共 45,818,106 Bytes</p>

<p>平滑升级的方法和注意事项：<br />
1. 尽量用免费开源的软件 配置文件在目录里的<br />
2. 导入 IE 的收藏夹 cookies 导入各家银行的个人信息证书<br />
3. 导入通讯薄备份 windtear.wab<br />
4. 拷贝Application Data 开始菜单 _viminfo PUTTY.RND My Documents\Default.rdp<br />
5. 导入原系统的相关软件注册表信息 个别dll需要拷贝到 system32 目录<br />
6. gnutools 等不用动 直接设置 PATH<br />
7. 只有 winpim 需要重新安装 其实主要是注册控件<br />
8. 招行专业版同理 注册完控件直接用 证书都不用恢复:)<br />
9. 安装 WindowsInstaller-KB893803-v2-x86.exe 然后安装<br />
   Windows Live Messenger 8.5.1302.1018 (之前win2k是7.0.0820) <a href="http://windtear.net/archives/2006/02/13/000916.html">改多登的方法</a><br />
   Install_WLMessenger.exe 12.0.1471.1025 20256272 bytes<br />
拷贝 msn 聊天记录 或者设置消息目录时指定老的</p>

<p>基本上我的软件都直接用 比如大众化的<br />
Firefox Thunderbird putty fterm OpenOffice.org gVim mpc TotalCMD 等等<br />
其他很多软件就不列出来了</p>]]>
      
   </content>
</entry>

</feed>