思源网络代理怎么用?

image.png

没太搞明白,这个网络代理给谁用的(设置=》关于中打开该界面)?

  1. 是前端请求内核时用的吗?(比如,设置了代理后,前端请求内核 api 时先走代理)

  2. 还是内核请求网络时用的(内核访问网络时先走代理)?

我本地搭建了一个 http 服务器,然后设置了 http 网络代理后发现前端请求内核的 URL 还是原来的 URL,并没有走设置的 http 代理服务,这说明不是给前端用的吧?难道是给内核请求网络时用的?

那么,如果想让前端请求时先走代理服务器,然后进行数据过滤后再返回,该怎么做呢?

我尝试了先把 <base href="" /> 标签的 href 改为代理服务器地址,然后再重写 window.fetch 方法添加认证头信息 token,虽然能正常请求代理服务器的 api 了,但由于代码只能放到代码片段中,在代码片段加载前的 api 并不起作用。

请大佬们帮忙指点迷津!

@88250

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    22250 引用 • 88929 回帖
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    8073 引用 • 36877 回帖 • 162 关注

相关帖子

被采纳的回答
  • 设置以后前端对非内核请求会走代理(比如加载网络图片),内核对外部请求(比如同步)也会走代理。

    要拦截内核请求的话目前没有机制,这种情况应该在内核层面做路由处理,另外这种应用场景好像并不多见,你的场景是用来处理什么?

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • wilsons

    感谢 D 大的回复!

    我目前的应用场景有两个:

    1. 就是想让发布服务中的某些数据不返回给前端,比如目录列表等,所以我想直接通过代理服务过滤下数据再返回。
    2. 如果这种代理可以直接改变对内核的请求的话,甚至可以直接本地客户端访问远程 docker 等的 api,达到远程连接 docker 的功能 😄,不过这样就不是本地优先了。

    目前修改 <base> 标签可以满足大部分 api 请求,但 base 标签影响较大,还要处理好其他资源的请求才行,太过麻烦,如果有只影响对内核 api 请求的方法最好了。

    虽然通过 js 重写 window.fetch 的方法可以实现对大部分 api 的过滤,但前端实现毕竟是不安全的,容易破解。

    1 回复
  • 其他回帖
  • wilsons

    没太懂,我想前提是前端请求得先走反向代理服务吧,然后代理服务才能再访问内核 api 服务,然后处理后返回,现在的问题是,无法让前端先走代理服务。

    如果后续思源支持自定义内核 API 主机地址就好了,这样就可以轻松实现 API 过滤了。

    docker 版不知道不修改源码的情况下是否可以,我是直接在 windows 服务器下后台运行思源,最小化到托盘,然后开启伺服和发布服务来实现类似 docker 版功能的。

    1 回复
  • wilsons

    哦哦,不太明白,能否展开说说,内核接口不是在本地吗?不走公网,怎么用公网反代?用什么方式或工具反代?也是通过设置系统代理吗?

    我的理解是 docker 版或对外公开访问的 web 版是需要通过 NGINX 等反代到公网的。

    我这里说的是系统内部,拦截前端请求到内核的过程,然后变为前端到代理再到内核的过程。

    然后转发过程是 electron,到系统转发规则,到代理服务,到思源内核的过程,加了一步转发过程。

    1 回复
    1 操作
    wilsons 在 2024-10-27 23:32:03 更新了该回帖
  • wilsons

    再次感谢 D 大的回复!

    还是没太明白大大的方法。我觉得这里的问题关键是怎样改变前端请求的接口地址,因为前端请求接口地址我无法改变,内核服务我也无法改变,所以只要这两者无法改变,无论则怎样代理都起不到作用,因为思源请求接口无法和代理服务器发生关联。

    不过,我通过研究也找到了一些办法,比如可以通过 IPTables(linux), netsh(windows)等做请求转发,由于这是系统级的,所以请求会先经过这些规则把 6806 请求转发到代理服务器就可以了。

    还可以通过设置系统代理的方式实现,类似 fiddler 和 Charles 的抓包原理,这样就能实现拦截请求并处理后返回了。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • Ubuntu

    Ubuntu(友帮拓、优般图、乌班图)是一个以桌面应用为主的 Linux 操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观,类似华人社会的“仁爱”思想。Ubuntu 的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。

    124 引用 • 169 回帖
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖 • 2 关注
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    66 引用 • 114 回帖 • 227 关注
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    6 引用 • 38 回帖
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    169 引用 • 506 回帖
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 65 回帖 • 441 关注
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 511 回帖 • 1 关注
  • Pipe

    Pipe 是一款小而美的开源博客平台。Pipe 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    131 引用 • 1114 回帖 • 128 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    77 引用 • 390 回帖
  • 安全

    安全永远都不是一个小问题。

    199 引用 • 816 回帖
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    107 引用 • 295 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    26 引用 • 84 回帖
  • 程序员

    程序员是从事程序开发、程序维护的专业人员。

    566 引用 • 3532 回帖
  • 黑曜石

    黑曜石是一款强大的知识库工具,支持本地 Markdown 文件编辑,支持双向链接和关系图。

    A second brain, for you, forever.

    15 引用 • 122 回帖
  • wolai

    我来 wolai:不仅仅是未来的云端笔记!

    2 引用 • 14 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 26 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 727 关注
  • Spring

    Spring 是一个开源框架,是于 2003 年兴起的一个轻量级的 Java 开发框架,由 Rod Johnson 在其著作《Expert One-On-One J2EE Development and Design》中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 JavaEE 应用程序开发提供集成的框架。

    944 引用 • 1459 回帖 • 24 关注
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    55 引用 • 85 回帖
  • CSDN

    CSDN (Chinese Software Developer Network) 创立于 1999 年,是中国的 IT 社区和服务平台,为中国的软件开发者和 IT 从业者提供知识传播、职业发展、软件开发等全生命周期服务,满足他们在职业发展中学习及共享知识和信息、建立职业发展社交圈、通过软件开发实现技术商业化等刚性需求。

    14 引用 • 155 回帖
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    19 引用 • 31 回帖 • 1 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    122 引用 • 74 回帖 • 2 关注
  • 反馈

    Communication channel for makers and users.

    123 引用 • 911 回帖 • 243 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    943 引用 • 943 回帖
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 6 关注