Dream Sphere

梦想的空间

只要我们不停下脚步,道路就会不断延伸

当轮到长波动手的时候,可能她也未曾想到,自己会创造历史……

没错,我,5选1,锁头,一把斩了

上面这些都是模拟器重放截图的,完整战斗记录在这,有兴趣的可以把下面这张图上传到https://kc3kai.github.io/kancolle-replay/battleplayer.html观看完整战斗

背景是这样的,因为上次活动过于简单和本次活动前段异常顺利导致的轻敌情绪田氏小规模,也是因为工作繁忙打死也不承认沉迷TBC怀旧,后段活动开了以后很久也没有入场。等到意识到留给中国队的时间已经不多了的时候已经是上周六了,同时还面临着百年大庆前周末全部取消休息的命令。

因此周六周日在单位持续摸鱼,周日中午总算是打穿了E4,到周日晚,总算是站上了E5P2斩杀线。

E5P2的难度打过的人都清楚,磨血随手拿S,斩杀对面随手拿S,外加4BB的超重阵容,若不是仓库里35W的油弹钢铝,我是绝对没有坚持下来的勇气的。

计划已经制定,周一想尽办法把一切需要离开办公室的工作排到其他日期,而且定了时间策略,如果午休结束还没能攻克E5P2,就放弃,切乙。

10时许,距维护24H,完成了P2Boss斩杀,于是开始了漫长的解谜之路。

大概到16时,距维护18H,完成两个阶段的解密,深海火奴鲁鲁已经大敞四开暴露在二水战的射程之内了。

因为八周年的任务还没打,这个阶段我采取了放弃远征轮换出击的策略来充分利用时间。第一舰队出击八周年任务,第三舰队出击E5P3,第二和第四舰队提供活动图的支援。

爆肝到晚22时,距维护12H,卡特林娜和甲板已经到手,而此时E5P3血条还剩余2000多,加上前面连续几次满员进Boss但磨血失败让我有点退缩。

本打算再打一次如果没办法就切乙好了,结果此次出击在退避2船的情况下居然把Boss打死一次……

好吧那我继续,在23:30左右,距维护10.5H时,打进了斩杀线,开始了漫长的削甲。

老实说每次为什么会说每次打逆RTA都觉得是对心理素质的一种考验,就好像是在考场上,RTA是闭卷裸考,逆RTA是开卷但是还有10分钟打铃。

在削甲的过程中遇到了诸如N点靠水战不够凑380只好给瑞云妖精发敢死队头巾、从F点拐3次没拐进H翻了翻几份攻略才发现需要2DD之类的丢人操作。到最后重回P2的时候大概是1时,距维护9H,姑且还是有不会突然昏迷的自信,拿起Surface Go躺到了床上。

这好久没用的Surface也面临很多问题,暖宝宝啥的就不提了,这上面的锅Go缓存十分陈旧,KC3也许久未曾更新,总之靠着耐心大概在2时许,距维护约8H时完成了削甲。

二水战,出击。

当然,斩杀前谁也想不到这次就能斩杀,我看到的仅仅是2、3、4位中破进boss,主要火力点完好,希望很大。

点进夜战的时候,KC3的剧透已经在深海火奴鲁鲁上面盖上了清晰的击沉标记。

我当时就坐了起来,虽然我一直在说,很喜欢一期闭幕战瑞鹤武藏月夜海那次,只要解密削甲完成斩杀可以稳定预见,甚至我都能预见到这次大概率能斩于是录了全程。

但是这次大概不一样,虽说大家都认为没有E5P2难,但是卡斩我也见了很多,也并没有爽哥那种锁头自信,本指望友军代打,不过这次友军强度也还是辅助位置。

但是长波

她让我别熬夜了

打完了去睡觉

回想这次活动历程,还真是受益匪浅。很多时候只要坚持,胜利的曙光最终会到来,只要我们不停下脚步,道路就会不断延伸……

欢度国庆

嗯,欢度国庆……个鬼!

多亏党国70周年庆典嗷,梯子断了一堆又一堆嗷,这下体现出Linode和AWS自助换IP的重大优势了嗷。

早先也不是没被拆过梯子,哎,逆境求生吧。

不过这次发现一个更明显的问题,显然方教授的刻耳帕洛斯已经被喂养得能自主学习了,有时候新换一个IP,过不到8个小时就瘫痪了。

