目录 | Table of Contents
自己动手,丰衣足食。想玩舰女人,求己不求人。搭建一个私有的服务器其实成本并不高,东京的服务器最低只要5-10刀一个月,然后三两朋友一起使用,已经是非常足够了,并且自己还可以摸索各种黑技术。另外那些公开叫卖的服务器难免树大招风,还经常出现商家互黑的情况,当然,这个仅仅是技术向的文章,服务器维护是需要巨大成本的,如果自己不想折腾,还是去买服务吧。
当然有很多解决的方案。但是各种技术都有自己的优点和不足之处,我曾经尝试过Nginx的代理,结果不支持https,结果登陆相当麻烦;试过全局代理,但是速度实在忍无可忍。最终还是将Squid服务器作为最终解决方案,然后网页直连作为备用方案。本片文章主要记录的就是这两种解决方案。
CentOS7使用Node.js + Nginx 搭建舰娘直连服务器
其实DMM的服务器技术相当有限,不知道是不是他们的技术员工故意留这个东西,只要登陆成功了,获取了Flash的Token,接下来加载Flash就不再判断你的IP了,于是就有了直连这个方法。这个方法主要是使用一台在日本的服务器解决Token的问题,然后向浏览器返回恰当的地址。然后你就可以直接上船了。据说更新的时候不可以使用直连的方法,会被DMM 封号,所以要及时注意官方动态吧。
关于安装Nginx 的方法,就不再累述了,官方网站上面甚至还有中文的说明: http://wiki.nginx.org/InstallChs
然后Node.js ,其实Node.js 可以直接使用npm监听取代nginx的地位,但是原有文档似乎没有很好地处理监听的问题,所以再在外面套一层nginx是明智的选择。
Node.js 代码地址:https://github.com/phoenixlzx/kancolle-broker
(备用fork: https://github.com/masterchan/kancolle-broker )
这个登陆主要是由Node.js 来实现
然后贴命令行
安装Node.js 和npm
yum install nodejs npm
然后找个地方,把上面的代码Pull下来
cd /var/www/nodejs/ #这里输入你想要地址 git clone https://github.com/masterchan/kancolle-broker.git
然后cd到这代码的目录安装Kancolle-broker的代码安装
npm install
由于npm解释器不能保持后台运行,当然,你可以选择开Screen来挂Node.js 但是这样难免太不方便了,forever 作为node.js 提供了很便捷的方式
npm install forever -gd forever list #验证是否安装成功
接下来为舰娘创建专用的服务(这个是CentOS 7 服务列表文件的位置,之前的版本似乎没有,新的系统基于systemd)
vim /usr/lib/systemd/system/kancolle.service
然后在这个文件上面写
[Unit] Description=nodejsKanColle After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/usr/bin/forever start -a /var/www/nodejs/kancolle/bin/www ExecReload=/usr/bin/forever restart -a /var/www/nodejs/kancolle/bin/www ExecStop=/usr/bin/forever stop /var/www/nodejs/kancolle/bin/www PrivateTmp=true [Install] WantedBy=multi-user.target
注意修改中间三行forever的可执行文件位置,以及kancolle-broker安装的位置(安装之后bin文件夹里面的www)
然后我们reload一下daemon就可以启动高端大旗上档次的kancolle服务了
systemctl daemon-reload systemctl start kancolle
这时候再netstat 看看是否有监听127.0.0.1:3000;这样就成功了,然后再通过nginx 传递查询
server { listen 你的IP地址; server_name 你的域名; location / { proxy_no_cache 0; proxy_cache_bypass 0; proxy_pass http://127.0.0.1:3000; } }
然后要检查一下防火墙设置,就不在此说明了。
这个方法其实相当完美,我之所以研究下面的方法是KanColleViewer(提督很忙)不能够挖那个flash出来。
CentOS7使用Squid搭建舰娘网页代理服务器
安装squid其实也是很方便的
yum install squid vim /etc/squid/squid.conf #配置文件位置
安装之后编辑配置文件,原设置文档很长,但是大部分我们暂时不用到,可以把他们全部注释掉
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT http_port 1234 #严重建议改掉默认的端口,因为默认端口人人都知道 coredump_dir /var/spool/squid cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log #设置log地址,出问题可以查,自己只有几个人用建议还是开log #cache_dir null /tmp #注意设置文件里面所有的有关cache_dir 的都最好关掉,这样就不缓存东西了 http_access allow all #这只是方便测试的设置,最后还是得调整一下 visible_hostname 你的IP地址 #如果服务器设置了rDNS 好像没有效果,还是会被人发现绑定在这台主机的域名,不过DMM并不会因此检测 request_header_access Via deny all request_header_access X-Forwarded-For deny all #squid匿名代理,如果不加这个会被DMM识别
如果你不是使用默认端口,必须添加到acl的设置中或者将下面这行注释
#http_access deny !Safe_ports
检测你是否已经匿名有一个网站 http://www.iprivacytools.com/proxy-checker-anonymity-test/
另外登陆认证方面可以参考鸟哥的这篇文章 http://linux.vbird.org/linux_server/0420squid.php#adv_auth
然后再在防火墙上面把端口打开,这里也是不再叙述了。
提督很忙 软件的设置就相当简单了填入服务器地址和代理端口,将https这个选项也够上,就能够非常完美地使用了。