KanColle服务器构建方法与策略

 

自己动手,丰衣足食。想玩舰女人,求己不求人。搭建一个私有的服务器其实成本并不高,东京的服务器最低只要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这个选项也够上,就能够非常完美地使用了。

 

 

这篇博文发表在 服务器开发 目录下,标签为 , , ,
版权所有,请勿转载。如需引用,请使用链接:https://note.masterchan.me/?p=625
 

您的邮箱地址不会被公开,评论使用Gravatar头像。
Your email address will not be published. This blog is using Gravatar.

正在提交评论...
正在为您准备评论控件