嗯……也算是体验一下很多重点地区小伙伴们的苦日子吧。

这样一来就不得不做两手准备,好在目前的技术来说,骗过刻耳帕洛斯的眼睛还是做得到的。

前几天开通了Google Cloud Platform之后尝试了一下被很多人奉为神明的Websocket+VMess+Nginx方案。实话说,伪装来讲很到位了,比起我之前简单把KCP伪装成微信视频或μTP都难以发现多了。不过不知道是因为哪个环节的问题,速度上……基本是不能用的状态。别说什么油管4K啥的了,我上黑底P站看马小姐跳舞拉二胡都卡成幻灯片。

后来分析了一下,毕竟在能保障通畅的前提下尽量提高性能才是正道。于是我又搭上了完全暴露的VMess over KCP,唯一的安全性在于用了443端口(实话说这数据特征和TLS完全不一样恐怕更加危险,请勿效仿)。

结果还算满意,效果不错,用了一周左右没有被拆。

但是这样的问题在于,占用了443端口就不能兼做Web服务器了,至少我懒得搞了。

那么现在的问题就是,这个啥都没有的网站扔哪。

碰巧网上看到hostinger搞1刀一个月的活动,还赠一个.com域名一年。顿时有想折腾一下的冲动,毕竟当年用cPanel搞网站的不太愉快的记忆还历历在目,也想看看这年头这玩意到底能做到啥程度。

点结账一看,好嘛,一次性付48个月才能享受0.99刀/月的价格。算了,懒得搬家了,大不了你跑路我用够十几个月就算回本呗?

这边一顿折腾不提,现在搬家很熟练了,唯一就是一个,因为不给SSH的后台,用不了Let’s Encrypt,起码我不会用。那么还有一个办法就是Cloudflare了,确实很久没用了还有点想念。

结果就是各种525错误啦、不信任证书啦之类的……

后来折腾累了睡觉,结果第二天好了……

这时候我才反应过来之前报错的证书是Cloudflare的服务器到CDN专用证书……

啊,你的对外证书不是实时部署的话能不能好好写在文档里啊!

所以目前,本站暂时使用drmspr.com这个域名,为期一年,到时候续费与否……看心情和价格吧。

再次回到Linux

别问,问就是真香

总而言之,经过一番折腾我又回到了Linux的怀抱,更确切的说,是回到了Linode的怀抱。

其实Windows有强大的地方,但是确实对于我的需求来说,带来的麻烦超过了收益。

首先是梯子,因为Shadowsocks-libev的原生Windows(其实还是MinGW)服务端效率极差,Shadowsocks-libQT又面临各种奇怪的问题,我投入了V2Ray的怀抱。

一开始觉得真香啊,这玩意Windows的原生支持甚至比Linux还原生,还自带背景运行,结果越用越奇特。

先是TLS无法实现,这是Windows的证书管理机制问题,算了。

然后发现丢包较多,看了一下,想尝试一下mKCP,结果是配置文件查不出任何错,但是数据包就是过不来。

而且速度慢到不能忍受,虽然没有仔细查是不是Vultr的锅,但是YouTube完全不能看对我来说就要命了。

而且你们不是都说Vmess比SS快得多么!

再加上不明原因家里的网用远程桌面卡到令人发指,今天终于忍不住了上Linode开了个机器说拿着之前的配置文件试一下。

mKCP贼鸡儿流畅!

哎嘛这4K真香!

得了,Windows Server我也算爽过了,才疏学浅,告辞!

10年后重回Windows Server

这次因为某些不可抗力的原因,服务器又要进行搬迁。巧在我前日刚看过一篇用DD脚本给云服务器装Windows Server的教程,本着尝鲜的想法想一步到位搞一个Windows Server 2019,感受其作为生产环境的用户体验。

经过多方对比选定的还是Vultr,优点如下:

  • 相对合理的价位。我选择的10刀的套餐提供了1核CPU、2GB内存、55GB存储和2TB月流量,完全满足需求。
  • 支持上传ISO。出于懒得折腾DD脚本的考虑,其实这个最重要。

当然缺点也有,其日本机房在国内访问速度堪忧,不知道是不是家里网络的原因,远程桌面延迟较高,属于可以一边肝手游一边干活的程度……但是在单位的E8400上反倒比较流畅,也可能本身就比较卡我习惯了……

