好久沒寫東西了
今天寫點n900這個被社會遺棄了的東西吧。
n900 的一個短信bug
短信丟失一直顯示正在發送。
如果關閉聊天窗口那個你就再也無法打開這個窗口了除非重啟
原因:csv數據庫被多個進程同時打開導致csv數據庫出現問題。
===========
pc套件模式無法訪問存儲卡。
解決方式
smb 本地映射存儲卡到本機內存。
Post by tywtyw2002 on 2011, October 20, 12:35 PM
好久沒寫東西了
今天寫點n900這個被社會遺棄了的東西吧。
n900 的一個短信bug
短信丟失一直顯示正在發送。
如果關閉聊天窗口那個你就再也無法打開這個窗口了除非重啟
原因:csv數據庫被多個進程同時打開導致csv數據庫出現問題。
===========
pc套件模式無法訪問存儲卡。
解決方式
smb 本地映射存儲卡到本機內存。
Post by tywtyw2002 on 2011, September 4, 1:06 PM
虽然在中国,版权法,XX法根没有一样,但是有些文件感觉还是匿名传播好一些。虽然可以挂到网盘上,但是这样的举动非常不靠谱,网盘一般都会记录使用者的ip信息等因素,而且还有个问题,就是下载速度很慢。
前段时间也因为有一些朋友去传播某公司的内部程序文件而被,还有网盘文件无辜被删等情况。
通过一些事情我逐渐发现迅雷是个好东西,一个匿名传播文件的好帮手,不过需要有vip(离线下载)的权限。
迅雷离线的工作原理不想多少,简单的说就是ed2k,torrent,部分url,迅雷服务器在有资源的情况下可以秒杀。既然如此这不就是传播文件的绝妙之处吗。
好了开始正题:
1. 让迅雷离线服务器下载你要传播的文件。方法很多url,bt,电驴的都可以,电驴好一些因为不会记录到你的ip信息。
2. 给该文件生成ed2k链接,为啥ed2k呢。匿名呀,torrent的话传播不方便呀。Ps 这个有工具可以生成google下就可以了 key:ed2k生成器。
3. 然偶分享那个ed2k链接就好了。这样一般的电驴都会提示无种,但是你把这个ed2k链接扔到迅雷离线下载后,就立马秒杀了。
Post by tywtyw2002 on 2011, August 5, 1:28 AM
本人其实并不是什么大牛,在6年的服务器配置生涯中终结出了一些属于自己的原则。可能并不大适用在大型网络或者其他什么地方,只是总结出来给大家一些建议,欢迎大家来讨论。
关于磁盘的分区,这个是个很恶心的问题。分区方法基本都差不多/boot,/,等不过我习惯/不是所有的硬盘,只分60G 够系统的运行就好了。然后分出/data0 /data1 2个分区来装数据,这样在重装系统后,重要的数据不会丢失。系统恢复起来也极为的方便(后面具体说。)
和人习惯分2个,一个做备份盘,一个做空间。
这样有人就要问了/root /home下的东西怎么办。首先一台服务器,大家就不要去3天2头的就去动。你东西干嘛扔到自己的home目录下呀。我习惯在自己的home下放一些软链和一些常用的脚本命令。这样即使重装了也没什么损失,顶多是自己要多敲了很多命令。有的时候扔一些detail和log或者是临时的代码。如果怕丢失写个脚本每天备份下就好了。反正自己的home不要装很多的东西,主要以脚本为主,为什么后面详细的说。
下面到了软件的选择,是选择自己编译软件呢,还是直接yum了。这个因该是根据什么软件来决定。如果是iftop,snmp呀这些小软,不对外服务的,作用是给自己用的,我认为yum装就好了,性能无所谓,你能24小时iftop,mtr吗?
说道编译软件就不得不说说prefix的问题了,很多人不喜欢编译软件加prefix,直接撞倒bin或者sbin里面去了,我想说对于很多软件这么做很不对,至少在升级等问题上不好办。我建议是对外服务的大型软件要价prefix参数,位置基本在/usr/local/ 如果你觉得乱在加一个文件夹好了。ex:/usr/local/server/ 这类软件nginx,apache,mysql,php等不过python这样的脚本解析器就算了。svn的话也不用了。
总结下基本就是如下的定律:
1。cli下的网管工具,直接yum吧。ex:iftop,snmpwalk,dig
2。符合第一条,但是yum上面的版本太低。那么找新的源码去编译不要加prefix。如果只需要一个功能不要make install直接copy那个文件到sbin替换即可,最好备份下原文件。ex:iptables, ip tools
3。大型软件,如果提供服务的,自己编译去,绝大部分都要指定prefix。
4。设置工具不管是yum还是源码安装都不要制定prefix。这样方便命令设置,如果是大型软件自带的设置工具,那么还是prefix编译大型软件,然后复制那些小工具到sbin中吧。ex:apache的htpasswd,squid的什么client呀。
5。特殊软件,centos自带的ipsec tool等 yum吧。
6。内核或者模块有关,我的政策是内核能不编译就不编译,yum安装优先。给内核打补丁,如果不是特别必要不要去打。因为补丁会造成内核的不稳定。可能很多大型项目内核都是要自己编译的,这样性能高,而且关闭一些不必要的功能。不过我干的都不是高端,感觉默认内核能对付的用,而且编译内核麻烦。如果你是高手忽略这条吧,内核该怎么弄就怎么弄。
服务器安全
这个怎么说呢,该怎么弄怎么弄吧。root的密码最好一个人知道,别人要的话加key。
其他安全,还是那句老话baidu吧。我没什么特别的意见。
内核优化
rhca442没学完呢,忽略。
下面进入另外一个重点,大型软件用不用daemon呢。
我个人不喜欢用daemon。比较喜欢用&来启动,这样方便kill。
我的rc.local脚本基本在20+行。大型软件都是rc.local控制启动。
说了这么多,应该说说编译的具体事项了。
编译的话个人习惯是在/data1/software下进行编译。解压后删除压缩文件,保留src,和make过的东西。这样在系统重装后,不用等待漫长的编译时间了,直接make install就好了。
软件的升级
因为制定了prefix升级非常的简单,首先mv那个软件目录(改名),然后编译安装新软件。如果在一段时间后感觉新版本工作良好,删掉老版本软件和他的src。如果新软件工作不好可以随时替换过来。绝对比不加prefix替换要方便的多。
大家这回应该明白了吧,为什么home目录中文件很少了,主要是链接了。
没错因为软件编译了prefix,系统不会有这个命令,而且config是分散的。编译文件在其他目录,这样就解放了home目录了。
其他
mysql的db目录扔到/data0中很好,别凑在mysql的安装目录了。
日志,可恶的东西,我很不习惯基本我的策略是每天压缩一次,一个月之前的咱们说拜拜吧。http我基本不开日志。太大了。而且我没怎么看过日志。
最后,也是一点最重要的。
如果条件如许,不要再服务器上做实验。实验找专门的试验机器,mysql等数据都考过去,然后模拟测试。等到结果满意了在上到主服务器上。测试机器配置不要求高,主要是为了测试新版软件的性能和bug。
如果你习惯每天干点,或者3天2头打算给服务器加点功能,咱们弄台测试机器吧,你天天捅咕都没事,正好一个月下来你捅咕的差不多了,该个主服务器升级了。而且测试机挂了咱们也不着急,边看电影边重装呗。
ps 别没事就重装linux。linux这东西重装了配置会累死人。
Post by tywtyw2002 on 2011, June 6, 12:15 PM
没什么说的,被墙了。
gfw认证,保证质量。
Post by tywtyw2002 on 2011, April 30, 2:40 AM
不想说什么连cookies都他妈的不放过。不过他的服务器已经被ddos的起不来了。
其实如果吧这个脚本改成随意send一些数据去以网站,这绝对是ddos攻击呀。
原因就是没有过滤<>这个东西 难道sb程序员没有加 html转义吗
典型的xss。
Post by tywtyw2002 on 2011, April 28, 3:42 AM
这几周吧简单的研究下了as级拓扑,还有isp直接的一些运行模式吧。中美的网络越来越堵了。
打算继续以这2个方向前进去检测中美网络。
1.根据as peer
2.找光纤+eac
http://v70.us/watch.php
lossrtt的一个监视吧,网络比较差写的比较懒。
欢迎大家提供国际出口ip。 ps最好是中国那端的。
Post by tywtyw2002 on 2011, April 6, 4:20 PM
在设置了 error_page 404的情况下让php出404页面很简单
加上一句fastcgi_intercept_errors on;就ok了。
但是有的时候我们懒得设置404页面,或者是不需要设置404页面,
php碰到没有的文件就会来上那个一句 No input file specified.
这是因为 fastcgi_intercept_errors on;的机制,如果没有自定页面是不会替换cgi的404信息的。
有2种方法可以解决这种问题
1.
2.
性能不分析了,没做实验。
Post by tywtyw2002 on 2011, March 26, 4:55 PM
大家都应该知道,数据传输的时候 数据包的大小应该是mtu。大概在1000左右。
任何软件都不会用小包去传输大量数据,因为小包传数据开销太大。 这个开销就是数据包的包头。
2层 14字节
ip包头 20字节。
udp包头 8字节
tcp包头 20个字节。
如果发小包的话 会白白的浪费20+20or(8)+14 54字节或者 42字节在 传输协议上。所以尽可能用大包去发数据。
但是有一种数据是例外的,就是语音数据,这个要求延时低,所以小包发送。 语音数据与我们一般说的下载数据有本质的区别。所以这里不讨论这个。
所以我们可以采用丢传出数据包来达到屏蔽迅雷上传的目的,但是迅雷的确需要上传。tcp链接是可靠的需要ack去确定数据达到。udp虽然不需要确认ack,但是程序会发一些确认udp于其他主机联系。
这样就出现本文说的这种方法。
通过数据包的大小来确认是否丢包。
win下我没找到什么程序能根据数据包的大小去丢包的。只有限速和禁止通信的。限速用netlimit很好。有特别版的。
只能在路由器上下手了。
linux的路由器 tomato,ddwrt都可以。
说下iptables的 length模块吧。
用法是 -m length --length XX:XX
解释下最后的XX:XX
第一个XX是匹配数据包最小是多少,后面的那个是匹配最大是多少。
128:128这句话就是匹配数据包大小为128的包
128: 这是匹配任何大于128的数据包。 iptables会在:后面自动加上 65535,如果你先匹配128-1024 直接 128:1024就可以了
:128是匹配小于128的所有包。
结论利用iptables 结合迅雷的端口号然后丢大于 256的包就可以了, 我一般用512。