标题：射手网
历史
2000年之前，到处寄生于免费个人主页空间的大杂烩，有点像今天的Blog。  
2000年4月，启用.cn域名。只不过，其实最初其实是想做一个书评网站。那时候我还很爱读书，网站名叫“书途”。
2000年7月，很快忍不住加入了很多自己喜爱的元素，除了DivX之外，还有DVD封面、DC封面、DC游戏、漫画的下载。之后不久又开始加入视频技术制作文章和软件。
2001年9月，开始加入字幕下载的部分。主要还是从DVD上Rip下来的字幕，很多字幕翻译质量都不高。此时已经基本停止维护封面、游戏、漫画和电影下载的部分。
2002年，开始出现自主原创翻译。在此特别向长期以来翻译和发布字幕的贡献者们致敬。
2003年7月，启用新域名。
2004年9月，因为生活和工作的原因，没有足够的精力维护文档和软件更新。好在字幕的自助上传和下载系统已经稳定，就像终结者里面的天网那样，不用人管理也可以运行。
2005年12月，长期积累的大量字幕和每天的海量访问与搜索令服务器不堪重负，几乎每天晚上都像死机一样。连自己也看不下去了，终于决定进行一次推倒重来的大改版。
财务
射手网是一个纯粹的个人网站，因此也没有资本更没有运营经费。
在2006年之前，所有服务器均是友人帮助提供，其余网络费和运营经费由站长自掏腰包。期间曾启用海外paypal的捐款通道，不过历史上收到的捐款，一只巴掌就数得过来。干脆取消了。
2006年改版之后，网站启用Google Adsense，虽然点击不高，总算开始有些收入，主要用于弥补网络带宽费用。未来盈余希望可以满足添置数据库和Web服务器的需要。负载均衡　射手网在Web服务上最大的特点，也是最大的困难，就是在极度缺乏经费的情况下，只能靠朋友“借”服务器。因此，服务器配置不理想、可用的服务器少、难以稳定运行、地理位置分散、网络条件参差不齐，难以承受庞大的访问量负载是最大的困难。
2006年改版后，射手网的整个系统将静态Web服务器，和其他下载服务器、搜索数据库、计数器模块分开。带来的好处不仅是可以扩张负载能力应付巨量访问请求。更有趣的是，即使其中部分服务器死机，网站的其他模块仍然可以不受影响，可以继续访问和浏览。文件存储、hash与“安全”下载　另外一个长期困扰射手网的问题是，中文、异体文件名的存储障碍。射手网的服务器空间都不大，所以所有的文件常常去要分配到不同的服务器上存储。这里就有个非常严重的问题，每个系统的文件名编码并不相同，多数是GB2312，但是也有ISO或BIG5或UTF-8的可能。港台朋友上传的字幕可能还有繁体字或异体字，常常造成文件名存储乱码，最终无法下载。同时由于Windows和Linux的命名规则不同，有时候Windows下被允许的文件名，在Linux下会完全不被接受而造成文件丢失。
为了解决这个问题，2006改版后的系统，采用了全新的文件存储方式。所有的文件全都不再按原文件名存储，而是使用一个唯一的目录+hash串码来存储。仅在收到用户下载请求时，根据需要移动（Link）到下载缓存区供下载。这也是为什么新版的射手网采用hash码下载而且下载有了时间限制。而“安全”下载方式，就是提供一个不包含中文字符的文件名来给使用不同编码的操作系统浏览器的人们来下载，以免一些用户因为文件名乱码而出现下载不到文件的情况。有些人以为这是为了防止盗链，其实站长才没有必要为了这么小气的原因花这么大力气做一套全新的文件存储系统。页面静态化、XML和Ajax　为了应付大量的页面请求，自然需要对页面静态化。改版最初，并没有想到用XML和Ajax。但是渐渐的，传统的静态页面方法展现弊端——哪怕是对页面布局做一点微小的修改，就要花费大量时间重新生成几十万个页面。对于经常要对页面作微调的我，实在是万分痛苦。更何况服务器负载资源已经非常紧张，每次重建网站的开销也令人无法承受。很快，在现实的压迫下，整个系统转向XML+Ajax。
XML+Ajax的优势是静态级别的负载，做到动态页面的效果。使用静态XML+Ajax之后，不夸张地说，射手网的负载开销下降到原来的1/50-1/100，松了一大口气。唯一的遗憾是浏览器之间对Ajax的实现方式总有细微的差别，由此针对某些浏览器，带来不少兼容问题。Linux\FreeBSD vs. Windows　所有的射手网服务器里面，没有一台使用Windows，全部采用*nix架构的服务器。未来也不会使用Windows的服务器，因此请不要来Email提一些只会在Windows服务器上发生的疑问——99.9%的病毒都是为Windows设计的，而且Windows的病毒不能在*nix系统上运行。文件上传过滤系统　不知道几时起，病毒、木马、流氓软件的门槛这么低。有些人有点聪明才智，就爱往这种事情上用。在上传文件时夹杂病毒、木马，当真困扰了射手网好几个星期。解决方式就是在服务器上加挂zip和rar支持，检查每个上传文件中，是否包含有可能带来危险的可执行文件或病毒载体。一旦发现、不仅删除文件，同时记录上传IP存档+Ban。举报系统　射手网是个个人网站，因此不光服务器资源紧张，而且人力资源也异常紧张——只有一个人。因此难以一一审核上传的文件。所以诞生了举报系统。举报系统的工作流程是这样的，用户发现并举报后，系统先作加权判断，之后再定期检查审核，删除或者恢复。
版权声明
射手网遵守《中华人民共和国著作权法》（1990年9月7日第七届全国人民代表大会常务委员会第十五次会议通过，根据2001年10月27日第九届全国人民代表大会常务委员会第二十四次会议《关于修改〈中华人民共和国著作权法〉的决定》修正，下同），对站点上各分类内容相关的版权问题作出如下声明：免责声明射手网的所有服务内容和存档均来自浏览用户的创作、上传或贡献。因为射手网并无能力负责检视所有所列内容之相关法律权责，所以所有内容的权利与责任，均由创作、上传或贡献人享受或承担。射手网对于该内容所涉及之正确性、著作权归属，或是其合法性或正当性如何，仅尽善意处理之义务，而并不负任何责任。
射手网尊重他人的任何权利(包括知识产权)，同时也要求我们的使用者也尊重他人之权利。射手网在适当情况下，可以自行决定终止侵害或违反他人权利之内容。
如果您认为您的权利受到侵犯，可以通过相关举报系统随时提交撤销相关侵权内容之要求。不过，射手网仍有权利拒绝未能提供足够证据或者难以证实真实性、合理性或合法性的内容撤销请求。字幕翻译版权声明射手网认为所有中文字幕属翻译创作，翻译人为翻译作品的著作权人，其内容之版权均应享有和遵守《中华人民共和国著作权法》相关条款所明确的权利与责任：
“第二节 著作权归属，第十二条 改编、翻译、注释、整理已有作品而产生的作品，其著作权由改编、翻译、注释、整理人享有，但行使著作权时不得侵犯原作品的著作权。”
“第四节 权利的限制 第二十二条 在下列情况下使用作品，可以不经著作权人许可，不向其支付报酬，但应当指明作者姓名、作品名称，并且不得侵犯著作权人依照本法享有的其他权利： （一）为个人学习、研究或者欣赏，使用他人已经发表的作品；（六）为学校课堂教学或者科学研究，翻译或者少量复制已经发表的作品，供教学或者科研人员使用，但不得出版发行；”文档图片和其他版权声明上传人-著作权人有权利决定自己上传的内容之传播复制应该遵循何种协议。对于没有指定协议的内容，射手网默认使用“创作共用by-nc-sa”协议：
姓名标示（by）：您可以自由复制、散布、展示及演出本作品；您必须按照作者或授权人所指定的方式，保留其姓名标示。
非商业性（nc）：您可以自由复制、散布、展示及演出本作品；您不得为商业目的而使用本作品。
相同方式分享（sa）：你可以自由复制、散布、展示及演出本作品；若您改变、转变或改作本作品，仅在遵守与本着作相同的授权条款下，您才能散布由本作品产生的衍生作品。
下载说明
一、 文件服务器、域名和DNS射手网采用动态分布式的文件服务。当下载文件时，浏览器将需要调用下列域名：
file0.shooter.cn file1.shooter.cn ... (电信)
cncfile0.shooter.cn cncfile1.shooter.cn ... (网通)
edufile0.shooter.cn edufile1.shooter.cn ... (教育网)
能否正常解析这些域名至正确的IP地址，关系着能否正常访问文件服务器并下载文件。
检查您的系统能否正确解析这些域名，可以使用nslookup命令。方法是通过“开始”菜单，选择“运行...” -> CMD 进入命令行模式，输入 nslookup file0.shooter.cn。 看看系统是否可以正确获得解析IP。
如果系统DNS无法正确获得IP，也可以手动通过修改系统hosts文件，强行为域名指定IP。二、 中文文件名与“备选模式”默认下载模式并没有过滤中文文件名，而中文文件名也常常是导致无法正常下载文件的重要原因。这是因为各个OS、服务器和浏览器对网址URL中的中文处理方式都不同。例如繁体系统可能会把中文编码为big5传送，简体系统则会使用gb2312，而比较新的浏览器可能会使用UTF-8，有的下载工具则可能不对中文进行url编码。这样一来，尽管是完全相同的中文文字，对于传送网络请求来说，却有可能变化为4-6种不同的可能。而对服务器来说，只能接受其中的一种。所以，中文文件名也是导致无法正常下载的主要原因。
这也就是为什么射手网有个“备选模式”的下载方式。“备选模式”会过滤掉文件名中的中文文字，将“ABC中文.rar”变换为“ABC.rar”的url以供下载，这样虽然损失了文件名中可能包含的说明信息，但是却可以保证可以正常下载。三、 关于报告无法跟踪的下载问题时常有用户Email来报告“某某影片”无法下载，或者“某某软件”无法下载。
这样做带来的问题是，同一部影片或者同一个软件，可能同时有很多不同的版本在提供下载。如果只是含糊的报告，我也无法找到出问题的文件服务。因此，当遇到无法下载时，请提供不能下载的文件ID，或文件URL例如 “http://shooter.cn/file/?fileid=12345”。四、 什么是hash过期射手网的文件下载系统的主要设计目的主要是为了，可以无限扩展至多个或许配置并不高的服务器均衡工作，同时又有较高的免维护性。
射手网的服务器通常硬盘都不大，所以下载流程大致是这样：1. 主服务器收到下载请求，针对该文件生成hash码作为ID，同时命令文件服务器准备该文件；2. 用户访问文件服务器并提供hash码ID；3. 文件服务器将对应的文件调入服务器上的下载目录，并供下载；4. hash过期后，将对应文件清出文件下载目录。
采用这样的下载流程主要是为了在服务器空间有限的情况下，有控制的最大限度的合理利用资源。但是这也带来一个附加条件，就是一个hash码是有时限的，如果一个hash码的生命期已经结束，就会文件服务器就会提示hash码已经过期而不能下载，而需要重新回到网站请求文件并获得新的下载链接(部分浏览器可能会缓存网页链接而使用户得到的是旧hash码而导致无法下载，此时可以通过清空浏览器缓存或刷新网页解决)。