一、制作ISO

因为Vultr提供了付费的Windows Server云服务器,一开始还担心会不会违反TOS,后来在上传ISO的界面看到了提醒使用Windows的用户要手动整合VirtIO驱动的小字,大概是没事吧……

Vultr Docs里面有一篇:https://www.vultr.com/docs/windows-custom-iso-with-virtio-drivers,办法比较简单粗暴,就是把驱动文件夹添加到系统安装盘里,之后在安装过程中手动加载。之前在别的网站上看到过诸如用Dism类的工具整合进系统驱动的教程,我试了一下没有成功,可能原因是VirtIO驱动没有提供Windows Server 2019的版本所以没有自动识别。

整个过程中只有将整合好的ISO上传到服务器的时间比较长,教程上提到Dropbox可以提取直链,我用的之前的服务器,sftp上传耗时1h余。

二、安装系统

Windows系列做的最好的也莫过于系统安装体验了,没有什么好说的。版本方面我选择的Datacenter带桌面体验,毕竟在配置好远程桌面之前是要靠VNC的。

整体来说用VNC和插显示器没有明显区别,延迟有点高可能也是线路问题。

三、系统配置

进系统之后第一印象就和Win10 LTSC没什么两样,没有Cortana也没有念诗,比起桌面系统多了服务器管理器。2019的主要区别在于。弹窗推荐使用Windows Admin Center。装了几次都没有搞定证书的问题,回头再折腾。

激活很简单不提,我就说一句:KMS一时爽,一直KMS一直爽。

在服务器管理器里安装IIS,手动把CGI找出来勾上;去SQL和PHP官网找安装包装回来,这些步骤都没什么,直到……

