方舟基地 - 个人项目
type: channel
link: https://www.wnark.com/category/project/
description: 总结下自己创建的项目
items: Python Huey中 初始化ConsumerConfig时**conf与**config.values的区别
items: QEMU系列 - VirtualDSM
items: EVE Online-通过修改hosts加速eve下载
items: 阿里云开发校园合伙人比赛项目详细开发过程
items: 一键脚本生成Eve-online.rules文件
items: 利用jsDelivr加速handsome静态资源
items: 自动化转存eveonline启动器与缓存文件
items: 利用按键精灵在VPS挂机抢甲骨文免费机
items: EVE Online-（欧服）公益加速服务
items: 利用反向代理来汉化网站

Python Huey中 初始化ConsumerConfig时**conf与**config.values的区别
type: item
date: 2023-02-28T13:36:00+08:00
description: huey是一个轻量的任务队列，支持使用sqlite，适合用于在Linux/Windows多平台的软件使用huey的相关教程较少下一篇文章大概会放出，在嵌入到单个软件项目中使用的demo。现象在初始化ConsumerConfig时有两种写法，可以看看下面的demo：from huey.consumer_options import ConsumerConfig conf = {"workers":2, # 消费者数量 "worker_type":'thread', # 消费者类型 "initial_delay":60, # 最小的轮询间隔，与-d相同。 "backoff":2, # 指数退避使用这个速率，-b. "max_delay":100, # 可能的最大轮询间隔, -m. "periodic":True, # 允许周期性任务 "check_worker_health":True, # 启用工人健康检查。 "health_check_interval":1, # 指定了健康检查的轮询间隔 "utc":True, # 将时间戳转换为UTC时间 "consumer_timeout":10, # 消费者超时时间为10秒 } config = ConsumerConfig( workers=2, # 消费者数量 worker_type='thread', # 消费者类型 initial_delay=60, # 最小的轮询间隔，与-d相同。 backoff=2, # 指数退避使用这个速率，-b. max_delay=100, # 可能的最大轮询间隔, -m. periodic=True, # 允许周期性任务 check_worker_health=True, # 启用工人健康检查。 health_check_interval=1, # 指定了健康检查的轮询间隔 utc=True, # 将时间戳转换为UTC时间 consumer_timeout=10, # 消费者超时时间为10秒 ) def worker(**x): print(x) if __name__ == '__main__': worker(**conf) worker(**config.values)安装完成环境后两种写法都对，但运行输出分别为：{'workers': 2, 'worker_type': 'thread', 'initial_delay': 60, 'backoff': 2, 'max_delay': 100, 'periodic': True, 'check_worker_health': True, 'health_check_interval': 1, 'utc': True, 'consumer_timeout': 10} {'workers': 2, 'worker_type': 'thread', 'initial_delay': 60, 'backoff': 2, 'max_delay': 100, 'check_worker_health': True, 'health_check_interval': 1, 'scheduler_interval': 1, 'periodic': True, 'flush_locks': False, 'extra_locks': None}可以观察到，worker(config.values)的输出内容比worker(conf)要多。但这是为什么呢？原因worker(**conf)worker(**conf)这个还是比较好理解的，毕竟是python的标准写法:通过**声明的参数也是可以传入多个参数，但是传入的参数类型需要为字典的类型,且参数在函数内部将被存放在以形式名为标识符的dictionary中，这种方法在需要声明多个默认参数的时候特别有用。worker(**config.values)worker(**config.values)就不太一样了，config是在类里面定义的对象，理论上应该是用vars() 函数,毕竟：vars() 函数返回对象object的属性和属性值的字典对象。但当你实际使用vars() 函数会发现并不会起作用，而参考huey的demo：huey_consumer.py，可以看到作者是这样写的： # 将 options 对象中的非空属性值提取出来，组成一个字典，并将结果赋值给 options 变量。 options = {k: v for k, v in options.__dict__.items() if v is not None} # 创建一个 ConsumerConfig 类的实例对象，使用 options 字典中的键值对参数进行初始化。 config = Consume…

QEMU系列 - VirtualDSM
type: item
date: 2021-12-05T14:59:00+08:00
description: 这个后面涉及到授权，我估计是通过串口通信来传输授权信息的。可以尝试提取它的内核内的驱动，来完善现有黑群晖。或者通过串口注入的方式，来绕过授权，只不过这就超出了我的能力范围了。总之，vdsm的串口root账户密码不是 空。获取qcow21.创建vdsm按照普通方式创建vdsm，是否开机无所谓，我试过使用免费授权，安装完系统后，再进行提取，直接进入了无授权的安装页面。2.导出不要吐槽我的命名方式，我经常搞混啦3.转换使用解压软件打开ddsm.ova，可以发现一个ddsm.ovf与三个vmdk文件，直接解压到新的文件夹。使用命令：qemu-img convert -p -f vmdk -O qcow2 ddsm-disk3.vmdk ddsm-disk3.qcow2 将三个vmdk文件转化为qcow2格式，并用vscode打开ddsm.ovf查看下配置。创建可以使用原生qemu-img，也可以使用unraid，使用pc-i440fx的machine模式，bios引导,scsi硬盘模式即可，还可以使用virtio网卡，创建虚拟机。然后使用virsh console ddsm进入调试串口，监控启动进度。当然，启动正常，但如果安装最新的dsm7.0就提示需要有授权。研究直接开启当使用dsm 6.2.4-25556 Update 2 synology_kvmx64_virtualdsm.pat进行安装时，会报损毁而非无法授权。再次重启后就无法引导了，有点类似于将系统安装到引导盘内。因此，可以尝试想办法只处理单个硬盘，而非将整个硬盘格掉。硬盘分区使用qemu-nbd进行挂载，如下所示：nbd0 43:0 0 10G 0 disk ├─nbd0p1 43:1 0 15.7M 0 part └─nbd0p2 43:2 0 94.1M 0 part nbd2 43:64 0 10G 0 disk ├─nbd2p1 43:65 0 2.4G 0 part └─nbd2p2 43:66 0 2G 0 part nbd3 43:96 0 100G 0 disk └─nbd3p1 43:97 0 100G 0 part ddsm-disk2root@ubuntu:/home/ubuntu/ddsm# mount /dev/nbd0p1 /mnt root@ubuntu:/home/ubuntu/ddsm# ll /mnt 总用量 9310 drwxr-xr-x 3 root root 1024 3月 4 2021 ./ drwxr-xr-x 20 root root 4096 11月 9 15:12 ../ drwxr-xr-x 3 root root 1024 3月 4 2021 boot/ -rw-r--r-- 1 root root 99 3月 4 2021 GRUB_VER -rw-r--r-- 1 root root 6136768 3月 4 2021 rd.gz -rw-r--r-- 1 root root 3349488 3月 4 2021 zImage root@ubuntu:/home/ubuntu/ddsm# umount /mnt root@ubuntu:/home/ubuntu/ddsm# mount /dev/nbd0p2 /mnt root@ubuntu:/home/ubuntu/ddsm# ll /mnt 总用量 9401 drwxr-xr-x 2 root root 1024 12月 4 20:37 ./ drwxr-xr-x 20 root root 4096 11月 9 15:12 ../ -rw-r--r-- 1 root root 87 12月 4 20:38 grub_cksum.syno -rw-r--r-- 1 root root 6162128 12月 4 20:38 rd.gz -r-------- 1 root root 512 12月 4 20:37 Sone.9 -rw-r--r-- 1 root root 65536 3月 4 2021 vender -rw-r--r-- 1 root root 3349632 12月 4 20:38 zImage ddsm-disk2root@ubuntu:/home/ubuntu/ddsm# mount /dev/nbd2p1 /mnt root@ubuntu:/home/ubuntu/ddsm# ll /mnt 总用量 88 drwxr-xr-x 21 root root 4096 12月 4 20:44 ./ drwxr-xr-x 20 root root 4096 11月 9 15:12 ../ lrwxrwxrwx 1 root root 7 3月 4 …

EVE Online-通过修改hosts加速eve下载
type: item
date: 2021-11-14T19:43:00+08:00
description: 好早之前写的，用来生成exe来给小白加速用，现在觉得占位置，就开源算了。做个存档记录。github地址：https://github.com/wnark/eve-download-acceleration源码::[Bat To Exe Converter] :: ::fBE1pAF6MU+EWHreyHcjLQlHcByLPWSyOpEZ++Pv4Pq7p1sY0Qj/8W8k5r2eNrZd+kvjFQ== ::YAwzoRdxOk+EWAjk ::fBw5plQjdCyDJGyX8VAjFANdTQuKAE+/Fb4I5/jH6vyCJ6fd3QLARAogBDJOx64a6UqE ::YAwzuBVtJxjWCl3EqQJhSA== ::ZR4luwNxJguZRRmT+kMiI1VXQwni ::Yhs/ulQjdFy5 ::cxAkpRVqdFKZSjk= ::cBs/ulQjdFy5 ::ZR41oxFsdFKZSTk= ::eBoioBt6dFKZSDk= ::cRo6pxp7LAbNWATEpSI= ::egkzugNsPRvcWATEpCI= ::dAsiuh18IRvcCxnZtBJQ ::cRYluBh/LU+EWAnk ::YxY4rhs+aU+IeA== ::cxY6rQJ7JhzQF1fEqQJgZksaHUrTXA== ::ZQ05rAF9IBncCkqN+0xwdVsEAlTMbSXrZg== ::ZQ05rAF9IAHYFVzEqQK23sLcpPsHw7E/+mVR7f7+agBHK63iNA== ::eg0/rx1wNQPfEVWB+kM9LVsJDGQ= ::fBEirQZwNQPfEVWB+kM9LVsJDGQ= ::cRolqwZ3JBvQF1fEqQK1wtvdrPuHKm76CbsQ4eb+aSZAJLHw0xjb/X8UX15GpRnbb6oO8071UJK1HjfhifGZ++tjDg== ::dhA7uBVwLU+EWN9yLcrY156rloF+7As= ::YQ03rBFzNR3SWATElA== ::dhAmsQZ3MwfNWATEcY3Crd+oyvJbtINFZg== ::ZQ0/vhVqMQ3MEVWAtB9wSA== ::Zg8zqx1/OA3MEVWAtB9wSA== ::dhA7pRFwIByZRRnk ::Zh4grVQjdCyDJGyX8VAjFANdTQuKAE+/Fb4I5/jH6vyCJ6fd3QLARAktAzxm32XsMMAYpbMb8/+wWELs81VdZhfL ::YB416Ek+ZW8= :: :: ::978f952a14a936cc963da21a135fa983 @echo off setlocal EnableDelayedExpansion color 0b mode con cols=80 lines=25 echo ************************************** echo 建议仅从wnark.com下载脚本 echo 使用其他来源下载谨防病毒、木马 echo 对了，记得打开网卡的启用IPv6支持 start ipv6.png echo 如果不随便“优化”的话默认都是打开的 echo 不懂的可以百度搜：启用IPv6支持 pause echo 桌面的ipv6.png是自动打开的那个图片，我设置会自动删除 echo 如果没有自动删除的话 echo 麻烦您待会把桌面的那个ipv6.png文件手动删掉谢谢啦 pause echo 360啥的会提示这个脚本修改网络啥的 echo 允许就行了 pause echo 由于安全软件的原因请手动修改hosts文件 echo hosts位置：C:\Windows\System32\drivers\etc echo ************************************** echo 如果加速游戏服务器请在hosts内填入 echo 127.0.0.1 tranquility.servers.eveonline.com echo ************************************** echo 如果加速启动器请在hosts内填入 echo 127.0.0.1 launcher.eveonline.com echo 127.0.0.1 resources.eveonline.com echo 127.0.0.1 binaries.eveonline.com echo ************************************** echo 修改hosts的时候不用关闭此脚本 echo 修改完成后执行下一步 pau…

阿里云开发校园合伙人比赛项目详细开发过程
type: item
date: 2020-08-14T23:05:00+08:00
description: 上一篇文章基本上是流水账，就在这篇文章内详细介绍我的开发流程吧。求点赞、求点赞、求点赞。非常感谢(☆ω☆)之前记的流水账，也可以结合一起看。[post cid="124" cover="https://pic.wnark.com/images/2020/08/12/2aHO.th.jpg"/]关于为什么写这篇文章呢，是为了开拓思维。现在好多东西都可以在网上搜到教程了，但又出现了一个新问题就是：“会者不难，难者不会”，思路有时候比具体的知识更重要。我写这篇文章也是作为我自己的备忘录。毕竟过几天我就可能忘了我当初是怎么实现xx了。比赛要求1.基于云开发平台开发任意形式的Web应用2.参赛应用本身也要有自己的前后端通信和数据库操作可以找同学帮忙，但最终交作业的名义是你自己的。大概就这些吧。项目情况我的项目为：网易云音乐模仿 QQ 音乐网页版界面先“简单”介绍下我所完成的项目吧。萌新小白作品，可能有些地方看起来很傻，见笑了。::aru:shy:: 演示：key.coldark.cn music.coldark.cn api.coldark.cn 这三项目作为一个整体来成为我的作品。key：密钥登录界面music：音乐播放界面api：作为音乐播放界面播放音乐时调用的api其实加上一个发卡站就完美了，但涉及到盈利就属于灰色地带了，违反了比赛的要求。（其实是我压根不会弄nodejs版的发卡站）开发经历以下过程可能有点流水账，建议当小说看吧。确认需求老师的要求是在云开发平台开发,则就是在workbench上的cloudide开发，可以部署到serverless。作为比赛项目，有两种类型：严肃和娱乐。考虑到涉及点赞，如果是严肃类风格的话可能用户并不会感兴趣。参考那些演讲台下观众昏昏欲睡，因此我只能选择娱乐类。而作为载体。有文字、音频、视频、图片这几种选择，还有游戏。在最开始的时候我没考虑到有api从“大厂”那盗链。作为个人用户，直接通过阿里云给用户音频、视频、图片服务带宽费我直接扛不起，因此在最开始的时候就忽略了这三个选项。而文字一般是小说之类的东西，但小说这个涉及到盗版了。除了小说，涉及文字的比较火热的就是查题之类的。再就是小而美的：国标，文书这类。因此我总结了一下我所选择的东西的特点：成本：消耗的性能相对较少，使用的流量必须忽略不计。网络：更能发挥severless多地域的部署的优点。瞬时性能：能展现serverless可以动态扩容优势突出与众不同、差异化竞争：很多人会选择搭建博客、电子相框。因此我的首选就是游戏。正好我玩过游戏有过因为玩家都聚集在一个区域而导致游戏紧急维护的情况。确认优劣我的劣势是完全不熟悉serverless平台，对于nodejs完全是小白，python的话只有写脚本的水平，还不至于能独立做一个网站，优势是熟悉网站运营，了解用户需要什么，市面上有哪些比较热门网站，因此我可以往我的优势发挥，使用开源、热门的项目。确认项目最开始的时候我是准备部署一个html小游戏就行了，所有内容全前端完成。刚好在mjj论坛看到一个魔塔项目，因此参考老师部署静态文件的教程部署到服务器上了：但在某次课程结束后，老师说要前后端通信，以及用到数据库。大概网站我是没时间也没能力了，因此暂时放弃了，大家想玩可以去找安装包玩玩。（原准备开个服务器给大家玩玩的，但是忘记同步Git了（那个时候不会，后面会了又忘了），现在打开容器的时候发现容器已经被清空了。）我再到GITHUB 以：game nodejs为关键词搜索，most stars排序。之所以用GitHub而不用谷歌搜是为了排除那些“商业项目”。根据我谷歌搜到的内容，以nodejs作后端的游戏其实挺少的。果然前两页项目基本上只有几百star。我再打开每个项目，看它的demo以及readme文件来查看是否符合我的选择。以下是我部分筛选项目以及评估。FreezingMoon/AncientBeast ：需要两个人在计算机前玩，更偏向西化 alexa/skill-sample-nodejs-adventure-game：文字冒险类游戏，用户不好迅速体验 jondubois/iogrid：nodejs版本太老了 Jerenaux/phaserquest 介绍了如何连接mongoDB luin/CodeGame 技术上太难实现了 Lallassu/wizardwarz 鼠标控制不方便 gustaYo/vue-chess 国际象棋太小众了 node-pinus/pinus 国人项目，没demo lance-gg/lance：作者写了个很好的入门教程：http://docs.lance.gg/tutorial-MyFirstGame.html 我还用3D+nodejs作为关键词搜了一遍。找到了个挺好玩的项目：http…

一键脚本生成Eve-online.rules文件
type: item
date: 2020-04-05T00:02:00+08:00
description: 虽然我觉得用那个tap软件来加速eve online太原始了，但还是有人对这个有需求，我又懒得手动配置。因此我还是写一个脚本吧。EVE-Online-Generate-IP-rules-automatically项目地址：https://github.com/wnark/eve-online-Generate-IP-rules-automatically 本项目获取eve online域名对应的所有ip，储存并生成对应的rule文件本项目是 miyouzi/akamTester 的分支拿来即用[scode type="yellow"]由于CCP的聊天服务器ip经常大范围变动，如果你发现你连不上聊天服务器了，并且live.chat.eveonline.com的ip不在live.txt里面，那就表示又要生成新的规则了，请在评论/github提出，我更新文件（或者你自己执行脚本，反正超简单）[/scode]点击下载 Eve-online.rules其实我更推荐用修改hosts的方法[post cid="53" cover="https://pic.wnark.com/images/2020/02/04/48561346-8x3.th.png"/]需要处理域名tranquility.servers.eveonline.com live.chat.eveonline.com launcher.eveonline.com resources.eveonline.com binaries.eveonline.comEve-online.rules 为最终生成的文件，适用sstap版本：1.0.9.7Eve-online.rules文件仅在本项目更新，偶尔在FQrabbit/SSTap-Rule内更新源码运行安装依赖:pip3 install requests beautifulsoup4 lxml termcolor pythonping dnspython IPy执行 eve-online-rule.pypython3 eve-online-rule.py关于轮子GlobalDNSGlobalDNS 是个对域名进行全球解析的类, 使用 www.whatsmydns.net 的 API 进行解析，额外包含本地、谷歌、腾讯、阿里 DNS 的解析结果。导入from GlobalDNS import GlobalDNS使用akam = GlobalDNS('upos-hz-mirrorakam.akamaized.net') ip_list = akam.get_ip_list() # 取得全球解析结果, 返回一个 set akam.renew() # 重新解析 ip_list = akam.get_ip_list() # 将返回最近一次全球解析的结果ColorPrinterColorPrinter 染色输出工具, 可输出红绿及默认颜色(一般终端为白色), 可跨平台, 包括pyCharm中的运行窗口导入from ColorPrinter import color_print使用color_print('Hello World') # 默认输出颜色 color_print('Hello World', status=1) # 输出红色 color_print('Hello World', status=2) # 输出绿色miyouzi/akamTester使用它的轮子来获取每个域名的所有iptry: akam = GlobalDNS(host) color_print('第一次解析:') ip_list = akam.get_ip_list() print() color_print('第二次解析:') akam.renew() ip_list = ip_list | akam.get_ip_list() print() color_print('第三次解析:') akam.renew() ip_list = ip_list | akam.get_ip_list() except BaseException as e: color_print('进行全球解析时遇到未知错误: '+str(e), status=1) if os.path.exists(ip_list_path): color_print('将读取本地保存的ip列表', status=1) with open(ip_list_path, 'r', encoding='utf-8') as f: ip_list = f.read().splitlines() else: color_print('没有本地保存的ip列表！程序终止！', status=1) print() input('按…

利用jsDelivr加速handsome静态资源
type: item
date: 2020-03-24T10:01:00+08:00
description: 我之前用的是javi的公益服务，但他是用的对象存储，要花钱。为了给javi省钱，我决定用jsDelivr白嫖加速handsome静态文件。如果你想直接用现成的话，请点击前往使用javi的服务。[scode type="yellow"]由于有人恶意盗用作者的主题资源，因此我删除了公共项目。[/scode]jsDelivr是什么jsDelivr由ProspectOne维护的公共库，使用的融合CDN技术，由Cloudflare、Fastly、StackPath、QUANTIL等CDN供应商提供了全球超过750个CDN节点。最重要的是，jsDelivr在中国大陆也拥有超过数百个节点，因为jsDelivr拥有正规的ICP备案，解决了中国大陆的访问速度优化，实现真正的全球极速低延迟体验。jsDelivr是免费的、不限制带宽的，可以加速NPM、Github内的文件。本文采用的方法就是将静态文件资源放到Github的仓库内，再使用jsDelivr进行加速访问，达到完全零成本优化访问速度。相当于一个高速访问的图床！开始使用创建仓库在Github新建一个公开仓库，用于存放我们的静态文件资源。这里不再过多赘述，下面的链接是我的静态文件资源仓库。https://github.com/wnark/handsome-assets 使用jsDelivr访问资源根据jsDelivr的文档，有很多种访问资源的方式，但因为我懒得维护，就选择了最简单的一种根据jsDelivr的要求，文件路径为：https://cdn.jsdelivr.net/gh/user/repo@latest/file以我的为例：https://cdn.jsdelivr.net/gh/wnark/blog-assets@latest/6.0.0/ 目前博主使用的是这种方案。这种方案不需要发布releases，可以直接从master读取文件，而且实时更新缓存。但是官方并不推荐使用这种方法，因为修改master的文件后，如果没有修改网站的旧链接，可能会出问题。根据你自己的情况决定吧。访问统计jsDelivr还提供了文件列表和文件访问统计页面：文件列表：https://cdn.jsdelivr.net/gh/user/repo/比如我的：https://cdn.jsdelivr.net/gh/wnark/handsome-assets/访问统计：https://www.jsdelivr.com/package/gh/user/repo比如我的：https://www.jsdelivr.com/package/gh/wnark/handsome-assets代码压缩jsDelivr还提供了代码压缩服务，比如将JS/CSS的代码压缩，优化访问速度。只是前几次访问会执行压缩操作，速度比较慢。后面就会将文件缓存，速度不会再慢了。。。。只不过不适合handsome用，就算了。。。前几次会非常慢，手动多刷新几次后，缓存建立好后就很快了。使用方法Handsome主题的后台设置-速度优化-将本地静态资源上传到你的cdn上中填写：https://cdn.jsdelivr.net/gh/wnark/handsome-assets@master/{版本号}/ 如https://cdn.jsdelivr.net/gh/wnark/handsome-assets@master/6.0.0/ 参考：Handsome静态资源加速利用jsDelivr白嫖全球超高速静态资源访问服务！GitHub+jsDelivr 打造免费且速度理想的 OSS

自动化转存eveonline启动器与缓存文件
type: item
date: 2020-03-01T18:11:00+08:00
description: 作为我个人方案备份，不教方法。创建文件夹需要创建C:\eveonline C:\TY-eveonline C:\eveonline\launcher C:\eveonline\resources C:\TY-eveonline\launcher C:\TY-eveonline\resources 安装choco以管理员身份运行powershell执行Set-ExecutionPolicy AllSigned 修改powershell脚本运行安全等级使用Get-ExecutionPolicy 获取当前安全等级再执行Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) 安装chocolatey关闭PS的快速编辑powershell使用快速编辑时，可能会导致界面在运行时一动不动，因此需要关闭。右键powershell程序栏，选择属性，关闭powershell快速编辑和插入模式安装aria2使用choco install aria2 来安装aria2，用来下载。脚本[collapse status="true" title="eveonline-launcher.ps1"]##C:\eveonline为执行脚本所在文件夹 ##C:\TY-eveonline为天翼云盘同步文件夹 ##脚本运行需要创建C:\eveonline | C:\TY-eveonline | C:\eveonline\launcher | C:\TY-eveonline\launcher | C:\TY-eveonline\resources |C:\eveonline\resources\ Invoke-WebRequest -Method Get "https://launcher.eveonline.com/launcherVersions.json" -OutFile "C:\eveonline\new_launcherVersions.txt" ##从json文件获取最新版本并保存到new_launcherVersions.txt中 $new_launcher = Get-Content "C:\eveonline\new_launcherVersions.txt" $old_launcher = Get-Content "C:\eveonline\old_launcherVersions.txt" ##读取新与旧参数的文件,保存参数到new_launcher与old_launcher $json_new_launcher = $new_launcher | ConvertFrom-Json $json_old_launcher = $old_launcher | ConvertFrom-Json ##json规范化版本参数 $new_win = $json_new_launcher | Select-Object -ExpandProperty win $old_win = $json_old_launcher | Select-Object -ExpandProperty win ##获取win的版本号 $new_mac = $json_new_launcher | Select-Object -ExpandProperty mac $old_mac = $json_old_launcher | Select-Object -ExpandProperty mac ##获取mac的版本号 $new_linux = $json_new_launcher | Select-Object -ExpandProperty linux $old_linux = $json_old_launcher | Select-Object -ExpandProperty linux ##获取linux的版本号 if ( Compare-Object $new_win $old_win ) { Remove-Item "C:\eveonline\launcher\EveLauncher.exe*" Remove-Item "C:\TY-eveonline\launcher\EveLauncher.exe*" aria2c …

