V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiangyuecn
V2EX  ›  程序员

自己制作 Chrome 便携版实现多版本共存

  •  
  •   xiangyuecn ·
    xiangyuecn · 2019-03-25 08:11:43 +08:00 · 10438 次点击
    这是一个创建于 2105 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 支持任意版本 Chrome
    • 自己存手工制作,简单安全可靠
    • 不影响 Windows 系统内已安装的 Chrome,便携版的数据存储在自己的目录内
    • 可同时使用任意多个不同版本 Chrome 同时打开
    • 只使用到 GoogleChromePortable.exe ,400k 不到大小

    仅供 Windows 下使用: https://www.cnblogs.com/xiangyuecn/p/10583788.html

    第 1 条附言  ·  2019-03-25 17:24:51 +08:00

    注:用户数据不能在多台电脑之间共享,运行中安装的扩展和cookies等信息在另外一台电脑上打开时将会丢失。便携特性只针对Chrome主程序本身,不含用户数据;多版本共存不受此影响。

    31 条回复    2019-03-25 21:25:33 +08:00
    datou
        1
    datou  
       2019-03-25 09:43:31 +08:00
    支持 chromedriver 吗?
    xiangyuecn
        2
    xiangyuecn  
    OP
       2019-03-25 09:47:07 +08:00
    @datou 只针对 chrome 浏览器,chromedriver 应该天然便携吧?
    jaleo
        3
    jaleo  
       2019-03-25 09:56:18 +08:00
    GoogleChromePortable.exe 有时候不会自动退出,好像也没什么影响。
    datou
        4
    datou  
       2019-03-25 10:03:40 +08:00
    @xiangyuecn chromedriver 需要配合 chrome
    TOTT
        5
    TOTT  
       2019-03-25 10:26:55 +08:00
    xiangyuecn
        6
    xiangyuecn  
    OP
       2019-03-25 11:17:06 +08:00
    @datou 不了解,没试过

    @TOTT 看了一下,一个礼拜前作者说 "由于报毒过多,永久停止更新,停止接收反馈",也许是他这个里面有些行为和木马很像吧,可惜了。相对来说,GoogleChromePortable.exe 3 年没更新了,现在依然稳健。
    TOTT
        7
    TOTT  
       2019-03-25 11:58:18 +08:00
    @xiangyuecn #6 作者开源过,也在 V2,@shuax
    shuax
        8
    shuax  
       2019-03-25 12:04:10 +08:00
    叫我干什么,我来了,GreenChrome 绝对不含病毒。
    loveqianool
        9
    loveqianool  
       2019-03-25 13:07:31 +08:00
    xy2401
        10
    xy2401  
       2019-03-25 13:15:40 +08:00
    直接使用 Chromium 不行吗?
    demonzoo
        11
    demonzoo  
       2019-03-25 14:06:17 +08:00
    请问这东西具体有什么用处?
    ThirdFlame
        12
    ThirdFlame  
       2019-03-25 14:29:55 +08:00
    自己尝试了 ,制作成功 好用。
    DOLLOR
        13
    DOLLOR  
       2019-03-25 14:33:31 +08:00 via Android
    我用 my chrome 做便携的时候,换电脑就导致 cookie、插件扩展和设置丢失。这个问题你解决了吗?
    xiangyuecn
        14
    xiangyuecn  
    OP
       2019-03-25 16:09:08 +08:00
    @shuax 仰望大佬
    xiangyuecn
        15
    xiangyuecn  
    OP
       2019-03-25 16:15:13 +08:00
    @DOLLOR 从一个沙盘里面 copy 到另外一个沙盘里面,没发现扩展丢失的情况,我特意试了一下 cookie,控制台里面输入的 cookie 数据也都在

    yukiww233
        16
    yukiww233  
       2019-03-25 16:19:46 +08:00
    emmm,感觉直接写个 bat 指定 user-data-dir 也可以达到一样效果吧
    xiangyuecn
        17
    xiangyuecn  
    OP
       2019-03-25 16:26:18 +08:00
    @xy2401chromium.org 只找到源码,没找到可以下载的地方,还翻墙才进的,待会去小站上下载的研究研究。

    @demonzoo 这玩意,平时都是用最新版,有时候必须用老版本,是不是会很抓鸡。另外用来测试兼容性也很不错,比如以前的 IETester 这种。
    xiangyuecn
        18
    xiangyuecn  
    OP
       2019-03-25 16:28:20 +08:00
    @yukiww233 也许 GoogleChromePortable.exe 内部实现的也就是加了一个 user-data-dir 参数也不一定,emmm 哈哈
    DOLLOR
        19
    DOLLOR  
       2019-03-25 16:29:06 +08:00
    @xiangyuecn
    换电脑、系统或者放虚拟机里就不行了,portableapps 网站就特别指出了:
    https://portableapps.com/apps/internet/google_chrome_portable

    Some Settings/Extensions Locked Per PC: Google Chrome locks specific settings to a given PC. Details are included in this post. This behavior is by design by the Chrome team. If you would like this changed, please file a bug with the Chrome team. A suggested workaround is to sign in to Google to restore all settings and extensions and to use an extension such as Session Buddy to maintain your session state as you move PCs. Note that PortableApps.com has not evaluated this extension.

    Note that other portable browsers such as Mozilla Firefox, Portable Edition do not have any of the issues mentioned above. These issues are specific to Chrome due to Chrome's design and not something we can work around without fixes to the base app by the Chrome developers.

    估计 Chrome 是跟硬件、操作系统做了某些绑定机制,使得 user data 不能在不同环境里兼容。
    Firefox 便携版就不会有这种问题。
    Opera 虽然使用跟 Chrome 相似的内核,却也不像 Chrome 出现这种问题。可能因为 Opera 官方就提供便携安装方式,从而允许 user data 便携性更完整。
    xiangyuecn
        20
    xiangyuecn  
    OP
       2019-03-25 16:39:12 +08:00
    @DOLLOR 原来如此,我晚会在虚拟机里面再试一下
    loginv2
        21
    loginv2  
       2019-03-25 16:53:58 +08:00
    chrome 的便携版确实存在这个问题,所以我现在尽量用火狐的便携版了
    xiangyuecn
        22
    xiangyuecn  
    OP
       2019-03-25 16:59:14 +08:00
    @DOLLOR 用户数据确实在另外一台电脑上会丢失,emmm
    TOTT
        23
    TOTT  
       2019-03-25 17:26:34 +08:00
    ;本文件是 GreenChrome 的配置文件,采用 INI 格式
    ;以分号“;”开始的行只有注释作用,整行内容将会被忽略


    [界面增强]
    ;直接在标签上双击就可以关闭页面
    双击关闭标签页=0

    ;开启此选项时,按住 SHIFT 再点击右键可以恢复打开菜单
    右键关闭标签页=1

    ;鼠标悬停在标签上一定时间将会自动激活标签页
    悬停激活标签页=0

    ;悬停多久后激活标签页,单位毫秒,不填为系统默认值
    悬停时间=

    ;防止关闭最后的标签时关闭整个浏览器(通过新建一个标签)
    ;手动点击关闭按钮时无法阻止
    保留最后标签=1

    ;鼠标悬停在标签栏时,滚动滚轮可切换标签
    悬停快速标签切换=1

    ;按住鼠标右键时,滚动滚轮可切换标签
    ;这个功能会影响扩展程序的鼠标手势( GreenChrome 手势不受影响)
    右键快速标签切换=1

    ;点击书签在新标签页中打开,不兼容有特殊功能的 js 书签
    新标签打开书签=1

    ;地址栏输入的网址在新标签中打开(通过监控回车键)
    新标签打开网址=1

    ;当前页面是新标签页时,上面两个选项(新标签页中打开书签、新标签页中打开网址)不生效
    新标签页不生效=1

    ;新标签打开书签 的新标签页将会打开在前台
    前台打开新标签=1

    ;尝试处理通过菜单打开书签,如有副作用请关闭
    处理弹出菜单=1

    ;如果界面增强功能异常,显示缩放不是 100%的用户,应该修改为系统 DPI,不要百分号
    DPI=100


    [基本设置]
    ;按下老板键后可隐藏所有 Chrome 窗口,再次按下即可恢复
    老板键=Alt+Z

    ;可以去除最常访问缩略图,并且保留主题效果
    空白新标签页面=1

    ;离线包不带更新程序,点开 Chrome 关于时会有更新出错提示,此选项可关闭出错提示
    移除更新错误=1

    ;如果使用开发者模式加载扩展程序,打开 chrome 的时候会有警告,此选项可以关闭警告
    移除开发者模式警告=1

    ;在 Chrome 关闭时自动结束启动时运行的程序
    自动结束运行程序=1

    ;可以打造绿色版 Chrome,防止更换电脑、重装系统时个人设置丢失
    ;警告:一旦用户数据已经生成,修改此选项会导致个人设置被重置
    便携化=1

    ;停用后将不能使用 WEB 设置界面
    停用 WEB 设置=0


    [追加参数]
    ;这里定义的 Chrome 命令行参数,可在 Chrome 启动时自动插入
    ;更多命令可百度搜索 https://www.baidu.com/s?wd=chrome%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0

    ;自定义用户数据目录到当前目录下,如果是安装版用户,清空此选项,并且取消便携化即可使用原有数据
    --user-data-dir=C:\ProgramT\Chrome\User Data

    ;设置缓存目录
    --disk-cache-dir="C:\TEMP\Chrome"
    --disable-background-networking
    ;--allow-outdated-plugins
    --ppapi-flash-path=%app%\Flash\pepflashplayer.dll
    ;--ppapi-flash-version=32.0.0.999


    [启动时运行]
    ;这里的程序会随 Chrome 一起启动,如果路径(包括变量展开后)包含空格,需要用双引号括起来


    [关闭时运行]
    ;这里的程序会在 Chrome 关闭时启动(隐藏执行),用于执行一些清理工作,例如运行 taskkill 命令结束进程


    [按键转换]
    ;启用后才会转换按键
    启用=0

    ;按下按键不放开,是否重复识别
    识别重复=1

    ;即使光标在编辑框中依然转换按键
    忽略编辑框=1


    [按键转换列表]
    ;定义 F3=Ctrl+Tab 即可在按下 F3 时变为 Ctrl+Tab
    F1=Ctrl+T
    F2=Ctrl+Shift+Tab
    F3=Ctrl+Tab
    F4=Ctrl+W


    [鼠标手势]
    ;关闭后才能使用扩展程序的鼠标手势(还要关闭右键快速标签切换)
    启用=0

    #颜色格式为 ARGB 16 进制,默认值:C8337AB7
    手势颜色=C8337AB7

    ;是否显示识别结果
    显示操作=1

    ;是否显示手势轨迹
    显示轨迹=1

    ;手势轨迹是否绘制箭头
    轨迹箭头=1

    #不要设置得太粗,默认值:3
    轨迹粗细=3

    ;启用时遇到无法识别的手势将会添加为新手势
    训练模式=0

    ;灵敏度调整,较低时成功率、错误率高,较高时正确率、失败率高,默认:50
    灵敏度=50

    ;用于同步手势,详情请前往耍下交流群
    同步密钥=

    [手势操作]
    ;因为配置文件无法直观展现手势的形状,推荐使用 WEB 设置页面进行修改
    ;设置页面: https://tools.shuax.com/greenchrome/#gesture-action
    ;配置格式:手势=名称|动作|参数

    ;简单方向
    E0030C7C=页面顶部|SendKeys|Home
    98D9C89F=页面底部|SendKeys|End
    4E7908C1=后退|SendKeys|Back
    C3C6D1DD=前进|SendKeys|Forward
    DAF33497=刷新|SendKeys|Ctrl+R
    BE7A7DE9=强制刷新|SendKeys|Ctrl+Shift+R
    8474E9FD=关闭标签|SendKeys|Ctrl+W
    1D3B0407=撤销关闭|SendKeys|Ctrl+Shift+T
    D0FACB21=上翻页|SendKeys|PageUp
    6BA7B590=下翻页|SendKeys|PageDown
    B42D27CD=切换到右侧标签|SendKeys|Ctrl+Tab
    EFAD9D5A=切换到左侧标签|SendKeys|Ctrl+Shift+Tab

    ;图形手势
    0778B169=计算器|RunApp|Calc.exe
    A378410B=设置 GreenChrome|OpenUrl|https://tools.shuax.com/greenchrome/
    CEBE4F28=最小化|Window|0
    B4EEC40B=最大化 /还原|Window|1
    27A89661=置顶 /取消置顶|Window|2
    3BCD26A9=打开新窗口|SendKeys|Ctrl+N
    925B78BE=打开隐身窗口|SendKeys|Ctrl+Shift+N
    17181CBB=关闭所有标签页|SendKeys|Ctrl+Shift+W
    AFAFFC9C=打开主页|SendKeys|Alt+Home
    BA1B317B=开发者工具|SendKeys|F12


    [手势数据]
    ;用于识别手势形状,由程序自动生成,不建议手动修改
    ;简单方向
    shuax
        24
    shuax  
       2019-03-25 17:40:46 +08:00
    @DOLLOR portableapps 不支持,但是 GreenChrome 支持啊,这就是我做 GreenChrome 最大的目的。
    gamexg
        25
    gamexg  
       2019-03-25 17:41:20 +08:00
    没做处理那么便携版本换计算机绝对挂,
    chrome 为了防止被乱装插件,插件配置是有签名的,签名依赖于计算机 sid。
    另外保存的密码是 windows 当前用户加密的。

    不知道便携版本的 chrome 是否有市场?
    原来研究过隐私防护,自动开新用户 chrome,由于新配置需要默认安装了扩展,专门研究过签名机制。
    xiangyuecn
        26
    xiangyuecn  
    OP
       2019-03-25 18:08:09 +08:00
    @xy2401 Chromium 也和 chrome 一样,需要像#16 一样指定 user-data-dir,不然新旧版本都存数据到了一个地方。另外我尝试用 GoogleChromePortable.exe 来启动 Chromium,发现一样有效,emmm

    @gamexg 便携对我没啥用,多版本共存才是我的刚需,经过#16 提示,发现仅仅依靠指定 user-data-dir 也能达到目的。
    oIMOo
        27
    oIMOo  
       2019-03-25 18:14:33 +08:00
    我是目前装了一个官网安装包版本
    另一个是通过 scoop 安装的 chromium
    zealot0630
        28
    zealot0630  
       2019-03-25 19:49:54 +08:00 via Android
    敏感信息用系统自带的 security store 保存的,换机器当然就用不了了。想想,你复制到其他机器能直接用,同样黑客拿走也就能直接用。
    bertonzh
        29
    bertonzh  
       2019-03-25 20:14:38 +08:00
    我有(同时登陆不同账号)需求,所以直接搞一个 shell 函数完事:
    .zshrc

    ```sh
    chrome () {
    nohup /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir="$HOME/.chrome/${1-"0"}" &> /dev/null
    }
    ```

    运行:
    chrome # 启动 0 号 chrome
    chrome 1 # 启动 1 号 chrome
    chrome 2


    至于便携什么的,Chrome 本身不是有账号同步吗?
    wtdd
        30
    wtdd  
       2019-03-25 20:38:31 +08:00
    @DOLLOR my-chrome 也有这种问题么?
    Tink
        31
    Tink  
       2019-03-25 21:25:33 +08:00 via iPhone
    忘了从那个哪个版本开始 greenchrome 被 defender 报毒,然后我加了白名单,结果升级之后,又提示,好麻烦,后来就把 defender 停了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:40 · PVG 22:40 · LAX 06:40 · JFK 09:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.