找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 3021|回复: 11

尝试迁移下载记录到 Edge 遇到问题

[复制链接]
匿名  发表于 2022-1-2 19:59:53 |阅读模式
如题,Cent 的下载记录、历史记录应该都在 User Data \ Default 目录下的 History

我将文件复制到 Edge 同等位置目录,历史记录完全无缺,而下载记录只能读取一半
(也就是 Edge 下载管理器,只读取到了 2020 年 3 月往前的下载记录,21,22 年均有下载,但 Edge 往后均没有就很纳闷)

源:Cent,4.3.9.248 ,64 位便携  =》to =》 目标:Edge,96.0.1054.62,64 位
源:Cent,User Data \ Default \ History =》to =》目标:Edge,User Data \ Default \ History



我自己也有疑问是否是在 Cent 里 History 损坏了

但通过 Nirsoft 精巧小软件 BrowserDownloadsView v1.39
去读取 Cent 的 History 文件里的下载记录
显示是正常的,17 ~ 22 年记录都在
cent 的下载管理器记录也没有问题,读取写入正常

还是说 History 下载记录条数过多
Edge 无法读取这么多条记录?

请求版主 S8F8ry 或者哪位牛人提供一下解决思路,非常感谢



为什么要复制这份文件到 Edge?

我是通过 Cent 下载管理器去维护一些文件
下载时将文件重命名,使得文件名具有一定特征
以及检索文字,检索链接,打开下载来源页,下载域名筛查巴拉巴拉的
要比直接去 Explorer 资源管理器翻找,快得多得多(绝没有半点假话)
而且浏览器里的下载管理器,检索速度非常滴快
唾手可得,不需要离开当前软件环境

最近各种巴拉巴拉环境(Cent 应该有很多这种说明帖,就不细讲了)几乎都需要高内核支持
对 Cent 还是依依不舍,故备份到 Edge 下,需要高内核我就去 Edge,不需要的话就平常用 Cent
两个软件下载记录同步这样,互相切换起来不搁手,而且记录到 Edge 之后
还可以透过 Edge 账号同步这个跳板,同步到更多终端,手机或者什么的也很方便



大哥大姐们新年好,我是寻找解决思路的,不是来吵架或者争论什么的
如果你打算 Diss 我这样那样麻烦操作,还请口下留德,因为我真的有这方面需要
真诚的祝大家年年发大财,行大运,遇贵人,谦虚.jpg,非常感谢,非常感谢
回复

使用道具

8

主题

7415

回帖

2万

积分

超级版主