利用按键精灵在VPS挂机抢甲骨文免费机
type: item
date: 2020-02-26T08:17:00+08:00
description: 甲骨文免费机的韩国区一直都是一机难求。为了抢免费VPS，有的大佬使用浏览器的控制台挂机脚本，有的大佬利用API。但甲骨文的API已经变过好几次了，我在浏览器使用控制台挂机脚本时报错。于是，我想到利用按键精灵写了个简陋的脚本在VPS上挂机抢甲骨文免费机。哪个MJJ手里没几台win机据说每个月的月初和月末甲骨文放机，你可以试试在30号左右的时候抢。[scode type="yellow"]需要你的Windows VPS拥有VNC连接方式，并且断开VNC后不会失去鼠标。最好使用国外的Windows VPS，以防因网络原因导致无法正常点击。如果你的VPS没有VNC，那么就需要两台Windows VPS[/scode]准备首先在国外的VPS上安装好按键精灵（2014）和chrome浏览器，在chrome浏览器添加Super Auto Refresh Plus这个插件。这个插件是为了定时刷新浏览器界面，防止甲骨文购买界面出现“挂机自动退出”选项。[scode type="yellow"]我测试过火狐浏览器，发现更容易退出。而谷歌可以挂机12个小时。所以建议用谷歌浏览器。[/scode]开始登陆登陆甲骨文云(oracle cloud),右键左上角的oraclecloud图标，选择在新标签页打开链接。此时有两个标签页均为甲骨文云的首页。第一个标签页进入计算 - 实例。我账号原本有两台免费机。为了做教程以及防止被说造假，我先取消一台免费机，如图所示。第一个标签页进入创建界面，设置好你的选项，先尝试创建没准刚好放机了当然，理所当然的，我这里因为没资源了....创建失败（个屁），居然还有机子，我等它没机子吧。第二天中午，终于没免费机了。可用性域 gIce:AP-SEOUL-1-AD-1 中配置 VM.Standard.E2.1.Micro 的容量不足。 请稍后重试。 了解有关主机容量的更多信息。 开始前往第二个标签页，用Super Auto Refresh Plus插件设置30min自动刷新一次。打开刷机精灵按键精灵，提取按钮的坐标，编写脚本，如图所示，即为自动挂机脚本。我设置20s自动点击一次。[scode type="blue"]如果你嵌套远程桌面/使用VNC的话，注意下自己脚本内鼠标点击左边是否是在那个按钮位置。[/scode]嵌套远程桌面如图所示，在第二台Windows远程登陆第一台Windows，注意设置好分辨率，调整好鼠标点击位置。按键精灵选择调试 - 启动。先观察下是否能正常自动点击。然后直接关闭第二个远程桌面即可。此时按键精灵依然可以自动点击，并且由于Super Auto Refresh Plus插件每30分钟自动刷新一次第二个标签页，所以刷机页面不会退出。VNC连接[scode type="blue"]部分运营商的vnc长时间断开后会导致失去鼠标，浏览器停止自动刷新。所以出现这种情况建议用上面嵌套远程桌面的方案。[/scode]我用的第一台Windows运营商自带VNC。直接用VNC连接Windows，调试按键精灵按键位置参数。按键精灵选择调试 - 启动。先观察下是否能正常自动点击。然后直接关闭VNC即可。此时按键精灵依然可以在后台自动点击，并且由于Super Auto Refresh Plus插件每30分钟自动刷新一次第二个标签页，所以刷机页面不会退出。一般来说过一晚就能抢到机子了。

