Pipelight – 让 Linux 原生 Chromium/Chrome 无缝支持 ActiveX 控件 (看! 网银!) ... ...

工行网银, 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 应该可以正常登陆工行网银了 

:D

支付宝控件的安装过程基本一样 (注意不要漏掉设置 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. 

 原文发布时间为:2014-03-01

本文来自合作伙伴“Linux中国”

时间: 2024-09-20 07:56:40

Pipelight – 让 Linux 原生 Chromium/Chrome 无缝支持 ActiveX 控件 (看! 网银!) ... ...的相关文章

在Chrome上使用ActiveX控件

很多用户无法完全抛弃IE的根本原因在于微软自己捣鼓的ActiveX控件,几乎所有的国内网银.在线支付程序以及其他大量Web特殊应用都需要ActiveX控件,几乎从来没有人想过更没有人尝试过在非IE内核浏览器上实现ActiveX控件的支持.而如今,这一现象恐怕会被打破了. 一名ID叫做eagleonhill的Chrome迷论坛会员这几天就写出了一个Chrome扩展,通过将ActiveX包装成了Chrome/Firefox支持的NPAPI插件,从而实现在Chrome/Firefox平台的Active

怎样让AjaxControlToolkit的扩展支持中文控件名称?

问题描述 有哪位高人知道怎样让AjaxControlToolkit的扩展支持中文控件名称呀?代码:<asp:ToolkitScriptManagerID="ToolkitScriptManager1"runat="server"EnableScriptGlobalization="True"></asp:ToolkitScriptManager><asp:TextBoxID="我的控件"runat

Win10系统电脑不支持支付宝控件什么原因,如何解决

1.在开始菜单搜索cmd或者"运行"然后在运行或命令界面输入"gpedit.msc"打开本地组策略编辑器: 2.在弹出的新窗口中我们定位到 计算机配置->管理模板->Windows组件->internet explorer选项下,双击右侧设置中"自定义用户代理字符串": 3.设置"已启用",在此我们来修改浏览器的user_agent如:我们使用IE8的User-Agent,写入"Mozilla/4.

非IE内核浏览器支持activex插件

之前在一个B/S项目中遇到一个需求,就是客户需要在页面上对报表的布局以及显示内容,进行自定义.最后决定使用activex技术来实现.众所周知,activex是微软搞得,因此只有ie内核的浏览器才能支持.像firefox(火狐).Chrome.Apple Safari等非ie内核浏览器都不支持activex控件,这样就大大加大了系统使用的局限性. 因此考虑是不是可以让非ie内核浏览器也能支持activex控件,目前火狐等浏览器也有类似于activex控件的技术,那就是插件.所以最终决定以插件来作为

为ASP.NET控件添加设计时支持

asp.net|控件|设计 简介 Microsoft ASP.NET 为开发人员提供了一种适用于 Web 开发的.功能最为强大的新工具:服务器控件.服务器控件使开发人员能够在短时间内开发出响应速度快而且功能强大的 Web 应用程序,所需的时间与在典型的 ASP 中创建类似应用程序的时间差不多. ASP.NET 服务器控件之所以能够提供生产效率,关键原因之一在于它为 Microsoft Visual Studio .NET 开发环境中的服务器控件提供了丰富的设计时支持.开发人员可以将服务器控件从

构建支持 Ajax 的自动完成和级联式下拉控件

本文介绍如何构建可在业务线应用程序中使用的 Asynchronous JavaScript + XML (Ajax) 控件.这些基于 JSP TagLib 的可配置控件利用 JavaScript Serialized Object Notation (JSON).JavaScript 和 CSS.它们是标准的 JSP Taglib 控件,本文将展示可多么轻松地将其拖放到任意应用程序之中,从而提供更加直观.更具响应性的用户界面. Ajax 和 JSON 是支持新一代 Web 站点的两种关键技术.业

通过pipelight在Linux下使用Windows浏览器插件

可能,很多人非常想尝试Linux,但是无奈于很多网站都仅仅支持Windows所以计算机中还保留的双系统,或者Linux下还有Windows的虚拟机.这些都是无奈之举,极其不环保.这里介绍一种通杀方法 ---- Pipelight. Pipelight 是由 FDS-TEAM团队开发的一个linux 原生浏览器插件,可以将网页中对ActiveX Silverlight等windows专用插件的请求转接到wine,然后再将结果传回浏览器,这样,便可以在linux 原生浏览器里面通过wine使用win

Google 确认 Chrome 即将支持 GPU 硬件加速

Chromium Blog 的最新文章确认了 Chrome 即将支持 GPU 硬件加速,未来开发者可以将复杂页面的渲染工作交给强大的电脑显卡来进行.这其实已经是一个现代浏览器的趋势,Microsoft 的 IE9 已经确认将支持 GPU 硬件加速,而 Firefox 最新的 4.0 Beta for Windows 已经启用了这个功能的支持.   最近的 Chromium 已经装备了 GPU 硬件加速功能,需要用 --enable-accelerated-compositing 这个命令行参数来

Chrome 53 支持 Shadow DOM 等规范

上周发布的 Chrome 53 带来了一系列实验性规范的支持,如Shadow DOM,它为复杂网页的开发提供便利.同时,针对移动平台,Chrome 53也提供了PaymentRequest接口.自定义通知徽章等功能. Shadow DOM V1 HTML.CSS和JavaScript是非常强大的开发语言,但是当代码量变大时,维护难度会大大增加.另外,网站嵌入的第三方内容而引入的样式,不会影响到其他的部分.Chrome 53支持Shadow DOM V1,该规范能够将元素的样式和子DOM节点单独封