工行网银, Silverlight, 支付宝控件, 放开那个 Windows 虚拟机, 让 Wine 上吧~
无图无真相:
基本的原理是, 利用 Chrome 里已有的 npactivex (ActiveX for Chrome) 扩展, 配合 pipelight 提供的 npactivex NPAPI 插件, 将 ActiveX 控件本身用 wine 执行, 并且无缝地嵌入 Chrome 网页中.
因为此功能依然在活跃开发中 (今年 FOSDEM 2014 的一个碰撞产生的火花神马的), 稳定版本的 pipelight 暂时没有加入此功能. 大家如果想尝鲜的话, 我下面介绍一下 Arch Linux 里的安装测试方法 (暂时只针对 64 位测试用户哈):
2014/2/27 更新: 因为 pipelight 0.2.5 已经添加了 npactivex 插件, 不再需要手动安装 -git 的版本了.
1. 添加来自 pipelight 的第三方源到 /etc/pacman.conf:
[pipelight]
Server = http://repos.fds-team.de/stable/arch/$arch
2. 添加并授权 pipelight 开发者的软件包签名 PGP key:
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
3. 安装 pipelight:
sudo pacman -Sy pipelight
4. 解锁 pipelight 的 npactivex 插件:
sudo pipelight-plugin --unlock npactivex
看到 "Plugin npactivex is now unlocked" 即为解锁成功.
5. 启用 npactivex 插件
sudo pipelight-plugin --enable npactivex
看到 "Plugin npactivex is now enabled" 即为解锁成功.
6. 启动 chrome 浏览器,打开 chrome://plugins, 应该可以看到以下内容:
ActiveX hosting plugin for NPAPI
ActiveX hosting plugin for NPAPI r37
Name: ActiveX hosting plugin for NPAPI
Description: ActiveX hosting plugin for NPAPI r37
Version:
Location: /usr/lib/pipelight/libpipelight-npactivex.so
Type: NPAPI
Disable
MIME types:
MIME type Description File extensions
application/x-itst-activex ActiveX (*.ocx)
.ocx
application/activex-manager ActiveXManager
如果看到下列错误:
Pipelight Error (npactivex)!
Something went wrong, check the terminal output
请从终端打开 chromium/google-chrome, 观察终端出错日志.
7. 安装需要的 ActiveX 控件. 下面以工行控件为例:
7.1. 下载工行网银控件安装包:
wget http://www.icbc.com.cn/icbc/html/download/dkq/icbc_netbank_client_controls.exe
7.2. 安装 mfc42 运行库:
WINEPREFIX=~/.wine-pipelight winetricks -q mfc42
7.3. 安装:
WINEPREFIX=~/.wine-pipelight wine icbc_netbank_client_controls.exe
故障排除: 运行
WINEPREFIX=~/.wine-pipelight wine uninstaller --list
如果输出包含以下内容就说明安装成功了, 否则说明以上某一步出错了
{93156467-FD99-4A30-9CA5-8563F4BB8DB3}|||icbc_netbank_client_controls
8. 安装 np-activex extension:
扩展可以从 Chrome Web Store 直接安装, 地址: https://chrome.google.com/webstore/detail/activex-for-chrome/lgllffgicojgllpmdbemgglaponefajn/related (打不开请翻墙哦 :D)
9. 设置 np-activex extension:
打开 chrome://chrome/extensions, 点击 "ActiveX for Chrome" 旁边的 "选项" (Options), 浏览到 "ICBC工商银行" 所在的条目, 将"已禁用"改为"已启用".
10. 用 Chrome 打开 https://mybank.icbc.com.cn/icbc/perbank/index.jsp 应该可以正常登陆工行网银了 😀
支付宝控件的安装过程基本一样 (注意不要漏掉设置 WINEPREFIX 哦), 不过在 npactivex extension 的设置界面并没有 Alipay 的选项. 分享一下我测试成功的规则哈:
Mode: WildChar
Pattern: https://*.alipay.com/*
User Agent: MSIE9
Other helper scripts: dynamic ieevent
最后, 感谢 Pipelight 项目. Pipelight 项目是两位德国的大学生发起的项目, 因最初目标是在浏览器里无缝支持 Silverlight 而得名. 如果你愿意表达对他们的感谢, 可以到以下链接为他们赠送 kudo:
https://www.ohloh.net/p/pipelight/contributors/3052248574201504
https://www.ohloh.net/p/pipelight/contributors/3052248574201570
感谢 npactivex 项目. npactivex 项目的开发者是 Chuan Qiu, 如果你愿意表达对他的感谢, 可以向他捐赠, 链接是 http://code.google.com/p/np-activex/wiki/Donations
感谢 Wine 项目以及 Wine 项目背后的CodeWeavers公司, 如果你愿意表达对他们的感谢, 可以购买商业版的 CrossOver 支持他们继续为 Wine 做出更多贡献: http://www.codeweavers.com/ 如果有足够多的用户要求, CrossOver 会集成 pipelight 解决方案, 方便更多 Linux 用户 :3
附安装 -git 版本的旧方法:
1. 安装源里的 mingw-w64 组, 全选安装
2. 安装 AUR/pipelight-git, 需要修改 PKGBUILD 的一些部分:
- 删除依赖 mingw-w32-bin
- 在 ./configure 这一行末尾添加 --win32-static
3. 完成安装, pipelight-git 的 wine-browser-installer 和 wine-silverlight 两个依赖也来自 AUR.
why my termainal show the error:pacman-key:command not found?
Because your pacman is outdated 🙂
您好,我最近也在弄这个遇到了问题。wine-npactivex-installer 总是下载失败,pipelight-plugins –unlock npactivex 之后浏览器就上不了网了。
大猫头 我安装好enable插件后也一致有个弹窗显示 downloading wine-npactivex-install ,firefox里边也没有看到pipelight启用 怎么解决啊
现在只能用旧版 Chromium… 因为 Firefox 没支持, 而新版 Chromium 干掉了 NPAPI…
我做了一个可以替换ACTIVEX for Chrome的软件,支持所有浏览器,方便的话一起联络下。
email:sandydata@sina.com.cn
hbuwangyan@sina.com
626391508@qq.com
麻烦发一下,谢了
chrome现在已经不支持NPAPI插件了(
已转载,非常感谢Felix Yan提供这么好的教程
被转载了呢 =w= http://www.geekfan.net/6993/
嗷呜, 更新了安装流程, 不需要折腾 -git 和自己编译了… 转载的还是旧方法就没有办法了 QwQ
喵大最近好勤奋的说~怒赞一个啊~~(>^ω^<)~话说我一直用中行..chrome的ActiveX就支持很好了~PS:用ICBC的都是土豪啊..
赞一个。不过应该改进的其实是银行,竟然还在用这种老掉牙的私有技术。
终端输出:
[PIPELIGHT:LIN:unknown] attached to process.
[PIPELIGHT:LIN:unknown] checking environment variable PIPELIGHT_NPACTIVEX_CONFIG.
[PIPELIGHT:LIN:unknown] searching for config file pipelight-npactivex.
[PIPELIGHT:LIN:unknown] trying to load config file from '/home/wyx/.config/pipelight-npactivex'.
[PIPELIGHT:LIN:unknown] trying to load config file from '/etc/pipelight-npactivex'.
[PIPELIGHT:LIN:unknown] trying to load config file from '/usr/share/pipelight/configs/pipelight-npactivex'.
[PIPELIGHT:LIN:unknown] sandbox not found or not installed!
[PIPELIGHT:LIN:npactivex] using wine prefix directory /home/wyx/.wine-pipelight/.
[PIPELIGHT:LIN:npactivex] checking plugin installation - this might take some time.
[install-dependency] wine-npactivex-installer is already installed in '/home/wyx/.wine-pipelight/'.
[PIPELIGHT:LIN:npactivex] basicplugin.c:506:startWineProcess(): error in execvp command - probably wine/sandbox not found or missing execute permission.
[PIPELIGHT:LIN:npactivex] ../common/common.c:168:receiveCommand(): unable to receive data.
[PIPELIGHT:LIN:npactivex] basicplugin.c:117:attach(): error during the initialization of the wine process - aborting.
不明原理好伤心..
安装的哪个银行(或者其他什么)插件呢?
以及, 的确在 chrome://plugins/ 页面里看到了
吗?
看到了啊。。按你的操作的..什么插件都还没装呢…
在 enable 那一步时下载的 npactivex 有没有下载成功呢? (可能需要全局翻墙)
如果没有的话, 在命令行试试
WINEPREFIX=~/.wine-pipelight /usr/share/pipelight/install-dependency wine-npactivex-installer
会输出[install-dependency] wine-npactivex-installer is already installed in ‘/home/wyx/.wine-pipelight/’
chromium里也有这句输出..
..大概我rp不够好
🙁 露出一个悲伤的表情
可能等到正式发布后技术支持才可能跟上吧, 本猫也只是初心者 :3
NPAPI 么?那火狐应该也没问题吧?
还缺一半的工作哦, ActiveX for Chrome 的部分需要一个插件来实现
纯 JS 的,移植起来应该不太难的样子。
话说,你博客记不住评论者的信息?
不是纯 JS 的哦, 还带了个 dll…
哦看到了。这个么——https://github.com/leeor/ff-activex-host
靠!这都可以!
肥猫居然开始大幅度折腾桌面!
一直在大幅度折腾呢 :3
哪天心情好了把 Bluez 5 的 A2DP 坑自己 Patch 上也不是不可能的(大雾
要么下一步先来试试 systemd-networkd…?