我开发的浏览器信息记录工具(huntly)开源啦 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
louchenabc
V2EX    分享创造

我开发的浏览器信息记录工具(huntly)开源啦

  •  3
     
  •   louchenabc 2023-03-07 17:41:24 +08:00 6274 次点击
    这是一个创建于 953 天前的主题,其中的信息可能已经有所发展或是发生改变。

    334 天前我在 v 站上发了个帖子 我正在开发的一款浏览器信息记录工具,欢迎讨论 - V2EX,介绍了我正在开发的一款工具。

    整个 2022 年,是我人生的一个低谷,这一年我的状态非常的差,这个项目也一直处在断断续续的开发之中,进展非常不顺。

    2023 年伊始,22 年的痛苦依然延续下来,但很快一切都结束了,后来我写了两篇周刊: 020 丧失处理( Loss Processing ) 021 真诚的写作、创伤后成长 ,表达我在经历这些事情之后要重新振作起来。

    上上周我在推特上宣布一周后开源,接着一整周我都在写代码,这一周写的代码差不多跟去年断断续续写两三个月的工作量差不多。

    简单介绍一下这款工具,Huntly 是一个自托管的信息管理工具,它包含以下功能:

    • RSS 订阅和阅读。
    • 自动保存浏览过的网页,随后以保存、稍后读、收藏或存档的方式将其保存。
    • 针对推特网站有特殊的处理,会自动保存请求过的推特 timeline ,记录是否浏览过,在 huntly 中你甚至可以用更方便的方式重新查看这些推文。
    • 可以从标题、内容、类型、收藏方式等维度进行搜索。
    • 连接其他服务,目前支持 GitHub ,所以它也是一个 Github stars 管理工具。

    未来可能会支持连接到 Pocket 、Hypothesis 等服务。

    由于我的个人原因,导致这个项目从宣布到开源的时间实在是太长了,原本我计划还要一个月左右才会开源,但我想尽快完成一件事情的方法就是做一个公开的承诺,于是它得以在上周日晚上 11 点释出。

    Huntly 开源的非常匆忙,它还有很多待完善的地方,可能还不算一个合格的开源作品,但我还是想早点把它推向社区,一些关注我的朋友也已经等了很久。我自己也需要一些反馈让自己更快地好起来。

    GitHub 项目地址:GitHub - lcomplete/huntly

    Demo:http://huntly.rom666.com:8000/

    Username: demo

    Password: huntlydemo

    如果你对这个项目感兴趣的话,欢迎 star 、fork 、提交 pr 。

    界面截图:

    55 条回复    2024-07-29 03:00:02 +08:00
    andrew2558
        1
    andrew2558  
       2023-03-07 17:45:18 +08:00
    看起来很不错,是自己搭服务器,装浏览器插件,插件数据提交到自己搭的服务器。我理解的对吗?
    louchenabc
        2
    louchenabc  
    OP
       2023-03-07 17:46:59 +08:00   1
    @andrew2558 对的,如果设备不多,跑在本机也是可以的。
    des
        3
    des  
       2023-03-07 18:05:59 +08:00 via iPhone
    赞,正在找类似的东西
    QUC062IzY3M1Y6dg
        4
    QUC062IzY3M1Y6dg  
       2023-03-07 18:46:15 +08:00 via Android
    试用一下,感觉是个非常不错的工具
    l0wkey
        5
    l0wkey  
       2023-03-07 18:50:02 +08:00
    这要是接上 ChatGPT..
    就接近个人数字助理(文库)了
    louchenabc
        6
    louchenabc  
    OP
       2023-03-07 18:52:12 +08:00
    @l0wkey 有这个想法,不过更倾向于做一个不绑定项目的 chatgpt 工具,这样的话会更通用。
    acehinnnqru
        7
    acehinnnqru  
       2023-03-07 20:26:36 +08:00
    @louchenabc 其实可以做成可选的 feature, 加个开关可以使用自己的 apikey 连 chatgpt ?
    brucmao
        8
    brucmao  
       2023-03-07 22:28:03 +08:00 via iPhone
    非常不错
    HeyWeGo
        9
    HeyWeGo  
       2023-03-08 00:01:28 +08:00 via Android   3
    self-host 爱好者表示大力支持
    Cesaryuan
        10
    Cesaryuan  
       2023-03-08 10:13:00 +08:00   1
    一定要加油呀,很不错的产品,一直想找一个这样的 RSS 阅读器( inoreader 订阅费太高了)

    希望大佬后面可以加入规则自动化功能,加油
    louchenabc
        11
    louchenabc  
    OP
       2023-03-08 10:39:02 +08:00
    @Cesaryuan inoread 我订阅了一年,不会再续费了,因为我发现订阅太多并不是 rss 的正确用法,一定要筛选那些高质量的,订阅太多容易被信息淹没,订阅少一些,大多数免费的服务已经够用了。
    honus
        12
    honus  
       2023-03-08 11:30:45 +08:00
    rss 好用的话可以试一下啊
    honus
      &nbs; 13
    honus  
       2023-03-08 11:33:04 +08:00
    这种在侧边打开文章主体的方式感觉有点怪,不太适应
    LengthMin
        14
    LengthMin  
       2023-03-08 11:33:15 +08:00   1
    这个好棒啊
    louchenabc
        15
    louchenabc  
    OP
       2023-03-08 11:39:08 +08:00
    @honus 也可以在新窗口打开,这个问题不大,加几行代码增加多几种展示方式供选择就可以了。
    xujinkai
        16
    xujinkai  
       2023-03-08 11:47:41 +08:00
    感谢,从 demo 里可以找到不少好东西。
    也引出一个需求,希望可以导出 feeds 。
    另外那个登出按钮最好放在外边,放设置里列表那容易误点。
    louchenabc
        17
    louchenabc  
    OP
       2023-03-08 12:03:09 +08:00 via iPhone
    @xujinkai 上的匆忙,所以没做退出提示,这个会改,我也点错好多次。
    导出后面有空加上。
    ttionya
        18
    ttionya  
       2023-03-08 13:06:32 +08:00
    服务端是 Java 的,不知道小机器跑得起来么
    louchenabc
        19
    louchenabc  
    OP
       2023-03-08 13:40:22 +08:00
    @ttionya 是 java 的,demo 部署在一台 N5105 CPU 的机器上。
    jezal
        20
    jezal  
       2023-03-08 13:59:42 +08:00   1
    状态不好只是暂时的,一切都会过去。
    Huntly 很棒,加油啊!
    lzgshsj
        21
    lzgshsj  
       2023-03-08 14:02:46 +08:00
    自动保存浏览的网页是什么形式保存的呢?链接?一组 metadata ?还是离线保存成文件?
    louchenabc
        22
    louchenabc  
    OP
       2023-03-08 14:06:10 +08:00
    @lzgshsj 解析出文章内容,然后进行保存的,非文章类的倾向于不保存,但目前有些非文章页面也会解析成文章,插件还待优化。
    jezal
        23
    jezal  
       2023-03-08 14:33:24 +08:00
    我也是独立开发者,可能你已经知道我的作品了。
    Huntly 是个很好的产品,不过目前的方向似乎可以调整下,那样将发挥他真正的价值。
    dayage
        24
    dayage  
       2023-03-08 14:52:35 +08:00
    继续加油,提个建议,可以把标签或者分组的功能从 feed 扩展到 started archive readitlater ,把 rss 和资料收集工具结合起来。
    itechify
        25
    itechify  
    PRO
       2023-03-08 14:54:51 +08:00
    - 建议加 i18n 照顾下我这种英语渣
    - 退出登录,有点迷惑,以为是 tab 栏,这个让我不小心退出两次了

    <img src="https://i.328888.xyz/2023/03/08/5QOVX.png" alt="5QOVX.png" border="0" />
    itechify
        26
    itechify  
    PRO
       2023-03-08 14:56:07 +08:00
    可能整体 ui ,字体,交互还需要调整,感觉回到 bootstrap 时代
    louchenabc
        27
    louchenabc  
    OP
       2023-03-08 14:58:49 +08:00
    @jezal 你 v2 首页的提问屏蔽了,看不到,所以不知道你的作品,可以发出来看看。

    有什么好的建议欢迎说下。
    louchenabc
        28
    louchenabc  
    OP
       2023-03-08 15:04:30 +08:00
    @dayage 这个一开始有考虑,对我个人而言,已经不喜欢手动打标签或者建文件夹,有点繁琐了,主要还是依赖搜索来找到文章。当然肯定有用户有这个需求,如果要走商业化的话会考虑进行完善。目前完全就是开源,没打算商业化。
    louchenabc
        29
    louchenabc  
    OP
       2023-03-08 15:05:10 +08:00
    @oneisall8955 由于时间原因,这两项还没优化。
    louchenabc
        30
    louchenabc  
    OP
       2023-03-08 15:06:43 +08:00
    @jezal 看到了,原来是菜脯老师。
    jezal
        31
    jezal  
       2023-03-08 15:38:06 +08:00   1
    @louchenabc 我是这么理解 huntly 的

    [初心] 记录自己看过的,以便后续某个时间可以找回。

    [问题] 解决这个需求点的产品,注定是低频使用的,用户量不足以支撑产品持续运营。因为,目前的 huntly 只是解决了“不时之需”,甚至,界面都不需要,所以评论的兄弟里有用 indexDB 满足“记录”的需求。

    [一些想法] 要提高产品使用频率,我理解还是要增加 huntly 的使用价值。现在的 RSS 订阅功能,似乎也是这个思路。我有两个建议:1. 在“阅读网页”这个环节做些工作,提升插件的价值; 2. 用户在使用 huntly 的过程中,产生了一个宝贵的副产品经过人工筛选的高质量内容。建议想想如何发挥它们的价值。
    id80108900
        32
    id80108900  
       2023-03-08 15:49:26 +08:00
    支持
    大力支持
    希望楼主更上一层楼。
    Envov
        33
    Envov  
       2023-03-08 17:40:17 +08:00   1
    我觉得可以在采集插件上多一些主动操作
    遇到好内容,可以附加评论到 Huntly
    或者将视频、划词、文字、图片、段落资源上载到 Huntly

    <br/>

    另一个是被采集的内容在 Huntly 呈现的有点粗糙,如果 Huntly 可以在呈现内容时比原版更整齐干净,一定会更好
    ttionya
        34
    ttionya  
       2023-03-08 18:01:27 +08:00
    @louchenabc 不知道内存使用情况怎么样,Java 给我的印象一直是占用内存很大
    louchenabc
        35
    louchenabc  
    OP
       2023-03-08 18:25:55 +08:00
    @ttionya 可以设置的,占用不大。
    iX8NEGGn
        36
    iX8NEGGn  
       2023-03-08 22:42:15 +08:00
    前几天还在讨论网页存档类似问题,OP 的项目才放出来几天就就这么多 star 了,看来程序员还是有很多人有这个需求的。
    jsomin
        37
    jsomin  
       2023-03-08 23:00:36 +08:00
    OP 浏览器字体和主题是什么?感觉有点好看
    louchenabc
        38
    louchenabc  
    OP
       2023-03-08 23:15:04 +08:00
    @jsomin 这是我在 ubuntu 下面截的图,应该是 Ubuntu 默认字体。
    wuoo
        39
    wuoo  
       2023-03-08 23:34:11 +08:00
    记录的网站是有什么限制吗,好像有些浏览过的网页没有记录下来
    louchenabc
        40
    louchenabc  
    OP
       2023-03-08 23:57:36 +08:00
    @wuoo 要解析到文章才会记录,目前还解析的不是很准。
    H97794
        41
    H97794  
       2023-03-09 12:32:58 +08:00
    看到文件夹 , 还以为可以当收藏夹用 ! -_-!
    DIO
        42
    DIO  
       2023-03-09 15:03:03 +08:00
    论坛类文字内容会进行保存吗
    lookStupiToForce
        43
    lookStupiToForce  
       2023-03-09 15:56:59 +08:00
    Wonderful Work!

    私心提一下
    OP 可以把托管功能也提供一个官方版,能让用户导出数据就行。当然这个官方版能提供多端同步,调用其他 app 接口进行导出 /信息处理的功能,就更好了。

    因为像我这样的懒人和已经弄了 N 合一在个人服务器上不想再加的人,其实挺想要一个 Huntly 这样加强版的 pocket 的(我都在研究搭私人搜索引擎了,但技术太烂很多想法都没法实现)
    louchenabc
        44
    louchenabc  
    OP
       2023-03-09 16:59:29 +08:00
    @lookStupiToForce 这个高度涉及到用户隐私,毕竟会自动保存浏览记录,感觉个人部署会好一些,如果推出 sass 版本首先要让用户选择手动保存内容。这类产品已经相当多了,最强大的应该要属 inoreader ,不过收费较贵,而且他的搜索做的很烂。
    lookStupiToForce
        45
    lookStupiToForce  
       2023-03-09 17:18:35 +08:00
    @louchenabc #43 用户隐私这块儿感觉可以对称加密上传,用户端自己加解密,自己选择多端共享密钥渠道
    不过这样计算量可能就蛮大了,对于增量 /差量处理要求挺高,属于复杂度高收益小的活儿
    唉100%心仪的产品确实难
    Envov
        46
    Envov  
       2023-03-09 17:59:15 +08:00   1
    我发现了这个: https://github.com/gildas-lormeau/SingleFile#demo
    或许对你有帮助
    itplanes01
        47
    itplanes01  
       2023-03-09 22:30:47 +08:00
    [自动保存浏览过的网页,随后以保存、稍后读、收藏或存档的方式将其保存] 会存到本地吗,我看存档后的图片链接还是原本的
    louchenabc
        48
    louchenabc  
    OP
       2023-03-10 00:33:20 +08:00
    @itplanes01 图片暂时还没做保存呢,内容都存下来了。
    modrich
        49
    modrich  
       2023-03-10 09:28:16 +08:00   1
    感谢 op 开源,有 rss 不错,,建议 i18n 可以大家一起翻译,增加 chatgpt 也不错
    zq11211277
        50
    zq11211277  
       2023-03-12 01:04:19 +08:00
    感觉很有意思 试过很多保存网页的 总觉得差点什么
    aboutboy
        51
    aboutboy  
       2023-11-21 14:30:33 +08:00
    很厉害
    wxyrrcj
        52
    wxyrrcj  
       2023-12-27 14:08:37 +08:00
    docker 可以尝试下 [openj9]( https://hub.docker.com/r/adoptopenjdk/maven-openjdk11-openj9) 也许会降低内存占用
    wxyrrcj
        53
    wxyrrcj  
       2023-12-27 14:10:45 +08:00
    https://solon.noear.org/ 这个框架也可以很大降低 java 内存占用
    wsc449
        54
    wsc449  
       2023-12-28 09:40:47 +08:00
    fork 了源码,想增加多用户功能
    laowu0666
        55
    laowu0666  
       2024-07-29 03:00:02 +08:00
    用起来还不错...只是好像有点吃内存..
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5124 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 09:17 PVG 17:17 LAX 02:17 JFK 05:17
    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