搜索
查看: 230126|回复: 1568
收起左侧

[原创资源] 自编译iceweasel(冰鼬),第三方编译版原生便携式(Open Source),更新stable版本

  [复制链接]
adonais
发表于 2013-4-12 17:22:32 | 显示全部楼层 |阅读模式
本帖最后由 adonais 于 2019-5-19 19:41 编辑

更新记录:
2019-05-19:
Iceweasel for windows(x86,x64)更新到67.0 stable,
完全兼容官方firefox版本,额外的特点:
1)支持未签名的扩展安装
.
2)合并大部分tete的优化补丁,移除少量不常用的模块.
3)新增加一个右键下载菜单项,通过upcheck.exe进程,调用迅雷下载.
   在没有安装迅雷的电脑上,使用upcheck自身下载功能,支持多线程断点续传.
4)libportable新增功能,通过upcheck.exe进程,实现浏览器自动升级.
   需要更新portable.ini配置文件,具体参考示例文件portable(example).ini.
   upcheck.exe进程每24小时随浏览器启动一次更新检测,不常驻内存.
   ps: 某些地区可能连不上sourceforge服务器,无法自动更新.
5)libportable新增参数DisDedicate=1,禁止fx67.0或之后版本使用默认的新建配置.


2019-04-19:
Iceweasel for windows(x86,x64)更新到66.0 stable.

2018-12-11:
Iceweasel for windows(x86,x64)更新到64.0 stable.

2018-10-22:
Iceweasel for windows(x86,x64)更新到63.0 stable.
libportable更新:
1)改善在多进程环境下启动速度.
2)添加了一项新功能,借助外部进程实现了第三方编译版本自动升级.

2018-09-04:
Iceweasel for windows(x86,x64)更新到62.0 stable.

2018-08-09:
Iceweasel for windows(x86,x64)更新到61.0.2 stable.

2018-06-24:
Iceweasel for windows(x86,x64)更新到61.0 stable.

2018-05-17:
Iceweasel for windows(x86,x64)更新到60.0 stable.

2017-09-30:
最后一个支持windows xp的版本更新(Iceweasel 53.2.0):
1)移除telemetry相关代码,彻底删除Social API.
2)删除一些mozilla内置扩展与模块(pdfjs,
Pocket...).
3)恢复eme-adobe插件,支持在xp系统上的mp4/h264解码.
4)支持image/webp.
5)支持未签名的扩展安装
.
6)恢复NPAPI插件支持.
7)启用tete's相关补丁,支持openmp多线程.
8)对比esr代码库的安全更新.
9)libportable支持.
源码见代码仓库:
https://bitbucket.org/adonais/


2017-04-15:
Iceweasel for windows(x86,x64)更新到53.0 stable.

2017-03-09:
Iceweasel for windows(x86,x64)更新到52.0 stable.

2017-02-04:
Iceweasel for windows(x86,x64)更新到51.0 stable.

2016-11-14:
Iceweasel for windows(x86,x64)更新到50.0 stable,libportable更新:
1)新增加一个开关变量DisableScan=1时,禁止浏览器在启动时扫描
   注册表安装额外的扩展和插件.
..........
..........
2014-02-25:
libportable更新,完善安全模块的注入功能(支持winxp-win10),
修正了便携式功能可能存在的一些随机性问题,
引入了asmlib里的汇编实现,替换系统的memset函数.
2014-02-05:
libportable更新,修正lastpass 扩展在win8/8.1上无法保存配置的问题 .
2013-11-14:
libportable更新:
修正win8.1 x64下api hook问题,移除c++与c99特性,支持所有标准c编译器.

关于libportable(一个类似tete009的开源模块),主要有下面几个功能:
1)实现了类似tete009的便携式支持并兼容tete009的私有模块.
2)支持自定义临时目录,自定义插件目录,支持环境变量导入.
3)实现了tete009的 dmp 转存 (方便编译者寻找crash问题).
4)安全功能(适合那些对安全性要求很苛刻的朋友):
  禁止全局钩子注入(现在只要是个鸟软件都要装几个全局钩子,搞得浏览器不稳定).
  防止部分api hook(并非防dll远程注入)
  防止浏览器溢出攻击(应该可以防御浏览器的未知远程溢出bug与f.l.a.s.h插件的漏洞).
  严格的安全白名单制度.
