vB·流水账

生命在于折腾。

用于加速微软technet网站的adblock过滤器

2016-6-6 vibbow

||dc.services.visualstudio.com/v2/track
||web.vortex.data.microsoft.com/collect/v1/*
||webtrends.com^
||c.microsoft.com/ms.js
||c1.microsoft.com/c.gif

评论(0) 浏览(792)

iWebShop配置使用CDN加速图片教程

2016-6-2 vibbow

好久没有写博客了,今天就来随便写点东西把。
iWebShop并没有官方支持将图片URL重写到第三方CDN的功能,所以只能对源代码进行修改了。虽然以下修改方法并不完美,不过好歹算是可用了。

以下教程均假设图片cdn的域名为:cdn.example.com。总共有三个文件要修改。

\lib\core\file_class.php
这个文件主要禁用了文件名混淆功能。在使用cdn的情况下属于完全然并卵的功能,只会造成无效缓存。

修改点:
function dirExplodeEncode
注释掉以下代码
$code = $code ? $code : ICrypt::encode($dir,IWeb::$app->config['encryptKey']);
在注释掉的代码后面新增一行
$dir = $code;

function dirExplodeDecode
注释掉以下代码
$dir = ICrypt::decode($code,IWeb::$app->config['encryptKey']);
在注释掉的代码后面新增一行
$dir = $code;


\lib\core\util\urlmanager_class.php
这个文件在生成缩略图路径时,直接将baseDir指向cdn的域名

修改点:
function createUrl
找到
if(strpos($url,'pic/thumb/') !== false)
在其内新增一行
$baseDir = '//cdn.example.com/';


\views\default\site\products.html
这里以修改默认模板为例。其实我还是想以修改模板为主。修改模板实在无法达成的部分,才会修改内核文件。

修改点:
229行
<a href='javascript:void(0);' rel="{gallery:'goodsPhoto',smallimage:'{webroot:}{echo:Thumb::get($item['img'],435,435)}',largeimage:'{webroot:$item[img]}'}">
修改为
<a href='javascript:void(0);' rel="{gallery:'goodsPhoto',smallimage:'//cdn.example.com/{echo:Thumb::get($item['img'],435,435)}',largeimage:'//cdn.example.com/{$item[img]}'}">

321行产品描述下新增一行
{set:str_replace('src="/upload/', 'src="//cdn.example.com/upload/', $content)}

523 - 531行
//图片初始化
var goodsSmallPic = "{skin:images/front/nopic_435_435.gif}";
var goodsBigPic   = "{skin:images/front/nopic_435_435.gif}";

//存在图片数据时候
{if:isset($photo) && $photo}
goodsSmallPic = "{webroot:}{echo:Thumb::get($photo[0]['img'],435,435)}";
goodsBigPic   = "{webroot:$photo[0]['img']}";
{/if}
修改为
//图片初始化
var goodsSmallPic = "//cdn.example.com/images/front/nopic_435_435.gif";
var goodsBigPic   = "//cdn.example.com/images/front/nopic_435_435.gif";

//存在图片数据时候
{if:isset($photo) && $photo}
goodsSmallPic = "//cdn.example.com/{echo:Thumb::get($photo[0]['img'],435,435)}";
goodsBigPic   = "//cdn.example.com/{$photo[0]['img']}";
{/if}

评论(0) 浏览(1246)

RouterOS笔记 - Interface -> CPU/Bridge/Switch

2016-2-12 vibbow

以下记录均是讨论逻辑结构,而非硬件结构。如有错误,欢迎留言提出。

在RouterO里,有三个地方可以连接Interface,包括CPU, Bridge(桥接), Switch(交换芯片) 。

CPU 和 Bridge 均为软件实现,Switch是硬件实现。
Bridge和Switch均为二层交换,CPU是三层交换。

Switch只能连接“物理上连到这个switch的接口”(芯片设计角度上的)。在RouterOS里,当把一个物理接口的Master Port设为了另一个物理接口时,则可以认为这几个接口是直接连到同一个Switch上的,他们之间通信直接在Switch内部完成,不需要经过Bridge或者CPU。也可以把Master Port和Slave Port整体看成一个独立的交换机。

Bridge的功能和Switch比较类似,只不过是由软件实现的。因此Bridge可以桥接多个不同的物理接口/虚拟接口。在有Wifi功能的RouterOS里,默认是把wlan接口和switch master port桥接到一起的,因此wifi和有线接口之间可以进行二层交换。

CPU和Bridge在硬件上是平级的,但是在逻辑上是Bridge的上级。当一个接口(无论是物理接口还是虚拟接口)即没有连到Switch上,也没有连到Bridge上时,这个接口就是直接连到CPU上的。直接连到CPU的接口可以使用三层协议(IP地址)和其他接口通信,但是不能使用二层协议(MAC地址)和其他接口通信。

小结:
从逻辑关系上讲,三者的连接关系是 CPU - Bridge - Switch (可以去掉Bridge,如果是CHR设备则没有Switch)。
从性能关系上讲:Switch > Bridge ≈ CPU

#以上笔记来自纠结Router VLAN设置时的理解。

评论(0) 浏览(1461)

WinBox 扫描不到 RouterOS 解决方案之一

2016-1-20 vibbow

在 WinBox 里通过 Neighbors 功能扫描 RouterOS 设备时,是要监听 UDP 5678 端口的。
而已知迅雷出于不知道什么目的,也会监听这个端口。
因此解决方案就是把迅雷的进程杀掉。

请注意仅退出迅雷是无效的,你需要在任务管理器里把ThunderPlatform进程结束掉才行。

评论(0) 浏览(1394)

屏蔽管家婆广告的方法

2015-12-3 vibbow

不知道管家婆公司的PM是哪里想不通了,居然想着在一个付费软件里插广告!

简单抓包了一下,找到了管家婆的广告地址。在路由器里屏蔽访问以下地址即可:
hhad.cybserv.com.cn/adv/hhparamList.xml

管家婆在启动的时候还会访问一个URL,用途不明,屏蔽后也没什么不良影响,所以我把以下地址也屏蔽了:
www.grasp.com.cn/GM/HH/Web/Guid.aspx

这个世界清静了。

评论(1) 浏览(2987)