独乐乐不如众乐乐

相信绝大多摄影玩家除了甘之如饴酝酿、产出影像作品外,还为后期影像作品的保存和展示发愁过。

对个人而言,多年以来,除了邂逅个别不开源的摄影定制主题外,还没有一个专业级解决方案令人顿生强烈的归属感。直到认识了Imagevue X3,自此对这款基于javascript、CSS3以及HTML5技术搭建的图片展示框架死心塌地。

作为专注于摄影图片展示方案的平台,Imagevue官方还提供了配套的主机服务,代号Flamepix。据官网指导价,月付价格13.9刀,个性定制服务150刀,每月CDN流量费用5刀1。在解释为什么价格比同类产品要贵的时候,作者Karl Ward是这么回答的:

Why is Flamepix more expensive than cheap hosting?

Why is a Mercedes Benz more expensive than a Toyota? Flamepix is a high-end managed service that truly cares about your X3 website and how well it performs. You should too!

  • 无与伦比的速度、性能
  • 免费授权版X3证书
  • 预装最新X3程序
  • X3程序自动享受迭代更新
  • 强大、高性能的硬件支持
  • 一对一的性能性、兼容度调试
  • Cloudflare以及CDN的保驾护航
  • SSL加密,以及Http2高速传输
  • X3开发者一流的技术运维
  • 以上承诺均可兑现

不过宣传了这么多,自己还是厚脸皮了一把,一直用minirplus提供的3.24.2破解版本2,毕竟由于众所周知的原因,境外的服务器表现终归不尽如人意。运行一年多来十分稳定,唯独在导航菜单、图片读取速度不甚理想,此外,X3在路径和导航上对中文的支持薄弱。以上种种,都敌不过一个懒字,囿于破解不易,一直没下决心更迭。这俩天,偶然浏览了一下X3官网下载页 ,发现最新版本已经更新到了3.27.6,新版导航功能更为流畅、美观,美得令我愿意投入时间成本研究破解机制。

一开始,想当然下载3.27.6更新文件 ,然后通过FTP(推荐Transmit)来覆盖对应的目录、文件。未料破解并不成功,由于老站的site.json与新程序文件的兼容出了点问题,某些目录下的图片无法读取,接着陆续各试了X3.27.6和3.26.0的三个版本(full、min、update),均未见恢复。心灰意懒之际,想到了抱朴守拙,从chrome console面板的XHR信息日志里寻找线索,最终定格在x3_panel.js和auth.photo.gallery两条信息上,如此一来,issue便明朗化了,尽管调试接下来的三处替换扎扎实实耗费了不少精力与时间:

编辑对象 替换前(base64加密) 替换前(base64解密) 替换后(base64解密) 替换后(base64加密)
x3_panel.js aHR0cHM6Ly9hdXRoLnBob3RvLmdhbGxlcnkv https://auth.photo.gallery/ https://icrtt.com/auth aHR0cHM6Ly9pY3J0dC5jb20vYXV0aA==
x3.min.js aHR0cHM6Ly9hdXRoLg== https://auth. https://icrtt. aHR0cHM6Ly9pY3J0dC4=
x3.min.js cGhvdG8uZ2FsbGVyeQ== photo.gallery com/auth Y29tL2F1dGg=

为什么呢?我总结三个容易失足的坑洞:

  • minirplus在后续里只提到了对x3.min.js加密授权地址进行替换,没有(明文)提到x3_panel.js也有一处cGhvdG8uZ2FsbGVyeQ== 需要替换。
  • X3自带的htaccess规则只适用于Apache服务器,ngnix需要自行另外配置3
  • 有些base64加密软件会将URL网址中的:转义成%3A,这样会导致授权错误,建议多试几个,我最终选了rapidtables Base64 Encoder
展示一下最终成果
展示一下最终成果

  1. Imagevue X3的授权保护机制研究 ↩︎

  2. Flamepix - High-Performance X3 Photo Gallery Website Hosting ↩︎

  3. X3 NGINX config ↩︎