PHP Documenation推荐了WebPI (https://www.microsoft.com/web/downloads/platform.aspx)。但是微软这Wordpress安装脚本居然装的是MySQL5.1,对于我这种新版本狂魔是不能忍的,所以最后还是手动下载了8.0。(虽然后来我搞明白了为什么要用旧版)

之后是用Duplicator打包旧网站到这边,期间遇到权限、IIS设置等都不是大问题。遇到最新颖的问题在于MySQL密码验证方式不正确。后来查到了要将验证方式额外设置为“mysql_native_password”……

您可能是新版软件的受害者……

四、To-dos

  • RD验证服务将在119天后过期。这个大概知道怎么做,但是不清楚能不能做成……
  • 继续发掘Windoge的潜力

其实我正经用Windows Server搭建服务器环境应该还是第一次……

你问我标题啥意思?

啊,是这样,在Win7发布之前有一阵子我是用Windows Server 2003当桌面系统的……

告全体舰娘及妖精书

——田中五年八月十五日——
全镇守府舰娘及妖精们:全体提督同僚们:

今天我们迎来了《舰队Collection》一期的胜利结束。「爽哥也无法战胜维护」的真理,终于得到了他最后的证明,这亦就是表明了我们抛弃Flash这项历史使命的成功。我们镇守府在黑暗和绝望的時期中,四年以来奋斗的信念,今天才得到了实现。我们对于显现在我们面前的短暂假期,要感谢我们镇守府建立以来奋战的舰娘和妖精们,要感谢我们为正义和和平而共同作战的同僚们。尤需感谢田中辛苦艰难给我们制造的障碍,使我们得有今天胜利的一天。而全世界的爽粉更要一致感谢坚韧而丢人的爽哥。

我镇守府自建立以來,四年间活动的难度虽是一年一年的增加,可是全甲全船的信念亦是一天一天的增强;尤其是我们潜水艇们,受尽了无尽压榨的黑暗,今天是得到了完全解放、而重見青天白日了。这几天以来,各舰娘欢呼与快慰的情绪,其主要意义亦就是为了各加班的舰娘获得短暂的解放。

现在我们迎来维护了,但是还不能算是最后的胜利。须知我们维护的含义决不止是在迎接高清和现代化的HTML5上。我相信全体提督同僚和舰娘们都在希望,这一次维护是poi最后一次出bug。

 (蒋公写太长了,我懒,就咕在这了……)

总之今日我们迎来了一期的结束,虽然镇守府里还有尚未完成修理的瑞鹤和俾斯麦,尚有仍然在远征路上的第三十驱逐队的睦月、如月、弥生、望月及其护卫的千岁和千代田,第二十二驱逐队的皋月、文月、长月、水无月及临时编入的龙田和卯月,临时使用第五驱逐队番号的吕500、伊26、伊400、伊401和鬼怒,但是自今日起到大本营发布重新武装的命令之前,我镇守府业已停止一切行动。除留守提督室的秘书舰涟及上述尚有未完成任务的舰娘外,请大家好好享受这难得的假期,你们辛苦了。

——鄙人期待着几天之后打开大门还能听到“お帰りなさい、ご主人様♪”

搬家心得

今天把这个网站搬到了著名的SB Cloud上面(马云你和Softbank谈合作的时候没商量一下这个名字么……)

搬迁WP站点现在也有自动化工具了,我用的是Duplicator,能打包整个站点,备份数据库,之后到新地点也有自动化的安装工具。

然而,我遇到了点小麻烦。

以前经常卡住的是Certbot的验证,但是这次提前更新了DNS,关了Cloudflare,再加上Nginx也有全自动待遇了,总之没出什么意外。

麻烦是,访问解包程序的时候白屏……

查看了一下是php7.0-fpm.sock的路径打错了,这个太蠢,但是没有解决问题。

怀疑是nginx配置有误,访问了一下同目录下的zip文件一切正常。

所以就是php迷之白屏,log里面显示Status 200,phpinfo都白屏,所以可见是php的问题。

搜了一圈,问题出在fastcgi上面,虽然没看懂但是记下来备查吧:

server {
listen [::]:80;
server_name blog.dreamsphere.me;

access_log /var/log/nginx/blog.dreamsphere.me.access.log;
error_log /var/log/nginx/blog.dreamsphere.me.error.log;

root /var/www/wordpress;
index index.php;

location / {
try_files $uri $uri/ /index.php?$args;
}

location ~ \.php$ {
try_files $uri =404;
include fastcgi_params;
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/blog.dreamsphere.me/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/blog.dreamsphere.me/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot

}

加上这一行解决问题,虽然还没理解……

——顺便,图文无关,我只想看一下这个主题下特色图片怎么显示,绝不是要晒夏活全甲全船

海外置业指南

的随着新的一年的到来,我终于意识到自己挖的坑越来越多了,这个地方也一年没写东西了。

那么就把前几天折腾的服务器配置记录大致整理一下吧,也作为以后的记录。

之前一直参考的是凤凰卷配置指南,这篇的平台还是Ubuntu 12.04 LTS,而我现在的服务器上主流使用的是Ubuntu 14.04 LTS。去年夏天曾经使用过 16.04,遇到了一部分稳定性问题以后就换回14.04了。而且锐速也不支持16.04,虽然现在也不用了。

第一章 Shadowsocks

在海外盖房子第一件事当然是搭梯子,之前用过一段时间的SSR,年底的时候又搞了个大新闻,看在整个项目前景堪忧的份上我还是换回原始的SS好了。

其实这东西本身很简单,总觉得有些写自动化脚本的大神把简单的东西弄复杂了,我还是记录一下手工工序好了。

安装

apt-get install python-pip
pip install shadowsocks

配置文件样例

{
    "server":"my_server_ip",
    "server_port":587,
    "local_address": "127.0.0.1",
    "local_port":1080,
    "password":"mypassword",
    "timeout":300,
    "method":"rc4-md5",
    "fast_open": true
}

安装Supervisor
easy_install supervisor
这是官网推荐的方式,姑且记下。实话说我记得当时我还是用apt-get来着。

Supervisor配置文件
nano /etc/supervisor/conf.d/shadowsocks.conf

[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autostart=true
autorestart=true
user=root

设置Supervisor的主要考虑在于有些服务器需要不定期重启,相比我以前直接挂一个进程来说更方便。

因为锐速崩溃的时候比能用的时候多,所以TCP优化这一点我还是手动完成好了。
SS给出了一份教程,就不复读了:https://github.com/shadowsocks/shadowsocks/wiki/Optimizing-Shadowsocks

第二章 LAMP(或者LNMP)

要是盖好房子要请客人来就需要装修一下客厅,然后摆出一套桌椅沙发来接待客人。
两种客厅装修方案的区别就不详述了,大体上根据实际情况选择就行了(像我有一次装自动化脚本把Nginx装坏了被迫使用Apache这种事就不详细说了)。
同理,因为自动化脚本到处都有外加可能会引起各种奇怪的问题,我这里只记录手动方法。
感谢DigitalOcean上的Justin Ellingwood提供的两篇教程:

How To Install Linux, nginx, MySQL, PHP (LEMP) stack on Ubuntu 14.04

How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04

1、Apache2 或 Nginx

无非也就这一步有区别:
Apache:

sudo apt-get update
sudo apt-get install apache2

Nginx:

sudo apt-get update
sudo apt-get install nginx

之后可以用浏览器验证一下。

2、MySQL

sudo apt-get install mysql-server php5-mysql
还有两个配置步骤我个人认为是可选,但是既然教程里提到了,作为可能的故障排除记录一下:
sudo mysql_install_db
sudo mysql_secure_installation

3、PHP
老实说这一步其实也是有区别的,先从Apache开始
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
然后修改一下配置/etc/apache2/mods-enabled/dir.conf
把DirectoryIndex里面的index.php调到第一顺位。
重启Apache2service apache2 restart
之后如果需要PHP的其他模块再单独安装。

然后是Nginx
sudo apt-get install php5-fpm php5-mysql
我们需要修改一下/etc/php5/fpm/php.ini,把cgi.fix_pathinfo改成0。
重启PHPservice php5-fpm restart
Nginx最麻烦的莫过于手动修改配置文件,教程里给出的样例我这里原样复读一下。
nano /etc/nginx/sites-available/default

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /usr/share/nginx/html;
index index.php index.html index.htm;

server_name server_domain_name_or_IP;

location / {
try_files $uri $uri/ =404;
}

error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}

location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

此处旨在配置PHP正常工作,后面还要加需要另外的修改。

第三章 SSL

这个其实算是最近沉迷Cloudflare和Let’s Encrypt不能自拔的后果。
就以Let’s Encrypt大力推荐的Certbot来说,对Apache有自动配置功能,一切都可以按提示操作,所以这里就专门记录一下在Nginx上使用Certbot的繁琐步骤。

首先是安装

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
./certbot-auto

之后因为不能自动配置,我们要做的就是用Certbot先拿到证书:
./certbot-auto certonly

然后按照申请商业证书的方式配置到Nginx里,证书的位置在/etc/letsencrypt/live/your-domain/

对应的Nginx配置文件里面加上这些

listen 443 ssl;
ssl_protocols TLSv1.2 TLSv1.1 TLSv1;

ssl_certificate     /etc/letsencrypt/live/your-domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain/privkey.pem;

之后别忘了配置自动更新证书crontab -e
根据Let’s Encrypt官网推荐的间隔12小时随机时间更新,在最下面加上

12 4 * * * bash /etc/certbot/certbot-auto renew --quiet --no-self-upgrade
7 16 * * * bash /etc/certbot/certbot-auto renew --quiet --no-self-upgrade

再度启航

毕业考试结束后发现个杯具的事情:网站上不去了……

更杯具的是:SSH也连不上……

排查来排查去发现服务器的网络设置有问题,网络界面只开了个Loopback。

折腾几天无果,在G+上问了问,有人建议发个ticket,于是照做。客服也表示绑定不上IP,建议我重装。我抱着最后一丝希望问了问能不能给我把文件搞出来,客服小哥欣然表示:“Sure!”。

然而弄出来我才发现,我之前用后台的临时接口备份的数据库里面没有文章内容

所以其实除了附件以外并没有找回任何有用的东西……

结局就是:一切重新开始——


往好处想吧,大学毕业算是人生新阶段的起点,这时候出这个状况也是给我一个重新开始的契机。回想之前写博客的历程不免也是折腾劲头大过真正的用途,毕竟会看的人屈指可数,所以之前也是懒到每年更新1-2篇, 内容也大都是生活牢骚,没什么营养。

其实我并没有写日记的习惯,也不是IT技术从业者,没有写技术博客的能力,之所以想弄个自己的博客也纯属折腾,毕竟懒人只是为了玩而架设的网站,也只有博客还勉强算有点用。

也想过是不是趁这个机会换个博客系统,之前觉得Ghost有点意思,然而试用了一下感觉功能不是那么舒服。也想过弄个Joomla的站点,但是给聂老板做的网站简直累死人,这东西没点开发能力还是少碰的好。所以结论就是:还是Wordpress合胃口。

虽然如此,以后估计还是会不定期坑下去……