5)内置老板键支持.
6)支持启动(关闭)第三方进程.
7)支持所谓的进程均衡功能.
8)支持tcmalloc内存分配器,需要重新编译.
9)实现自动更新检测.

如何编译使用:
1)打开vc编译器的命令行环境(x86或x64环境可分别编译出不同的版本)
nmake -f Makefile.msvc clean
nmake -f Makefile.msvc

启用tcmalloc内存分配器
nmake -f Makefile.msvc clean
nmake -f Makefile.msvc TCMALLOC=1
2) 或者使用mingw编译器
下载mingw64编译器,还需要msys环境(mozilla-build已经集成了)
进入源码目录.
make clean
make                                       #编译32位的dll
make clean
make BITS=64                        #编译64位的dll
把libportable编译进firefox:
参考我构建使用的enable_libportable.patch和.mozconfig编译参数:
http://sourceforge.net/projects/libportable/files/Patches/
源代码在:
https://github.com/adonais
构建好的版本:
http://sourceforge.net/projects/libportable/files
百度盘:
https://pan.baidu.com/s/1kVCGnor
wiki页面(遇到问题请看这里):
https://sourceforge.net/p/libportable/wiki

评分

参与人数 2技术 +1 经验 +190 魅力 +4 人气 +6 收起 理由
samtogo + 1 + 190 + 4 + 5 版区有你更精彩: )
Johnny.R + 1 版区有你更精彩: )

查看全部评分

本帖被以下淘专辑推荐:

Johnny.R
发表于 2013-4-12 17:27:58 | 显示全部楼层
本帖最后由 Johnny.R 于 2013-4-12 17:29 编辑

pcx速来~ 钩子?mactype,comodo注册表加载hook之流?

   感谢opensoure
iccil
发表于 2013-4-12 17:31:18 | 显示全部楼层
厉害!
希望不像tete009那样将Profile目录弄得太深。
原生简体中文版?为什么不多整个en-US版本呢?
tianwenw
发表于 2013-4-12 17:31:55 | 显示全部楼层
好多人爱用mactype渲染,我也是,不过,mactype对火狐好像有点问题,即便关闭了硬件加速,有时也不能渲染,重启火狐才渲染。楼主能改善火狐的渲染性能么
Johnny.R
发表于 2013-4-12 17:33:11 | 显示全部楼层
tianwenw 发表于 2013-4-12 17:31
好多人爱用mactype渲染,我也是,不过,mactype对火狐好像有点问题,即便关闭了硬件加速,有时也不能渲染, ...

不可能,只要关闭硬件加速就能渲染
kfwm
发表于 2013-4-12 18:03:27 来自手机 | 显示全部楼层
samtogo版主快来备份标记吧,冰鼬的作者在这
tianwenw
发表于 2013-4-12 18:04:53 | 显示全部楼层
Johnny.R 发表于 2013-4-12 17:33
不可能,只要关闭硬件加速就能渲染

是可以渲染,但有时候有些问题,我有时候打开火狐时字体有些问题,重启火狐后就正常了
Johnny.R
发表于 2013-4-12 18:06:14 | 显示全部楼层
tianwenw 发表于 2013-4-12 18:04
是可以渲染,但有时候有些问题,我有时候打开火狐时字体有些问题,重启火狐后就正常了

