Commit Graph

188 Commits

Author SHA1 Message Date
DIYgod
4591116733 fix: middleware errors 2024-01-21 18:35:11 +08:00
DIYgod
e7e3f689bd fix: error handler and debug info 2024-01-21 15:41:42 +08:00
DIYgod
8e0154552c feat: welcome page 2024-01-21 15:18:42 +08:00
DIYgod
847724cad1 feat: work with hono and typescript 2024-01-21 11:55:18 +08:00
Tony
6d901cb7dc style(eslint): add eslint-unicorn (#14257)
* style: add eslint-unicorn

* style: fix unicorn/no-useless-spread

* style: fix unicorn/no-useless-promise-resolve-reject

* style: fix unicorn/no-for-loop

* fix: codeql bad HTML filtering regexp

* fix: codeql incomplete replace

* fix: unicorn/no-abusive-eslint-disable

* style: fix unicorn/no-new-array

* style: fix unicorn/no-typeof-undefined

* style: fix unicorn/no-zero-fractions

* style: fix unicorn/no-empty-file

* style: fix unicorn/prefer-date-now

* revert: auto fix unicorn/prefer-switch on lib/v2/kuaidi100/utils.js

* style: fix unicorn/prefer-array-find

* style: fix unicorn/prefer-array-flat

* style: fix unicorn/prefer-array-flat-map

* style: fix unicorn/prefer-at

* style: fix unicorn/prefer-string-starts-ends-with

* style: fix unicorn/prefer-includes

* fix: codeql URL substring sanitization

* style: fix unicorn/prefer-optional-catch-binding

* style: fix unicorn/catch-error-name

* style: fix unicorn/escape-case

* style: fix unicorn/prefer-native-coercion-functions

* style: fix unicorn/prefer-regexp-test

* style: fix unicorn/require-array-join-separator

* style: fix unicorn/prefer-math-trunc

* style: fix unicorn/prefer-negative-index

* style: fix unicorn/prefer-dom-node-dataset

* style: fix unicorn/prefer-dom-node-text-content

* style: fix unicorn/prefer-query-selector

* style: fix unicorn/no-array-for-each

* style: fix unicorn/no-negated-condition

* style: fix unicorn/prefer-add-event-listener

* style: fix unicorn/import-style

* style: fix prefer-regex-literals

* style: disable unicorn/no-useless-switch-case

* style: disable unicorn/text-encoding-identifier-case

* style: fix unicorn/prefer-set-has

* style: fix unicorn/prefer-spread

* revert: auto fix on lib/routes/universities/ynnu/edu/base64.js

* style: fix unicorn/no-useless-undefined

* style: fix unicorn/no-array-push-push

* style: fix unicorn/no-useless-undefined again

* style: fix unicorn/no-lonely-if

* style: fix unicorn/prefer-reflect-apply

* style: fix unicorn/switch-case-braces

* style: fix unicorn/prefer-switch

* style: fix unicorn/prefer-array-some

* fix: deepscan UNUSED_VAR_ASSIGN

* style: fix unicorn/prefer-ternary

* fix: follow-up of unicorn/prefer-ternary

* revert: auto fix of unicorn/prefer-string-slice for substring()

* style: disable unicorn/prefer-string-slice

fix: auto fix slice over deprecated substr

* style: fix unicorn/throw-new-error

* style: fix unicorn/filename-case

* test: fix dateParser renaming

* style: fix unicorn/better-regex

* style: fix unicorn/prefer-string-replace-all

* fix(deps): add sanitize-html

* style: fix no-prototype-builtins

* style: fix unicorn/consistent-destructuring

* style: fix unicorn/consistent-function-scoping

* style: fix unicorn/prefer-regexp-test

* style: fix unicorn/prefer-logical-operator-over-ternary

* style: fix unicorn/no-array-callback-reference

* style: add prefer-object-has-own

* style: warn unicorn/no-empty-file

* style: fix unicorn/prefer-number-properties

* style: fix no-useless-undefined again

* style: fix unicorn/numeric-separators-style

* style: disable unicorn/no-array-callback-reference

false postive with cheerio
2024-01-18 20:43:40 +08:00
Joshua Peek
ed8e195ba6 feat: support CIDR IP ranges in allowlist (#14243) 2024-01-15 12:35:34 +08:00
dependabot[bot]
8e49c5df65 chore(deps): bump @sentry/node from 7.88.0 to 7.89.0 (#14083)
* chore(deps): bump @sentry/node from 7.88.0 to 7.89.0

Bumps [@sentry/node](https://github.com/getsentry/sentry-javascript) from 7.88.0 to 7.89.0.
- [Release notes](https://github.com/getsentry/sentry-javascript/releases)
- [Changelog](https://github.com/getsentry/sentry-javascript/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/getsentry/sentry-javascript/compare/7.88.0...7.89.0)

---
updated-dependencies:
- dependency-name: "@sentry/node"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: fix pnpm install

* fix: replace deprecated `configureScope` in favor of `getCurrentScope()`

ref: b27c2367ac/MIGRATION.md

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-24 03:51:46 +08:00
Tony
3c8ccd948e perf(core): replace md5 cache key with xxhash64 (#13974)
* perf(core): replace md5 cache key with xxhash64

* test: add test case for cache TTL key
2023-12-07 00:58:39 +08:00
Tony
7da162041f fix(core): duplicated path if the error is thrown from parameter (#13967)
* fix(core): double namespace if the error is thrown from parameter

* test: fix test case
2023-12-06 08:00:00 +08:00
Tony
7dee6a82d4 fix(core): v2 route path should keep mounted in stats if error throws (#13965) 2023-12-06 02:11:36 +08:00
Henry Wang
3a5488acdc feat: Support RSS3 UMS output format (#13900)
* feat: support RSS3 UMS output

also optimized middleware/template

* fix: rss3_ums function name

* feat: handle current timestamp in UMS

* feat: add authors

* chore: update UMS type

* chore(deps-dev): bump @types/react from 18.2.37 to 18.2.38 in /website (#2249)

Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 18.2.37 to 18.2.38.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react)

---
updated-dependencies:
- dependency-name: "@types/react"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/markdown-it in /website (#2250)

Bumps [@types/markdown-it](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/markdown-it) from 13.0.6 to 13.0.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/markdown-it)

---
updated-dependencies:
- dependency-name: "@types/markdown-it"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/react-dom in /website (#2252)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.15 to 18.2.16.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps-dev): bump @types/react-dom in /website (#2255)

Bumps [@types/react-dom](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react-dom) from 18.2.16 to 18.2.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react-dom)

---
updated-dependencies:
- dependency-name: "@types/react-dom"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Update lib/middleware/template.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/middleware/template.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/utils/render.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/views/rss3-ums.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/views/rss3-ums.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update lib/utils/render.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* doc: update UMS related docs

* Update parameter.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* Update parameter.md

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: pull[bot] <39814207+pull[bot]@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-29 01:32:24 +08:00
zzturn
e594309e7e feat(parameter): Add summary by ChatGPT (#13611)
* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* feat: 添加使用 ChatGPT 进行总结的功能

* style: camelCase

---------
2023-11-06 22:36:24 +08:00
Henry Wang
d6056e2dbc feat!: allowlist & denylist (#13681)
* feat!: allowlist & denylist

* Update website/i18n/zh/docusaurus-plugin-content-docs/current/install/README.md

* Update website/i18n/zh/docusaurus-plugin-content-docs/current/install/README.md

* Update website/i18n/zh/docusaurus-plugin-content-docs/current/install/README.md

* Update website/docs/install/README.md

* Update website/docs/install/README.md

* Update website/docs/install/README.md

* Update website/docs/install/README.md

* Update website/docs/install/README.md

* chore: revert

---------
2023-11-03 21:21:17 +08:00
Summer⛱
90026020a8 fix(parameter): adjust to filter before limit. (#13682)
* fix(parameter): adjust to filter before limit.

* fix(parameter): add test.

* fix
2023-11-03 13:46:04 +08:00
JimenezLi
2c8f463630 fix(core): string-type categories only (#13590) 2023-10-24 21:35:42 +08:00
Tony
c0c6f7caff feat(parameter): use re2js instead (#13072)
* feat(parameter): use re2js instead

* fix: add back comment
2023-08-19 00:53:54 +08:00
DIYgod
7b65ba69bb feat: add docusaurus website (#13039) 2023-08-15 03:12:12 +01:00
Tony
ac90895a9f build: fix vercel build (#13006) 2023-08-12 15:54:49 +08:00
Tony
79eae1eb45 refactor: replace re2 with re2-wasm (#12998)
* refactor: replace re2 with re2-wasm

* refactor: remove migrated routes

* ci: remove foresight

https://github.com/runforesight
Foresight is no longer in service

* fix: add back removed wasm

chore: bump base OS image
2023-08-12 00:34:28 +08:00
Bryan
7eb6400f6c feat: add .debug.html (#12476)
* feat: add .debug.html

* Update lib/middleware/template.js

Co-authored-by: Tony <TonyRL@users.noreply.github.com>

* use regex to extract index

* add tests

* add docs

---------
2023-05-09 17:26:24 +08:00
dependabot[bot]
3a62de1cdc chore(deps): bump lru-cache from 8.0.5 to 9.1.1 (#12383)
* chore(deps): bump lru-cache from 8.0.5 to 9.1.1

Bumps [lru-cache](https://github.com/isaacs/node-lru-cache) from 8.0.5 to 9.1.1.
- [Release notes](https://github.com/isaacs/node-lru-cache/releases)
- [Changelog](https://github.com/isaacs/node-lru-cache/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-lru-cache/compare/v8.0.5...v9.1.1)

---
updated-dependencies:
- dependency-name: lru-cache
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: use named export

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-25 23:01:18 +08:00
DIYgod
c910c4d287 fix: brief parameter xss vulnerability 2023-02-28 10:52:32 +00:00
Tony
14c1647724 fix(parameter): tighter condition for fulltext mode (#11750) 2023-02-01 19:38:01 +08:00
DIYgod
b36dd844dd feat: add content_html for reply extra data 2023-02-01 09:42:30 +00:00
DIYgod
52678c9eef feat: generate quote content_html, telegram channel repost extra data 2023-01-30 22:00:07 +00:00
零小白
728da7f154 fix: author is not iterable (#11555)
Co-authored-by: xianjiantao <xianjiantao@bytedance.com>
2023-01-04 21:44:23 +08:00
Tony
d2ab8ab3c0 feat(core): json feed (#11494)
* feat(core): json feed

* docs: json feed description

* fix: remove extra comma if no elements exist after author

* test: json feed test

* feat: generate json feed without art-template

* test: fix coverage

* style: 4 spaces json

* docs: fix parameter
2023-01-02 21:35:36 +08:00
Tony
0513566d04 fix(core): fix category filtering (#11451) 2022-12-14 23:30:18 +08:00
Tony
30975dd20b chore(deps): replace @postlight/mercury-parser with @postlight/parser (#10862) 2022-09-23 03:25:56 +08:00
Tony
d553430312 fix(core): fulltext mode title (#10788) 2022-09-14 19:40:53 +08:00
Tony
878266c535 feat(core): true ua (#10761)
* feat(core): true ua

* test: skip mercury parser temporary
2022-09-12 01:13:38 +08:00
Charlie Jiang
655b899715 feat(core): 增加 sorted 参数来控制结果排序 (#10744)
* feat: 增加 `sorted` 参数来控制结果排序

* feat: 添加 `sorted` 参数的测试

重用了 `sort` 的代码和数据:是不是可以考虑将两者结合?
2022-09-09 00:11:18 +08:00
Tony
4877301f23 fix(core): throw URL cache key (#10497) 2022-08-16 21:38:05 +08:00
Tony
03117f4c50 feat(core): filter category (#10212) 2022-07-14 00:42:38 +08:00
NeverBehave
dc64debaf7 feat(core): regex engine naming and test suit (#10014)
* feat(core): regex engine config

* fix(docs): config naming

* filter-engine test naming
2022-06-23 04:38:52 +08:00
NeverBehave
e4478a366c feat(core): regex engine config (#10013) 2022-06-22 12:25:30 -07:00
Rongrong
1cf6925187 docs: correct misleading statements (#10002)
Signed-off-by: Rongrong <i@rong.moe>
2022-06-22 11:09:43 +02:00
DIYgod
5c41774414 fix: use re2, thank @Rongronggg9 2022-06-21 16:56:06 +01:00
NeverBehave
5db837d6dc feat(core): anti-hotlink experimental parameters (#9997)
Co-authored-by: Rongrong <i@rong.moe>
2022-06-20 18:41:16 -07:00
Rongrong
6a0d44348e fix(core/parameter): missing some tags handling (#9983)
Signed-off-by: Rongrong <i@rong.moe>
2022-06-18 06:45:03 -09:00
Tony
548395b4b4 fix(core): unnecessary redis io (#9875) 2022-06-02 21:33:24 +08:00
Rongrong
e1ee28267e fix(core): RequestInProgressError cache age (#9850)
* fix(core): RequestInProgressError cache age

Signed-off-by: Rongrong <i@rong.moe>

* fix: ci test

Signed-off-by: Rongrong <i@rong.moe>
2022-05-30 17:30:41 +08:00
TonyRL
ac43d15af0 chore: fix vercel git hash
docs: https://vercel.com/docs/concepts/git/vercel-for-github
2022-05-21 15:20:21 +00:00
Rongrong
2c4eab5e31 fix(core/parameter): absurd wrong path cache time (#9796)
Signed-off-by: Rongrong <i@rong.moe>
2022-05-21 21:44:45 +08:00
Rongrong
a5d74e521c feat(core/middleware/anti-hotlink): route matching (#9681)
* feat(core/middleware/anti-hotlink): route matching

Signed-off-by: Rongrong <i@rong.moe>

* fix(test): coverage

Signed-off-by: Rongrong <i@rong.moe>

* docs(install): fix mistaken config key

Signed-off-by: Rongrong <i@rong.moe>
2022-05-04 03:29:23 +08:00
Rongrong
616ad78c88 fix(core/utils/anti-hotlink): invalid HTML output (#9669)
Signed-off-by: Rongrong <i@rong.moe>
2022-05-01 04:14:07 +08:00
Rongrong
5b35471e39 fix(core): offending RFC4287 (#9441)
* fix(core): offending RFC4287

should not leave `<updated>` blank when `<published>` is not blank
these two fields MUST conform to the "date-time" production in RFC3339

Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>

* test(common-utils): complete tests

Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>

* test(template): restrict expected value of `pubDate`

Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-04-02 17:44:45 +08:00
Rongrong
501dff59d0 refactor(core): unified memory cache (#9395)
Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-03-28 22:55:29 +08:00
Tony
baeafb97a5 feat: git hash on error (#9373) 2022-03-24 01:10:47 +08:00
Rongrong
c48ca6bd5b fix(core): invalid feed fields (#9286)
Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-03-22 02:13:15 +08:00