分享一个 Firefox 安装前预配置设置的方法 (自定义分发安装包) - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
busier
V2EX    浏览器

分享一个 Firefox 安装前预配置设置的方法 (自定义分发安装包)

  •  
  •   busier 2024-08-02 08:54:23 +08:00 1674 次点击
    这是一个创建于 503 天前的主题,其中的信息可能已经有所发展或是发生改变。
    首先官网下载 Firefox 原版安装程序(这里的示例为 WIN64 简中 ESR 长期支持最新版本):
    https://download.mozilla.org/?product=firefox-esr-latest-ssl&os=win64&lang=zh-CN

    将下载的.exe 安装包重命名为:firefox_installer.exe 与下面批处理脚本对应

    接下来,将下面的批处理脚本保持成 firefox_installer.cmd 文件。
    (注意你的文本编辑器,Windows 系统用 /r/n 换行符,别搞成 Linux 的 /n 换行符了)

    @echo off
    SETLOCAL ENABLEEXTENSIONS

    REM Define installation directory and configuration file paths using %ProgramFiles%
    SET INSTALL_DIR=%ProgramFiles%\Mozilla Firefox
    SET PREF_DIR=%INSTALL_DIR%\defaults\pref
    SET CONFIG_FILE=%INSTALL_DIR%\firefox.cfg
    SET AUTOCONFIG_FILE=%INSTALL_DIR%\defaults\pref\autoconfig.js

    REM Specify the path to the Firefox installer
    SET FIREFOX_INSTALLER=%~dp0firefox_installer.exe

    REM Create configuration directory if it does not exist
    if not exist "%PREF_DIR%" mkdir "%PREF_DIR%"

    REM Generate autoconfig.js file
    echo // autoconfig.js > "%AUTOCONFIG_FILE%"
    echo pref("general.config.filename", "firefox.cfg"); >> "%AUTOCONFIG_FILE%"
    echo pref("general.config.obscure_value", 0); >> "%AUTOCONFIG_FILE%"

    REM Generate firefox.cfg file
    echo // firefox.cfg > "%CONFIG_FILE%"
    echo pref("media.peerconnection.enabled", false); >> "%CONFIG_FILE%"
    echo pref("app.update.enabled", false); >> "%CONFIG_FILE%"
    echo pref("app.update.service.enabled", false); >> "%CONFIG_FILE%"
    echo pref("network.proxy.socks_remote_dns", true); >> "%CONFIG_FILE%"
    echo pref("browser.startup.firstrunSkipsHomepage", true); >> "%CONFIG_FILE%"
    echo pref("browser.startup.homepage", "chrome://browser/content/blanktab.html"); >> "%CONFIG_FILE%"
    echo pref("browser.newtabpage.enabled", false); >> "%CONFIG_FILE%"
    echo pref("signon.rememberSignons", false); >> "%CONFIG_FILE%"

    REM Perform silent installation
    echo Installing Firefox silently...
    start "" /wait "%FIREFOX_INSTALLER%" /S

    REM Completion message
    echo Firefox installed and configured successfully.

    ENDLOCAL



    最后,右键以“管理员身份”运行这个.cmd 文件即可。

    配置项目说明:
    !!!特别推荐的项目!!!
    media.peerconnection.enabled 设置为 false ,功能为禁用 firefox WebRTC 支持。
    (这点为 firefox 点个赞,其他浏览器要么不能关闭,要么需要安装第三方插件)
    对于使用代理的用户来说,WebRTC 走 UDF 协议如果没有被代理兜住就会导致 IP 地址泄露,导致目标网站容易实现将你真实 IP 与代理出口的 IP 关联起来。
    对于国内视频网站用户来说,它们会使用 WebRTC 技术利用你的浏览器和宽带跑 PCDN 。

    network.proxy.socks_remote_dns 设置为 true ,让 firefox 使用 socks 代理的时候,让远程代理服务器进行 DNS 解析。而不是本地 DNS 解析的。

    如果你想要配置更多自定义配置项目,请自行在 firefox 中打开 about:config 找寻自己想要预定义的配置!

    重要的事情说三遍,预定义配置只对新生成的配置生效!!!
    重要的事情说三遍,预定义配置只对新生成的配置生效!!!
    重要的事情说三遍,预定义配置只对新生成的配置生效!!!

    如果你先运行过 firefox ,就已经生成了用户配置,即使重装 firefox 进行预定义配置,也不会对现有用户配置进行更改。

    想要检验预定义配置效果,可使用下列方法中的一种。
    1 、删除 %APPDATA%\Mozilla\Firefox 和 %USERPROFILE%\AppData\Local\Mozilla\Firefox 文件夹下的已有用户配置文件。(会导致现有设置丢失,包括收藏夹,登录状态,cookies 和上网记录等)
    2 、Win+R 打开运行 firefox --profile d:\myff ,自定义配置文件路径。
    对于隐私敏感用户来说,可以将 d:\myff 放到 RAMDISK 上,结合前面的预定义配置来用,可以说就非常方便了
    第 1 条附言    2024-08-02 10:53:30 +08:00
    原批处理中 start "" /wait "%FIREFOX_INSTALLER%" /S 后面缺少 /D="%INSTALL_DIR%" ,导致在 INSTALL_DIR 变量里面自定义 Firefox 程序目标安装文件夹无效,修改后的完整批处理如下:

    如果你只是安装到默认文件夹则没有关系


    @echo off
    SETLOCAL ENABLEEXTENSIONS

    REM Define installation directory and configuration file paths using %ProgramFiles%
    SET INSTALL_DIR=%ProgramFiles%\Mozilla Firefox
    SET PREF_DIR=%INSTALL_DIR%\defaults\pref
    SET CONFIG_FILE=%INSTALL_DIR%\firefox.cfg
    SET AUTOCONFIG_FILE=%INSTALL_DIR%\defaults\pref\autoconfig.js

    REM Specify the path to the Firefox installer
    SET FIREFOX_INSTALLER=%~dp0firefox_installer.exe

    REM Create configuration directory if it does not exist
    if not exist "%PREF_DIR%" mkdir "%PREF_DIR%"

    REM Generate autoconfig.js file
    echo // autoconfig.js > "%AUTOCONFIG_FILE%"
    echo pref("general.config.filename", "firefox.cfg"); >> "%AUTOCONFIG_FILE%"
    echo pref("general.config.obscure_value", 0); >> "%AUTOCONFIG_FILE%"

    REM Generate firefox.cfg file
    echo // firefox.cfg > "%CONFIG_FILE%"
    echo pref("media.peerconnection.enabled", false); >> "%CONFIG_FILE%"
    echo pref("app.update.enabled", false); >> "%CONFIG_FILE%"
    echo pref("app.update.service.enabled", false); >> "%CONFIG_FILE%"
    echo pref("network.proxy.socks_remote_dns", true); >> "%CONFIG_FILE%"
    echo pref("browser.startup.firstrunSkipsHomepage", true); >> "%CONFIG_FILE%"
    echo pref("browser.startup.homepage", "chrome://browser/content/blanktab.html"); >> "%CONFIG_FILE%"
    echo pref("browser.newtabpage.enabled", false); >> "%CONFIG_FILE%"
    echo pref("signon.rememberSignons", false); >> "%CONFIG_FILE%"

    REM Perform silent installation
    echo Installing Firefox silently...
    start "" /wait "%FIREFOX_INSTALLER%" /S /D="%INSTALL_DIR%"

    REM Completion message
    echo Firefox installed and configured successfully.

    ENDLOCAL
    slowmist
        1
    slowmist  
       2024-08-02 10:06:58 +08:00
    好人一生平安
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     957 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 22:35 PVG 06:35 LAX 14:35 JFK 17:35
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86