EVE Online-（欧服）公益加速服务
type: item
date: 2020-02-04T18:54:00+08:00
description: 本项目为公益服务，永久免费。由于ccp的操作纯粹是借口，我对eve彻底失去兴趣了，这个项目在2022年1月1日将无限期关闭。本项目现阶段使用的是ucloud的globalSSH来保证网络稳定性，如果各位谁有兴趣接手，可以聊聊在哪个时间无缝衔接下。没人衔接的话，将于2022年1月1日直接关闭项目。序言闲的没事干折腾的项目，不是常见的酸酸乳之类的加速器，不能上外网。[scode type="red"]新增、修改hosts文件的时候注意删掉你之前的内容，恢复为系统默认的内容再进行增改，以免由于粗心导致hosts文件内容混乱。[/scode]bat脚本这个是为了方便大家使用写的bat脚本，没加密，大佬一看源码就懂可以手动配置。如果不会手动配置的就用脚本吧，这个不是游戏外挂[scode type="red"]内置的服务器已失效，别用，我懒得更新[/scode]点击下载，双击打开，按提示操作即可。了（只在Windows 10 64位上测试过，mac无法使用）下载加速服务器到期，不能用了]350报毒，火绒、卡巴斯基没报毒。用360的想用的话添加信任就行。[scode type="yellow"]加速启动器没啥用，还是别用了[/scode]密码是"wnark.com"(没引号)只需要加速的时候打开一次，电脑重启后配置都还在，不用再运行。如果需要恢复原状就再执行一次按3就行了，恢复是全部恢复。可能使用加速后启动器报错：初步筛查是因为vmware虚拟机的问题，建议玩游戏的时候完全关闭VMware（右下角那个图标）具体原因由于目前我没时间因此无法确定。（由linda反馈并提出解决方案）初步怀疑是VMware的虚拟网卡调用了netsh，导致netsh没法正常转发数据包。常规线路使用方法很简单：在Windows/MAC修改host文件即可[scode type="yellow"]360等国产杀毒软件会强行禁止修改hosts，虽然可以忽略警告。自行斟酌吧。[/scode]windows修改 C:\Windows\System32\drivers\etc\ 文件夹下的hosts文件即可。一般没权限，把hosts文件拖到桌面，修改后再拖回去就行了。在hosts内容如下图所示（别照抄）：mac比较复杂，建议看网上的教程：如何在 macOS 下设置 host ？加速游戏与聊天服务器[scode type="blue"]下面的hosts配置为加速游戏服务器与聊天服务器，即通过启动器进入游戏后，在游戏过程中减少出现卡顿掉线的情况，并不能加快启动器打开与下载速度。[/scode]游戏服务器（全宽带可用，无论你是联通、电信还是移动、网通、教育网）对应的域名为：tranquility.servers.eveonline.com提供服务的服务器ip北方：120.132.56.65hosts文件内容：120.132.56.65 tranquility.servers.eveonline.com 聊天服务器[scode type="yellow"]由于有人喜欢在中文频道键政，以及目前游戏聊天服务器不再出现掉线，我将择机停止加速聊天服务器[/scode]对应的域名为：live.chat.eveonline.com提供服务的服务器iphosts文件内容：[scode type="yellow"]tranquility.servers.eveonline.com为游戏服务器域名live.chat.eveonline.com为聊天服务器域名可以根据你家网络情况单独选择一种域名填入hosts中，则可以单独加速游戏服务器/聊天服务器可能随着使用该公益服务器的人数增加，用来加速游戏服务器完全无法满足用户的需求，造成您在过门/交易时卡顿，请及时反馈（但我没钱扩容）并且替换其他线路试试。[/scode][scode type="blue"]服务器带宽有限，我将根据服务器带宽占用情况提供不同的服务器提供不同的服务，暂不为国外的小伙伴提供服务。[/scode]加速启动器及更新把下面内容添加进hosts文件即可。193.123.226.13 launcher.eveonline.com 193.123.226.13 resources.eveonline.com 193.123.226.13 binaries.eveonline.com 193.123.226.13 www.eveonline.com 193.123.226.13 web-cdn.eveonline.com 加速下载没人用，已关闭sstap规则虽然我觉得用sstap来加速eve online太原始了，但还是有人对这个有需求，我又懒得手动配置。因此我还是写一个脚本吧。前往下载脚本：[post cid="101" cover="https…

利用反向代理来汉化网站
type: item
date: 2019-12-13T12:33:00+08:00
description: 之前黑五买了个畸形小鸡，四核1G内存10G硬盘。一开始我也不知道拿它干啥，毕竟硬盘太小了。突然，我想到可以用它反代网站。毕竟反代网站正常情况下吃的就是cpu,不缓存情况下，内存和硬盘消耗量并不大。在最开始，我就是想的利用反向代理来汉化eve university，但最终因为文本量巨大而放弃。但并不意味着使用反向代理来汉化一无是处。关于eve university汉化，你可以看看这篇文章：[post cid="8" cover="https://pic.wnark.com/images/2019/11/06/1571249903741-8x3.th.png"/]其实，汉化最好的方法就是能联系上作者，获取授权和原始文件。可惜的是，并不是所有的作者都能联系上。（幸好eve university加入了开源协议，不用联系作者就能直接提取原始文件）下面我就介绍两种使用反向代理来汉化的方式：利用cloudflare的网站APP功能虽然很多人觉得cloudflare的网站app很垃圾，但在我看来这个挺强大的，可以在反向代理后的网页上添加一些功能，比如谷歌翻译。比如，我反代了eve university后，可以直接使用cloudflare APP里的谷歌翻译在页面添加翻译选项，调用谷歌翻译来翻译整个页面。它的优点是简单快捷，弥补了反向代理网站很难往网站上添加功能的缺点。它的缺点就是太机械化，无法很好的翻译专业的单词，翻译结果只能作为参考而不能实际上拿来用。利用反向代理的文本替换功能原本我以为反向代理的文本替换只能替换文本内容，但是，实际上反向代理的文本替换是可以替换代码的。就像下面的反向代理的替换规则，我将网站的头部，网站部分内容和一个文件进行了替换其效果就是网站的头部，网站部分内容被我替换，网站的版权提示被我删除。[scode type="blue"]我之所以删掉它的版权提示是因为它的版权提示压根就不是授权给它的域名，站长搬迁它的网站后就没修改版权提示内的内容了。当然这个网站仅供测试，除非获得站长授权，否正我不会提供正式的服务[/scode]它的优点就是简单快捷，可以轻轻松松的汉化一个有限文本的网站。它的缺点就是所需工作量巨大，虽然写完规则后几乎就不用变更了，但当原始网站为eve university这样无比庞大的网站后，我都怀疑nginx是否能正常的替换掉所有内容。如果出现502错误，在配置文件加入。proxy_ssl_name $host; proxy_ssl_server_name on; 反向代理来进行汉化虽然简单，但都有各式各样的致命缺点，所有我最后还是选择获取eve university的所有文本，再进行提取和人工汉化，之后再导入汉化的内容。但是，在一些比较简单的网站上，利用反向代理汉化不需要源站作者的提供文本，翻译的更加迅速，因此可以作为汉化网站的强力补充手段。