(^^ゞ

积分
20919
发表于 2022-1-2 20:54:34 | 显示全部楼层
没有试过迁移下载历史记录。但是 History 文件本质上就是个 SQLite 的数据库文件而已,只要没有加密并且表的结构是一样的话应该是没有什么问题。
对比了一下 Edge(Chromium) 和百分的 History 文件,downloads 表的结构是一样的,但是最后 Edge 中读取到不完整的下载历史记录有很玄学了;除非是 Edge 内限制了数量上限,否则很难解释这个现象,我这边也没有那么多的下载记录做测试,只能试了试在十几条的情况下迁移文件过去能够正常读取。
如果电脑上有安装 Chrome 的话试试会不会同样有这个问题,同时可以用一些数据库浏览器软件(比如:DB Browser for SQLite )打开 History 文件看看在 downloads 表中那个时间段后的记录有什么异常的地方。
¯\(°_o)/¯
回复

使用道具 举报

匿名  发表于 2022-1-3 12:13:40
感谢 S8F8ry 大佬的回复

History - 只有 2020 年 03 月往前
025496.log - 短最后日志,有当前最后三条下载记录,及若干条已经被移除记录



当前:Cent,v4.3.9.248,64 位便携 =》to =》新目录:Cent,v4.3.9.248,64 位便携
当前:User Data \ Default =》to =》新目录:User Data \ Default
(只复制当前覆盖新目录,下面经过测试出来的关联文件,新目录其他文件第一次打开自动生成,没动过)



测试步骤如下
1、新目录解压便携版 v4.2.9.248,64 位所有文件
2、打开新目录 Cent 的 chrome.exe 程序
3、自动生成 User Data 目录
4、从(当前)Default(只)复制这些文件到(新目录)Default 覆盖
5、下载记录完全显现,全部都有,丝毫不差



如上步骤,经过测试
Cent 部分记录还真就不是全部存在 History 的 Download 表里
DB Browser for SQLite v3.12.2 2021-05-17 读取结果也是只有 2020 年 03 月往前的
(那这么说,2020.3 ???? 202x.x 可能是 Cent 程序 / 内核升级之后,相关存取逻辑有变更?)

这些文件可能有下载记录关联(大部分都是无后缀文件)
需要某或多个文件互相存在才能读取成功
具体是哪个互相关联或 key 认证还搞不清楚,挺纳闷的

01、025495.ldb
02、MANIFEST-025494
03、CURRENT
04、Extension cookies
05、Extension Cookies-journa
06、LOG
07、WebData
08、Web Data-journal
09、Top Sites
10、Top Sites-journal
11、Shortcuts
12、Shortcuts-journal
13、Favicons
14、Favicons-journal
15、Network Action Predictor
16、Network Action Predictor-journal
17、0254960.log
18、Download metadata
19、Reporting and NEL
回复

使用道具

8

主题

7415

回帖

2万

积分

超级版主

(^^ゞ

积分
20919
发表于 2022-1-3 20:07:00 | 显示全部楼层
游客 14.120.131.x 发表于 2022-1-3 12:13
感谢 S8F8ry 大佬的回复   

History - 只有 2020 年 03 月往前

有一点很奇怪,如果说是在 2020.3 以后存储下载记录的逻辑有过变更(没能在网上查阅相关的资料,基本都提示下载记录是存在 History 文件里由 downloads 和 downloads_url_chains 表管理),那现在的版本应该是按照新逻辑存储的,可我这边测试下载以及稍微浏览下项目的源码后发现新的下载记录是确实保存到 History 里的两个表中。所以若存储逻辑真的有过变更的话,那也应该是旧的下记录存储在其它地方,即 History 缺失的应该是旧记录。

其次我发现你列出的文件列表中比我这边多出一个 Download metadata,这个是什么东西?
¯\(°_o)/¯
回复

使用道具 举报

匿名  发表于 2022-1-3 22:18:24
S8F8ry 发表于 2022-1-3 20:07
有一点很奇怪,如果说是在 2020.3 以后存储下载记录的逻辑有过变更(没能在网上查阅相关的资料,基本都提 ...

Download Metadata 文件大小只有 4 KB,使用 DB 浏览器打开
文件名字面意义来看,应该是记录某些下载元数据?软件提示为

---------------------------
DB Browser for SQLite
---------------------------
无法打开数据库文件。
原因: file is not a database
---------------------------
OK   
---------------------------

每次完全关闭浏览器后都会被更新,但整体大小没什么变化(依然 4 KB 左右 )

其实我有想过将这十九个文件打包传给大佬分析的,这里公用论坛贴私隐有些不妥

或者贴链接在这,游客发帖需审核,你 Pass 时将链接和密码,使用版主权限编辑掉他也行

大佬你看什么方便比较方便提供给你分析呢,静候佳音,多有打扰大佬了,谢谢大佬,我也想弄清这里面缘由
回复

使用道具

8

主题

7415

回帖

2万

积分

超级版主

(^^ゞ

积分
20919
发表于 2022-1-4 12:32:39 | 显示全部楼层
游客 14.120.131.x 发表于 2022-1-3 22:18
Download Metadata 文件大小只有 4 KB,使用 DB 浏览器打开
文件名字面意义来看,应该是记录某些下载元数 ...

估计我可能也找不出剩余的部分记录储存在哪里,有看过 Default/Preferences 文件(可以用文本编辑器查看)里有吗?

如果想打包发出来,给压缩包添加个密码,我编辑掉密码就行了(游客好像不能发完整网址,发网站后缀就行了)。
¯\(°_o)/¯
回复

使用道具 举报

匿名  发表于 2022-1-4 21:25:39
本帖最后由 S8F8ry 于 2022-1-4 21:52 编辑
S8F8ry 发表于 2022-1-4 12:32
估计我可能也找不出剩余的部分记录储存在哪里,有看过 Default/Preferences 文件(可以用文本编辑器查 ...

复制代码


有审贴权限的朋友、同志
你好,请将这个游客帖子
移交至 S8F8ry 版主负责过审

切勿未经过  S8F8ry 版主同意而提前过审
里面有我一些下载隐私不便公开
非常谢谢您!

S8F8ry 版主 Pass 前
麻烦删除 Code 至 /Code 代码框里
所有内容,感谢

还得麻烦 S8F8ry 版主帮忙分析看看
具体下载记录是存储在这里面的哪个文件

如果分析处理了,假如想要贴图
还请马赛克模糊我下载记录后再贴

回复

使用道具

8

主题

7415

回帖

2万

积分

超级版主

(^^ゞ

积分
20919
发表于 2022-1-5 21:09:35 | 显示全部楼层
游客 113.77.134.x 发表于 2022-1-4 21:25
有审贴权限的朋友、同志
你好,请将这个游客帖子
移交至 S8F8ry 版主负责过审

剩下的那部分记录存在 025518.ldb 等 LevelDB 文件中,但是这部分文件好像没法直接迁移至 Edge 中(也许有什么特殊的方法,反正我没办法)。

有一点奇怪的是,我这边试着做一个带干净 User Data 的百分浏览器,先将我自己的 History 文件(大概有一两百条下载记录)替换至 Default 目录中,启动确认下载记录存在关闭;再将压缩包里以下文件拷贝至 Default 目录:

  1. 025518.ldb
  2. 025519.ldb
  3. 025521.ldb
  4. 025522.log
  5. CURRENT
  6. LOG
  7. MANIFEST-025520
复制代码


启动后发现下载记录合并并且会自动写入到 History 中,这时 History 里是带有完整下载历史记录的。
¯\(°_o)/¯
回复

使用道具 举报

匿名  发表于 2022-1-6 02:23:14
本帖最后由 S8F8ry 于 2022-1-6 12:27 编辑
S8F8ry 发表于 2022-1-5 21:09
剩下的那部分记录存在 025518.ldb 等 LevelDB 文件中,但是这部分文件好像没法直接迁移至 Edge 中(也许有 ...

可能需要个 Gif 演示什么的?我发现无法复现



测试步骤文字描述如下
a1、创建新目录;解压便携版 v4.2.9.248,64 位所有文件
a2、打开新目录 Cent 的 chrome.exe 程序
a3、自动生成 User Data 目录
a4、从(当前)Default 复制 History 文件到(新目录)Default 覆盖
a5、下载记录确认 2020 年 03 往前,历史记录与当前无差,完全关闭 Cent

b1、复制 7 个文件到(新目录)Default 覆盖
b2、启动软件,下载记录全在,完全关闭 Cent
b3、从(新目录)Default 复制 History 文件出来
b4、移除 User Data 目录或重命名 User Data 目录

c1、重试 a2 ~ a3 步骤,使其自动生成新的 User Data 目录完毕后,并完全关闭 Cent
c2、复制刚才备份出来的 History 文件,到新生成的 User Data 目录覆盖
c3、打开 Cent,记录并没有被合并到 History 文件里,依然只有 2020 年 03 往前



可能是我的 History 文件的 Download 表里
遇到什么写入问题
无法写入,其他表正常读写

因此内核才尝试使用并创建其他 LevelDB 文件
用于继续存储,无法写入之后的下载记录

这个逻辑目前只是猜想,但没有搜索到谷歌
创建 LevelDB 文件逻辑的相关实质说明

因此,我也提供我的 History 文件,供版主比对
看看是我的步骤错了,还是真的如我上面猜测那样

这个历史记录没记错的话
最后一条是文叔叔主页
今天凌晨(01 月 06)

文件仅供问题解析用途
还请不要过度分析隐私方面
或不经我本人同意进行传播
非常谢谢,我信得过版主
但还是得有个先前例行声明





复制代码


老样子,Pass 前麻烦删除掉 Code 框内所有内容即可
回复

使用道具

8

主题

7415

回帖

2万

积分

超级版主

(^^ゞ

积分
20919
发表于 2022-1-6 21:09:18 | 显示全部楼层
游客 113.77.134.x 发表于 2022-1-6 02:23
可能需要个 Gif 演示什么的?我发现无法复现

经过几次排查测试,明确发现只有你给的 History 文件不能写入新的下载记录,查看你给的 History 文件表结构后发现竟然和百分(Edge/Chrome)等不一样。有可能是因为这份 History 文件来自上述三种浏览器之外的其他 Chromium 内核浏览器或者是被其更改过导致。

新下载记录不会写入的原因是 downloads 表里多出了两列:scan_result 和 speedup_urls,关键是这两列被设定成 NOT NULL(不接受空值) 且没有默认值,这样百分(Edge/Chrome)等的新下载记录由于不会带有这两个列,而导致其永远都无法写入数据库文件中了。






解决方法就是自行更改表结构移除这两个列,然后将新 History 替换回去,这时启动浏览器后原本保存于 LevelDB 文件中的新下载记录就能写入并且合并了,我这边做了一个已经合并后的 History 文件:https://sailboatweb.lanzoup.com/iYoiNygn4tg,解压密码就是楼下那个压缩包的解压密码。
不过我建议你自己直接用当前的 User Data 来重头处理,大致可以按以下步骤:

1. 彻底退出浏览器,另外备份一份 User Data。
2. 用 SQLite 浏览器打开 Defalut/History,删除 downloads 表中上述所提到的 scan_result 和 speedup_urls 列(在DB Browser for SQLite 的话在"数据库结构"中右键表名有"修改表"里可以删除列),保存数据库(Ctrl+S)。
3. 启动浏览器,等个十几秒钟,确保 LevelDB 中的下载记录已合并,审查一下 History 文件看看数据是否已正常。若无误则可以用这个 History 文件来迁移下载记录至 Edge 中。

如果按照上述方法能解决问题的话你回复一下,我就删掉我这边的文件了。
¯\(°_o)/¯
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|百分浏览器论坛

GMT+8, 2024-11-2 11:39 , Processed in 0.018166 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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