Go to file
KoriIku 5c9b7574f6
Some checks failed
/ build (push) Has been cancelled
Update README.md
2024-10-26 14:17:29 +08:00
.github/workflows chore: github action optimisation 2024-10-10 17:04:13 +08:00
.vscode Initial 2024-10-07 01:52:57 +08:00
conf docker部署404问题解决 2024-10-09 16:01:26 +08:00
docs 添加屏蔽名单 2024-10-11 18:35:50 +08:00
public 解决 netlify 404 的问题 2024-10-11 14:49:20 +08:00
src Merge pull request #26 from bianxuerui/main 2024-10-11 14:44:43 +08:00
.dockerignore test: run github action 2024-10-10 17:14:59 +08:00
.env 加个配cx的地方 2024-10-08 02:00:08 +08:00
.gitignore Initial 2024-10-07 01:52:57 +08:00
Dockerfile perf: all in dockerfile 2024-10-10 10:55:56 +08:00
index.html firefox opensearch 支持 2024-10-09 22:14:06 +08:00
jsconfig.json Initial 2024-10-07 01:52:57 +08:00
LICENSE Create LICENSE 2024-10-07 18:35:58 +08:00
package.json Initial 2024-10-07 01:52:57 +08:00
pnpm-lock.yaml Initial 2024-10-07 01:52:57 +08:00
README.md Update README.md 2024-10-26 14:17:29 +08:00
vercel.json 尝试解决vercel 404的问题 2024-10-08 18:45:58 +08:00
vite.config.js Initial 2024-10-07 01:52:57 +08:00

Luxirty Search

search.luxirty.com

一个搜索引擎,基于 Google屏蔽内容农场无广告无跟踪干净简洁快。

如果想添加到浏览器中,搜索语法是 search.luxirty.com/search?q=

特性&功能

  1. 内置内容农场屏蔽包括csdn、华x云、百度云智能、腾讯云开发者等seo网站以及一些 stackoverflow 中文翻译站。

Note

你可以在 /docs/block_list.txt中查看完整的屏蔽名单。

  1. 点击For Program一键拉高 GitHub、Stackoverflow、v2ex、cnblog 权重,免去手打 site: 的麻烦。

  2. 一键搜索 v2ex 、 Raddit

  3. 内置广告屏蔽、跟踪链接移除。

与 uBlackList, Hit by Hidden 等工具的区别

这些工具在前端屏蔽搜索结果,也就是等到内容农场已经出现在搜索结果中,再将其删除或隐藏。

而 Luxirty Search 通过配置 Annotations 让 Google 直接屏蔽垃圾网站,服务器在执行搜索时就已经将网站排除,可以理解为内置多条 '-site:domain.com' 。

Contribute

欢迎 pr 和 issue。

本项目并不复杂,只需要基础的前端知识 (css + js) 即可看懂本项目。

下面是几个较简单的切入点,可以尝试从这里入手。

优化样式

本项目最大的作用其实是美化 cse 那个上古默认样式,我进行了基础的调整、暗黑适配、移动端适配,但肉眼可见的还有很多问题 Orz。

分享黑名单或优化名单

理论上而言,利用 GitHub Action 来自动生成 Annotations 文件是最好的做法,但我还没写(逃,所以目前直接写在 issue 里。

你可以分享这些域名:

  1. 黑名单域名:这些域名会直接被屏蔽
  2. 代码相关的高质量来源这些域名被视作优质来源当点击“For Program”标签时优先级会被提高。
  3. 当然,如果你认为有必要添加新的标签也可以提出来。

当前的缺陷

  1. 对不同尺寸的屏幕适配不完整

  2. 暗黑模式下还有部分元素过亮或者过暗

未来计划

  1. 根据标题进行二次拦截

  2. 加入自动翻页(这个还不知道怎么实现)

经验分享

如果你在你的博客中介绍了本项目欢迎将链接分享到issue如果内容对其它使用本项目的用户有帮助(较为详细的介绍/部署教程/或其它任意有帮助的内容),我们会将您的文章链接添加到readme中。

原理

Luxirty Search 基于 Google 的可编程自定义搜索引擎(Google cse),允许通过 Annotations 自定义屏蔽网站及搜索范围等,同时使用 Refinement Labels 提高 Github 等优质来源的权重。

用人话来说,就是内置了屏蔽哪些网站、优先搜索哪些网站。

已知缺陷

这些缺陷是 Google CSE 或其它限制导致的,可能得不到解决。

  • 设置为默认引擎时,搜索栏无法自动补全(网页中有自动补全)
  • 无法根据时间筛选结果
  • 缺乏同义词替换,虽然 Google CSE 基于 Google但 Google 官网的搜索引擎运用了多种技术来优化搜索结果最显著的一点是同义词搜索当使用的术语有所区别时Google官网会使用意思相近的同义词进行搜索而 Google CSE 不会,这会导致某些情况下的结果明显少于官网。

部署

本质上而言,这是一个简单的 vue3 + vite 项目,因此你应该可以方便地将它部署到任何你喜欢的托管网站,例如 GitHub Pages、netfliy、Cloudflare Pages、vercel之类的。

当然你也可以将其部署在自己的服务器上。

无论你喜欢哪种方式,都只需要查看 vite 部署教程: https://cn.vitejs.dev/guide/static-deploy

(可选)如果你想使用自己的cse只需设置环境变量 VITE_GOOGLE_CSE_CX ,从这里创建你的 cse 并获取 cx https://programmablesearchengine.google.com/about/

注意:

  1. 如果你使用自己创建的 cse那么的部署看起来会有区别页面上的“For Program”等标签是通过 cse 的 “优化” 功能配置的。你需要先添加域名,然后添加对应标签,并在标签中选中想提升的域名。
  2. 你还需要修改 opensearch.xml 中的域名,详细请看 https://github.com/KoriIku/luxirty-search/issues/14

一键部署(推荐)

Deploy with Vercel

(搜索页404的问题已修复)

Deploy with Vercel

Deploy to Netlify

Deploy to Netlify

Docker 运行 (感谢 @shadowofmoo

docker run --rm -p 80:80 ghcr.io/koriiku/luxirty-search

开发

参考资料

唯一要看的参考资料:https://developers.google.com/custom-search/docs/element

在本地调试

pnpm install

Compile and Hot-Reload for Development

pnpm dev

Compile and Minify for Production

pnpm build

更新记录

  • 加快了启动速度
  • 添加了移除搜索结果中的跟踪链接 data-ct*
  • 移除了文字阴影

Star History

Star History Chart