Skip to content

YDX-2147483647/bulletin-issues-transferred

Repository files navigation

Bulletin Issues Transferred

best of BITs version RSS Valid rssto.email QQ群 757113685 Updated haobit.top website Source GitHub Mirror Gitee

BulletinIT 旨在汇总 BIT 各种网站的通知。

# 第一次使用前需要先安装包
npm install
# 然后编译 TypeScript
npm run build

# 日常使用(效果见下)
npm run update

能干什么?

日常使用时,npm run update会在控制台输出类似这样的内容。

> [email protected] update
> node dist/plugin/cli/examples/cli.js

抓取通知 ████████████████████████████████████████ 100% | 25/25 | 已用2s,预计还需0s
未发现新通知。
 1  留学生|2022北京理工大学国际学生招生简章
    https://isc.bit.edu.cn/eventsnotices/dd3551f3e64646b497d9f6288d1bb82b.htm
    2022/8/8 21:22:13

 2  留学生|2022 BIT ACCP Summer Session Application Opens 2022年北京理工大学学术学分课程暑期项目招生简章
    https://isc.bit.edu.cn/eventsnotices/65e5e36535e24b3aae7c03d8ec95d7f6.htm
    2022/8/8 21:22:13

 3  留学生|2022 BIT ACCP December Session Application Opens 2022年12月北京理工大学学术学分课程招生简章
    https://isc.bit.edu.cn/eventsnotices/fb526c44d11a41d2846132448fa46687.htm
    2022/8/8 21:22:13
以上是最新的3项通知。

以往信息存储在output/notices.json中。

  • npm run update

    更新通知。

  • npm run update-proxy

    使用代理更新通知。

    YDX-2147483647/virtual-BIT-network: BIT WebVPN 登录与转换 (github.com)

    需要配置统一身份认证的秘密信息,请参考config/proxy.secrets.schema.json

  • npm run update-ding

    更新通知,然后向 i 北理群发送新通知。

    需要配置钉钉机器人的秘密信息,请参考config/ding.secrets.schema.json

  • npm run update-rss

    更新通知,并生成 RSS。

  • npm run update-server

    proxy + rss,可用于服务器上的 crontab。

    我们已部署了一个,可在 HaoBIT 查看,例如 RSS

  • npm run update-server-ding

    server + ding,可用于服务器上的 crontab。

星标历史

Star History Chart

如何贡献?

请注意,这个项目报了2021-2022学年的校创及2022年的北京市市创(服务器钱就来源于此),大家在这个仓库的贡献可能会被答辩老师算在我们头上。 您可以通过HaoBIT关于页内提供的渠道联系我们以提供您的建议和意见。

添加别的通知来源

注:如果你不知道怎么提拉取请求(pull request),不妨直接新建议题(issue)

  • 写明名称、网址、同学该如何找到它等等。

    这些内容写在config/sources_by_selectors.json中,详细规则见同文件夹的*.schema.json

    其实也不用太研究那个 JSON Schema,只要看一下现有的sources_by_selectors.json,结合 VS Code 的语法提示,照猫画虎就行了。

  • 描述如何从这个来源获取通知。

    目前有两类方法:

    • 先获取通知列表的静态网页,然后用 CSS 选择器从中提取信息。

      CSS 选择器写在config/sources_by_selectors.json中。

    • 利用学校的 API。

      src/core/sources/special.ts中的raw_sources: SourceSpecialInterface[]里。

移植到别的学校

只需要写新的config/sources_by_selectors.jsonsrc/core/sources/special.ts即可。 另外,如果有移植类似HaoBIT的全套网页的想法,请使用该网站关于页内提供的渠道联系我们。

编程

DEVELOPMENT.md 描述了一些思路、细节。另外npm run doc可以生成文档。

这合法吗?

  • 绝对不涉密

    上网不涉密,涉密不上网。

    我们只获取无需登录就能访问到的通知。一般人用搜索引擎都能找到这些页面,只是比较麻烦。

  • 不侵犯版权

    (且不论通知有没有版权)我们只获取通知的标题,并且会给出原链接。

  • 基本不会给学校服务器造成压力

    所述,获取通知不会频繁访问学校网站,一个普通人在学校网上乱点造成的压力可能都比这个项目的大。

    另外,这个项目也许会方便一些同学找通知,避免在学校网上乱翻,从而可能减小学校服务器的压力。

  • 原理基于公开内容

    CSS 选择器只是描述学校网页,API 是搜索学校网页源代码得到的。这些内容都在 Web 前端,是公开的。