字体斩脚?
jason5545
发表于 2013-4-12 18:21:31 | 显示全部楼层
ff確實有時字體發虛...







    Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0  (zh-TW)
    ——2013年4月12日 下午 06:21:33
    红炉火
    发表于 2013-4-12 18:33:32 | 显示全部楼层
    楼主辛苦、、非常感谢楼主的分享!支持...
    tianwenw
    发表于 2013-4-12 18:34:23 | 显示全部楼层
    Johnny.R 发表于 2013-4-12 18:06
    字体斩脚?

    嗯,是的
    Johnny.R
    发表于 2013-4-12 18:46:19 | 显示全部楼层
    tianwenw 发表于 2013-4-12 18:34
    嗯,是的


    mactype的作者说了,这是firefox设计的缺陷,自从mozilla用了微软某项字体(还是显示)技术后就这样,无解除非mozilla不用这项技术

    慢慢调吧,用css会好点(换字体?)
    tianwenw
    发表于 2013-4-12 18:49:24 | 显示全部楼层
    Johnny.R 发表于 2013-4-12 18:46
    mactype的作者说了,这是firefox设计的缺陷,自从mozilla用了微软某项字体(还是显示)技术后就这样,无 ...

    换字体会好点么?我用的是信黑体
    Johnny.R
    发表于 2013-4-12 18:56:03 | 显示全部楼层
    tianwenw 发表于 2013-4-12 18:49
    换字体会好点么?我用的是信黑体


    至少我没有感觉到斩脚
    ㄚ一
    发表于 2013-4-12 18:59:38 | 显示全部楼层
    請教樓主
    util_src的源碼兼容於firefox source code嗎?
    pcxfirefox
    发表于 2013-4-12 19:03:42 | 显示全部楼层
    我这边网络好奇葩,git拖不下来。。。







      Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0  ( zh-CN )
      ——2013年4月12日 星期五 19:03:41
      cloudzhang23
      发表于 2013-4-12 19:11:02 | 显示全部楼层
      pcxfirefox 发表于 2013-4-12 19:03
      我这边网络好奇葩,git拖不下来。。。

      用梯子吧
      tianwenw
      发表于 2013-4-12 19:15:53 | 显示全部楼层
      哇噻,大神扎堆么
      pcxfirefox
      发表于 2013-4-12 19:17:42 | 显示全部楼层
      memset的实现可以参考这个
      汇编写的,我没做64位的

      memset32.7z (2.68 KB, 下载次数: 274)

      extras_config_menu.uc.7z

      7.11 KB, 下载次数: 265

      pcxfirefox
      发表于 2013-4-12 19:18:56 | 显示全部楼层
      怎么上传出来那么多。。。







        Mozilla/5.0 (Windows NT 6.2; WOW64; rv:20.0) Gecko/20100101 Firefox/20.0  ( zh-CN )
        ——2013年4月12日 星期五 19:18:55
        adonais
         楼主| 发表于 2013-4-13 12:04:59 | 显示全部楼层
        很不好意思,周末临时有事 ,帖子发了就没管. 这里只能集中回复一下。

        to ㄚ一大神: 源码完全兼容firefox的windows分支源码,并且兼容tete009的全部补丁.
                          我的最终测试用的是gcc4.8,后来把一些不用的定义代码删了,这可能导致之前的版本编译会有一些变量未定义的错误出现.
        to pcxfirefox大神 : memset的操作我本来想模仿tete009的Non-Temporal   mov 用汇编操作,但一时没能写出他的GetNonTemporalDataSizeMin_tt函数,就放弃了.据我测试,使用sse2优化过的memset本来就是汇编级的。
        hook SHGetSpecialFolderLocation是因为firefox就是用它得到appdata目录.
        hook SHGetFolderPathW ,hook SHGetSpecialFolderPathW 得到临时目录.

        关于我推荐的mingw64版本,本来我认为rubenvb编译的更好(以前用过一段时间),但是我下载他的gcc 4.8 用之后,发现只适合交叉编译,(ㄚ一在34楼碰到的问题就是这样)
        在我的winxp上出现CreateProcess Error.而nIxman的版本没有这个问题.

        关于typedef LONG NTSTATUS; 我在gcc4.7.2里面是这样定义的,后来使用4.8,发现不用了,所以整理代码的时候把它删了,这个是我的疏忽.

        关于在LDFLAGS中加入 -flto -fuse-linker-plugin ,多谢提醒.
        adonais
         楼主| 发表于 2013-4-13 13:52:56 | 显示全部楼层
        ㄚ一 发表于 2013-4-13 12:28
        adonais大神:

        您有qq或gtalk嗎?

        关于tete009 patch,在tete编译版的Source目录里,不用任何修改,用vs2010编译应该可以通过.
        为了使用vs2012编译,对于tete009 patch我修改了一些.
        关键的参数是-DTT_MEMUTIL ,引入dll私有模块.

        另外,我给你发了站内短信.

        adonais
         楼主| 发表于 2013-4-13 20:51:26 | 显示全部楼层
        pcxfirefox 发表于 2013-4-13 19:27
        还有CreateProcess Error有例子吗

        可以给我参考下,一般来说都是pthread的缘故

        是我搞错了,我看到他的
        x86_64-w64-mingw32-gcc-4.8-stdthread-win32_rubenvb.7z
        以为能编译32位程序,结果出现这个错误.没看到还有个
        i686-w64-mingw32-gcc-4.8-stdthread-win32_rubenvb.7z

        貌似以前他出过一个多target的版本.
        adonais
         楼主| 发表于 2013-4-13 21:00:32 | 显示全部楼层
        pcxfirefox 发表于 2013-4-12 19:17
        memset的实现可以参考这个
        汇编写的,我没做64位的

        我写了个测试程序,在vc11上编译了一下,tete009的memset_nontemporal_tt函数与crt的memset函数对比.
        他的函数性能完全没有提升,貌似还要慢. test.7z (65.5 KB, 下载次数: 150)
        adonais
         楼主| 发表于 2013-4-13 21:06:52 | 显示全部楼层
        pcxfirefox 发表于 2013-4-13 20:58
        我不知道他出过target的版本

        我很久以前就强烈建议Ruben不要做one target to more target的版本,这样 ...

        more target好,要不然编译x32 x64还需要两个编译器,麻烦死了.
        你什么时候开始编译gcc4.7.3, 修复了110多个bug,最好是more target.
        如果等不到你编译的,我准备自己做手开始编译,mingw64 crt也出新版了.
        adonais
         楼主| 发表于 2013-4-13 21:49:34 | 显示全部楼层
        等你的编译器好了~~
        gcc 这玩意不好把握,我总是喜欢使用最新的库编译, 这是个不好的习惯.
        MinGW64 crt又太大太全,我经常看到它的svn分支上一些定义改来改去的,也不知道版本稳定.

        呵呵~~时间晚了,准备睡觉.
        adonais
         楼主| 发表于 2013-4-17 19:15:39 | 显示全部楼层
        lastdream2013 发表于 2013-4-17 12:56
        开启了SafeEx=1之后,论坛里的附件用rar都不能直接打开了,提示参数错误 ,这是大麻烦。。
        不知道有没有好 ...

        进程白名单本身就是意味着麻烦啊.像你这种频繁调用第三方进程的,还是不要设置SafeEx=1.
        因为你设置了C:\WINDOWS\\system32\cmd.exe进白名单,意味着没有安全可言.

        有些进程加入白名单没用,那是因为限制了名单的数量,最大数为16-3.你设置的数量都到20了~~
        adonais
         楼主| 发表于 2013-4-17 19:31:26 | 显示全部楼层
        是的,它们是相关联的,没办法分开,
        不过你的意见让我想到一种折中的方法,我要好好想想,看能不能在下一版实现.
        adonais
         楼主| 发表于 2013-4-20 15:59:34 | 显示全部楼层
        我晕,回帖的时候,说需要人工审核.
        您需要登录后才可以回帖 登录 | 快速注册

        本版积分规则

        手机版|杀毒软件|软件论坛|纳美地| 卡饭论坛

        Copyright © KaFan  KaFan.cn All Rights Reserved.

        Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-5-20 19:03 , Processed in 0.053143 second(s), 6 queries , MemCache On.

        快速回复 返回顶部 返回列表