Commit Graph

341 Commits

Author SHA1 Message Date
JimenezLi 690b06e680
fix(core): buffer responseType (#15083) 2024-04-03 23:01:02 +08:00
JimenezLi 3d3286db6d
fix(core): fix Git Hash unknown (#15041)
* fix: replace git-rev-sync with node function

* fix: replace git-rev-sync in routes-deprecated
2024-04-02 01:28:35 +08:00
DIYgod bc2fd88abf
test: longger puppeteer timeout 2024-04-02 01:26:23 +08:00
DIYgod 39f8eeb1fc
test: add ofetch tests 2024-04-01 21:00:32 +08:00
DIYgod bf4e5dd78f
test: fix caces 2024-03-31 23:13:22 +08:00
DIYgod f7048d4c24
fix: ignore url parsing error 2024-03-31 02:45:40 +08:00
DIYgod 8c50e2f96f
test: request-rewriter 2024-03-31 02:28:58 +08:00
DIYgod d83c951d8c
fix: proxy auth 2024-03-31 02:28:26 +08:00
DIYgod 59631b2e9b
test: request-rewriter headers 2024-03-30 18:30:41 +08:00
DIYgod bec0ba0705
test: request headers 2024-03-30 18:29:38 +08:00
DIYgod a828b3dd1c
feat: request rewriter 2024-03-30 18:21:14 +08:00
DIYgod 176e773013
fix: setting dispatcher in options 2024-03-28 19:39:29 +08:00
DIYgod 4287da8e9c
Merge remote-tracking branch 'origin/master' into feature/ofetch 2024-03-28 03:11:10 +08:00
DIYgod 759c03cd23
feat: intercept undici and use fetch dispatcher 2024-03-28 02:45:08 +08:00
DIYgod 23104cd1f6
feat: use undici 2024-03-28 02:42:24 +08:00
DIYgod 2a366ef56d
test: rss-parser test 2024-03-27 16:18:37 +08:00
DIYgod a87ec36450
test: got test 2024-03-27 16:15:39 +08:00
DIYgod bcd5f6ff8b
test: rand-user-agent test 2024-03-27 15:37:51 +08:00
DIYgod 3016a2f44f
test: fix wechat-mp test 2024-03-27 14:53:43 +08:00
DIYgod 760f48b8cf
test: fix common-config test 2024-03-27 14:49:43 +08:00
DIYgod 8c0534393f
feat: use ofetch in parameter common-config wechat-mp 2024-03-27 14:40:42 +08:00
Tony 6e53d7263c
fix(core): accept header not working (#14961) 2024-03-26 03:02:47 +08:00
DIYgod 07c891caa6
feat: remove timeout test 2024-03-26 01:15:06 +08:00
DIYgod d190d9d700
test: ofetch got 2024-03-26 00:33:36 +08:00
DIYgod 81bf135e96
fix: ofetch searchParams and form 2024-03-25 02:00:47 +08:00
DIYgod 9f7de5ab9a
Merge remote-tracking branch 'origin/master' into feature/ofetch 2024-03-24 23:30:19 +08:00
DIYgod f837345f36
fix: remove require 2024-03-24 21:20:18 +08:00
DIYgod e5a9fd46ee
feat: use ofetch imitate got 2024-03-23 02:03:55 +08:00
DIYgod 2789ed96e5
chore: upgrade got (#14913)
* chore: upgrade got

* fix: new got
2024-03-22 22:42:29 +08:00
DIYgod 40350abcbb
feat: use jsx (#14863)
* feat: render rss using jsx

* fix: error page response header

* feat: render atom using jsx

* feat: export art

* feat: use jsxRenderer

* chore: upgrade hono
2024-03-21 00:28:11 +08:00
SettingDust e76e0ab547
fix(modrinth): fix the path & adapt to typescript (#14765) 2024-03-12 14:33:34 +00:00
DIYgod d3a8747711
feat: recover google chrome extension 2024-03-06 18:17:25 +08:00
DIYgod 1b1915edca
fix: custom got response type 2024-03-05 23:04:28 +08:00
Tony d17ebe81d0
feat(index): add back hot stats (#14664) 2024-03-05 13:55:39 +08:00
TonyRL eea1607fca fix: add type exports for got 2024-03-04 16:21:13 +00:00
Raven-tu be1620074f
feat: expose server URLs in the CLI (#14646)
* feat: expose server URL in the CLI

* style: use arraw function

---------
2024-03-04 22:54:40 +08:00
DIYgod dee7da3105
feat: pure esm and typescript routes 2024-03-04 00:17:16 +08:00
DIYgod 38e42156a0
feat: replace jest with vitest 2024-03-03 18:57:07 +08:00
DIYgod 3bfdf9427c
feat: new home page 2024-03-03 17:36:08 +08:00
DIYgod 0ab8996f40
feat: remove allowlist and denylist 2024-03-02 21:35:40 +08:00
DIYgod 91e6fe3d1a
feat: remove unclean require in core 2024-03-02 03:50:42 +08:00
DIYgod d88620c39c
feat: update esm dependencies 2024-03-01 22:58:04 +08:00
DIYgod 68a99bf4d9
feat: logger middleware 2024-03-01 21:42:51 +08:00
DIYgod 398be0f592
feat: rename routes dir - 1/2 2024-03-01 01:21:28 +08:00
DIYgod df4433789b
feat: v3 migration - 11/n 2024-02-29 02:15:07 +08:00
DIYgod e5397f9e3e
feat: export common-utils 2024-02-28 19:34:15 +08:00
DIYgod 85ad31e260
feat: render export 2024-02-28 14:58:50 +08:00
DIYgod 5645b8466a
test: mock client ip 2024-02-26 22:38:18 +08:00
DIYgod 373b188e0c
test: timezone 2024-02-26 22:05:03 +08:00
DIYgod a6b7b17131
feat: use @fullerstack/nax-ipware and add helpers test 2024-02-26 21:30:38 +08:00
DIYgod 719af9073c
test: middleware cache 2024-02-26 17:32:06 +08:00
DIYgod 5ea8712345
test: utils cache 2024-02-26 17:05:33 +08:00
DIYgod d1a4e19c62
fix: typescript build errors 2024-02-25 23:43:34 +08:00
DIYgod b8a2301590
test: pac-proxy and unify-proxy 2024-02-25 17:16:10 +08:00
DIYgod a153d4cbcc
test: valid-host 2024-02-25 02:10:10 +08:00
DIYgod 01e142ccaf
test: wechat-mp 2024-02-25 02:08:35 +08:00
DIYgod bdf8ace129
feat: typescript utils 2024-02-25 01:48:56 +08:00
DIYgod d022fabda6
test: puppeteer-utils 2024-02-25 01:42:39 +08:00
DIYgod 131c7d4b79
feat: remove utils/parse-date and utils/date 2024-02-25 01:25:55 +08:00
DIYgod 1a8160a224
test: common-config 2024-02-25 00:55:51 +08:00
DIYgod 31140d0b59
test: wait 2024-02-25 00:34:52 +08:00
DIYgod 33861197f0
test: rss-parser 2024-02-25 00:33:10 +08:00
DIYgod 031af3f755
test: request-wrapper 2024-02-25 00:24:49 +08:00
DIYgod db59d44617
test: rand-user-agent 2024-02-24 23:45:45 +08:00
DIYgod cf09a77e25
test: parse-date 2024-02-24 23:40:23 +08:00
DIYgod cd0043b774
test: md5 2024-02-24 23:14:55 +08:00
DIYgod a2686197eb
test: got 2024-02-24 23:12:37 +08:00
DIYgod cb17e72f31
test: common-utils 2024-02-24 22:30:29 +08:00
DIYgod 0d606a06c2
test: move test files to lib 2024-02-21 19:46:18 +08:00
DIYgod 33ec0fbbb4
fix: use require for proxy-chain 2024-01-31 02:43:05 +08:00
DIYgod 2e7bd66940
test: puppeteer 2024-01-31 02:14:48 +08:00
DIYgod 174752fef5
refactor: format 2024-01-29 23:28:17 +08:00
DIYgod 493cdc19ba
chore: recover format 2024-01-29 23:28:03 +08:00
DIYgod 498af241af
feat: cache init 2024-01-29 22:39:04 +08:00
DIYgod d5e38c8f5d
feat: use npm directory-import 2024-01-25 13:29:00 +08:00
DIYgod 2550b6ecf6
feat: request wrapper 2024-01-21 23:34:25 +08:00
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 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
JimenezLi 0e70524248
feat(proxy): add PAC script support (#14218)
* feat(proxy): add PAC script support

* fix pnpm fail

* fix coverage

* fix coverage final

* update docs
2024-01-13 02:35:56 +00:00
Tony 1f90b69973
fix: adjust http log level (#14114)
* feat: log redirect

* fix: change puppeteer/proxy/redirect/got log level to `http`

ref: https://github.com/winstonjs/winston#logging-levels (npm levels)
2023-12-26 02:23:33 +08:00
DIYgod a63c86a049
feat: remove notOperational routes - design 2023-12-20 00:35:56 +08:00
Tony a1644ac4ca
feat: title case following The Chicago Manual of Style (#14048) 2023-12-15 22:37:12 +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
Tony 744ae49151
chore(deps): swap `rand-user-agent` package (#13441) 2023-09-30 00:38:00 +08:00
Tony eb1a40aa88
chore: fix random ua generation (#13356) 2023-09-22 03:32:48 +08:00
JimenezLi 121763bb6d
feat(core): add logger timestamp (#13165)
* feat(core): add logger timestamp

* Update website/docs/install/README.md

---------
2023-08-31 00:18:48 +08:00
DIYgod 27eda52681
fix: logger.debug 2023-07-24 03:11:26 +01:00
DIYgod f1660e9723
feat: expand the scope of retries and set proxy strategy 2023-07-24 02:38:24 +01:00
DIYgod 030043347a
feat: exclude some requests for reverse proxy 2023-07-24 01:57:22 +01:00
DIYgod 3da47b69ed
fix: reverse proxy fails for some requests 2023-07-24 01:04:46 +01:00
DIYgod 541cae4397
test: fix empty request error and remove node 16 support 2023-07-23 21:41:12 +01:00
DIYgod cd6b5e0f0b
feat: bypass reverse proxy for requests with cookies 2023-07-23 21:28:00 +01:00
DIYgod d7224338a5
test: fix empty request error 2023-07-23 20:44:57 +01:00
github-actions[bot] 872ff0c538 style: auto format 2023-07-23 19:30:33 +00:00
DIYgod 3a5d293b7f
feat: support reverse proxy 2023-07-23 20:28:38 +01:00
Tony 1de2457216
fix(route): wxkol link (#12799)
* fix(route): wxkol link

* fix(core): fix wechat-mp date parsing

`var ct = "timestamp"` can appear after `var ct=function()`
2023-07-15 02:28:15 +08:00
TonyRL c3be79d888 chore: revert ua changes 2023-06-16 17:21:59 +00:00
github-actions[bot] 919d93c384 style: auto format 2023-06-16 17:05:30 +00:00
TonyRL 22eec4b834 fix: prevent nft removing ua db 2023-06-16 17:03:05 +00:00
Tony 84ee153f81
chore: update deps (#12675)
* chore: update deps

* chore: extend docker build test timeout
2023-06-16 23:15:22 +08:00
dependabot[bot] b982947a60
chore(deps): bump https-proxy-agent from 5.0.1 to 6.1.0 and socks-proxy-agent from 7.0.0 to 8.0.1 (#12445)
* chore(deps): bump https-proxy-agent from 5.0.1 to 6.0.0

Bumps [https-proxy-agent](https://github.com/TooTallNate/proxy-agents/tree/HEAD/packages/https-proxy-agent) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/TooTallNate/proxy-agents/releases)
- [Changelog](https://github.com/TooTallNate/proxy-agents/blob/main/packages/https-proxy-agent/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/proxy-agents/commits/HEAD/packages/https-proxy-agent)

---
updated-dependencies:
- dependency-name: https-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-major
...

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

* chore(deps): bump https-proxy-agent from 5.0.1 to 6.0.0

* test: update test to use WHATWG URL API

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-07 00:25:12 +08:00
Tony a0ea328013
build: fix pnpm pptr postinstall (#12450)
* chore: fix chrome not found in jest

* chore: explicitly require deps for stealth plugin
2023-05-05 23:58:29 +08:00
dependabot[bot] 3ff763ee8d
chore(deps): bump puppeteer from 19.8.3 to 19.11.0 (#12385)
* chore(deps): bump puppeteer from 19.8.3 to 19.11.0

Bumps [puppeteer](https://github.com/puppeteer/puppeteer) from 19.8.3 to 19.11.0.
- [Release notes](https://github.com/puppeteer/puppeteer/releases)
- [Changelog](https://github.com/puppeteer/puppeteer/blob/main/release-please-config.json)
- [Commits](https://github.com/puppeteer/puppeteer/compare/puppeteer-v19.8.3...puppeteer-v19.11.0)

---
updated-dependencies:
- dependency-name: puppeteer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* test: fix puppeteer exitCode

* feat: use new headless chrome

https://developer.chrome.com/articles/new-headless/

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-26 03:14:45 +08:00
DIYgod f60744241c
feat: remove torrent search function 2023-03-18 21:50:26 +00:00
Tony a9d6957e60
feat(route): wxkol (#12010)
* feat(route): wxkol

* fix: use async pool
2023-03-03 01:59:45 +08:00
Tony e348914bf5
refactor: move json feed rendering to separated module (#11938) 2023-02-22 20:47:04 +09:00
Tony 589ddb3a43
refactor(eslint): add back no-return-await (#11877)
* chore: add back no-return-await

* chore: fix action warning

* chore: fix all no-return-await
2023-02-16 04:30:05 +08:00
Tony a66cbcf6ee
feat(config)!: unsafe domain toggle (#11588) 2023-01-10 11:45:05 +00:00
DIYgod ab2f61824d
feat: output quote data for twitter and jike 2023-01-09 16:25:26 +00: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
Rongrong d60d89ea87
feat(core): unify proxy; optimize request-wrapper (#11472)
* feat(core): unify proxy; optimize request-wrapper

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

* Fix DeepScan issue

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

* Simplify protocol existence judgment

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

* chore: regenerate yarn.lock

Signed-off-by: Rongrong <i@rong.moe>
2022-12-23 01:13:01 +08:00
Rongrong 9264d7afbe
feat(core/utils/puppeteer-utils): Cookie utils (#11471)
Signed-off-by: Rongrong <i@rong.moe>

Signed-off-by: Rongrong <i@rong.moe>
2022-12-20 19:51:33 +08:00
Rongrong 1381377e91
fix(core/utils/puppeteer): proxy-chain error (#11470)
HTTPS/SOCKS proxy is not supported by proxy-chain and will cause an
error unconditionally. If an HTTPS/SOCKS proxy does not need
authentication, explicitly bypassing proxy-chain is a must. If it does
need, making a warning and continuing without proxy seems to be the best
choice.

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

Signed-off-by: Rongrong <i@rong.moe>
2022-12-19 23:39:11 +08:00
Tony 6316ff1a4f
feat(route): freewechat (#11419) 2022-12-09 05:25:44 +08:00
Derek c07c960957
fix: restore /hrbeu/ugs/news.js (#11224)
* fix: restore /heu/ugs/news.js

* Update lib/v2/heu/ugs/news.js

* Update lib/v2/heu/ugs/news.js

* Update lib/v2/heu/ugs/news.js

* feat(require): update require

* refactor: mise fixes

* rename namespace to hrbeu
- hrbeu.edu.cn is the primary domain name as it's where the contact us mail hosted on

* increase code readability
- use template literals over .concat()
- use .includes() to check the existence of sth

* remove fake publish time

* remove duplicated title in description

* fix: fetch article from wechat mp

* fix: codeql
2022-11-09 22:31:19 +08:00
evnydd0sf fdc59d2d65
feat: 增加设计学院研创、后浪模块;支持获取微信文章内容;修复重复条目bug (#10994)
* 南京艺术学院研究生院

* Update lib/v2/nua/gra.js

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

* Update lib/v2/nua/gra.js

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

* Update lib/v2/nua/gra.js

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

* Update lib/v2/nua/radar.js

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

* Update lib/v2/nua/radar.js

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

* Update lib/v2/nua/gra.js

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

* Update lib/v2/nua/gra.js

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

* Update docs/university.md

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

* Update docs/university.md

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

* 优化代码

* 优化

* update

* 补充南京艺术学院

* fix

* fix

* fix

* 更新南京艺术学院数据源。

* 更新南京艺术学院数据源。

* fix

* fix

* update

* fix doc

* fix

* Update lib/v2/nua/radar.js

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

* fix: yarn.lock permission

* style: auto format

* fix double fetch same page

* Update dc.js

* Revert "Merge branch 'master' of https://github.com/evnydd0sf/RSS-Hub"

This reverts commit dd56f9469b5b2462d482c202ae798b3f159f243e, reversing
changes made to d900050eb8271d0f566070eb58c2c9d87ccd6e53.

* fix

* Revert "fix"

This reverts commit 820ff88120d4fb4fc2bdcd8ee52229d1bfb83c17.

* Revert "Revert "Merge branch 'master' of https://github.com/evnydd0sf/RSS-Hub""

This reverts commit ce67e0b53c231a8a8527b7407211aff1ab7e50d4.

* 增加微信公众号解析引导。

* 修正url

* 适配微信公众号内容。

* 适配站内文章、微信公号号文章和未知文章引导。

* Update wechat-mp.js

* fix fetch wechat bug

* 增加设计学院研创、后浪模块

* bugfix

* Revert "Merge branch 'DIYgod:master' into master"

This reverts commit 102cb48db6990fd5a699d2e46bf05d58be2e5ba5, reversing
changes made to ccac4be5180ff7c2d81763efa7c09cf0b752ddc4.

* Update university.md

* Revert "Revert "Merge branch 'DIYgod:master' into master""

This reverts commit c8841910b83ec4a07e0d92d2d65feb192af9e5e3.

* fix fetch listname

* fix: switch default case
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2022-10-05 21:32:49 +08:00
Tony 6251a2dc02
fix(core): parse date utils (#10789)
* fix(core): parse date utils

* fix: regex
2022-09-14 21:59:32 +08:00
DIYgod 9329a44c80
feat(core): support proxy config for pupperteer (#10714)
* feat: support proxy config for pupperteer

* test: add puppeteer proxy detection

* fix: package.json

* test: fix regex
2022-09-07 00:07:04 +08:00
Tony 9fa248c324
fix(route): nmpa feed items on 3rd party site (#10146)
* fix(route): nmpa feed items on 3rd party site

* fix: regex unescaped .
2022-07-06 00:46:05 +08:00
Atlas Quan bd80574f76
feat(route): add slowmist news (#10044)
* feat(route): add slowmist news

* feat(utils): remove useless ul for code section

* docs: add slowmist news route docs

* docs(quick-start): new router under /lib/v2

* test(utils): add test fixArticleContent for new wechat-mp code

* feat(router): update radar source of slowmist
2022-07-04 23:44:58 +08:00
Tony 2f26479fc9
feat(route): sspai series update (#9901) 2022-06-05 23:59:10 +08:00
github-actions[bot] 5bc8be9ac5 style: auto format 2022-06-05 14:42:33 +00:00
Tony 450e522167
feat(utils): decode cf protected email string (#9900)
* feat(utils): decode cf protected email string

* Update cf-email.js
2022-06-05 22:40:57 +08:00
Tony a5fd8de30e
fix(docker): puppeteer stealth not working in docker (#9896) 2022-06-05 17:09:34 +08:00
MisLink df6f4caf8b
feat(route): add 北京大学国家发展研究院 - 观点 (#9804)
* feat(route): add 北京大学国家发展研究院 - 观点

Signed-off-by: MisLink <gjq.uoiai@outlook.com>

* Fix https issue

Signed-off-by: MisLink <gjq.uoiai@outlook.com>

* fetch full text from wechat-mp and pku news

Signed-off-by: MisLink <gjq.uoiai@outlook.com>

* Fix ci

Signed-off-by: MisLink <gjq.uoiai@outlook.com>

* refactor: sort new route
2022-05-27 19:12:04 +08:00
Tony 0f31bfa8b9
fix(utils): parse relative date with meridiem (#9775)
* fix(utils): parse relative date with meridiem

* fix: use regex
2022-05-17 20:21:47 +08:00
Rongrong 23fcb6bc5a
feat(core/utils/request-wrapper): request logging (#9691)
Signed-off-by: Rongrong <i@rong.moe>
2022-05-04 12:36:48 +10:00
Tony 0b544e1395
feat(utils): puppeteer-extra-plugin-stealth (#9676) 2022-05-03 01:17:17 +08:00
Rongrong 7a6be9a229
feat(core): customizable Chromium executable path (#9670)
* feat(core): customizable Chromium executable path

also build Chromium-bundled Docker image for arm/arm64

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

* chore: fix typo

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

* chore(CI/test): using build matrix

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

* docs(install): fix punctuation

Signed-off-by: Rongrong <i@rong.moe>
2022-05-01 21:00:29 +08:00
Tony 34b58ebc64
fix(utils): request without hostname (#9649) 2022-04-28 19:35:31 +08:00
任平生 9d9926d0bf
fix(utils): 修复抓取微信已删除文章时遇到的报错 (#9589)
* fix(utils): 支持微信公众号单图片文章抓取

* fix(utils): 支持输出微信公众号转载文章阅读原文链接

* fix(utils): 修复抓取微信已删除文章时遇到的报错

* refactor: migrate to v2

Co-authored-by: blankyu(于海洋) <blankyu@tencent.com>
2022-04-21 21:40:16 +08:00
dependabot[bot] dd4a216648
chore(deps): bump socks-proxy-agent from 6.1.1 to 6.2.0 (#9572)
* chore(deps): bump socks-proxy-agent from 6.1.1 to 6.2.0

Bumps [socks-proxy-agent](https://github.com/TooTallNate/node-socks-proxy-agent) from 6.1.1 to 6.2.0.
- [Release notes](https://github.com/TooTallNate/node-socks-proxy-agent/releases)
- [Changelog](https://github.com/TooTallNate/node-socks-proxy-agent/blob/master/CHANGELOG.md)
- [Commits](https://github.com/TooTallNate/node-socks-proxy-agent/compare/v6.1.1...v6.2.0)

---
updated-dependencies:
- dependency-name: socks-proxy-agent
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

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

* fix: use dot notation

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TonyRL <TonyRL@users.noreply.github.com>
2022-04-21 03:54:53 +08:00
Rongrong 0522c63d5f
fix(core/utils): invalid request header `Server` (#9582)
Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-04-20 22:32:46 +08:00
任平生 f3e069d399
fix(utils): 支持微信公众号单图片文章抓取; 增加输出阅读原文链接 (#9557)
* fix(utils): 支持微信公众号单图片文章抓取

* fix(utils): 支持输出微信公众号转载文章阅读原文链接
2022-04-19 01:29:45 +08:00
Levi Zim 958be6266e
feat(route): 山东大学(威海)新闻网 (#9537)
* feat(sduwh): add extractors.

* feat(route): add route for 山东大学(威海)新闻网

* docs: for route sduwh/news

* docs: for route sduwh/news

(cherry picked from commit 831830167a39a658520dd9a46b375fdbbcb5d611)

* feat(radar): for route 山东大学(威海)新闻网

* refactor: change `got.get` to `got`.

* refactor: prefer `parseDate()` to `new Date()`

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

* fix: incomplete URL substring sanitization.

Make CodeQL happy.

* fix(radar): fix target field.

* fix: change route /sduwh to /sdu/wh

* fix: remove superfluous slash character in url.

* feat: look for exact date first.

* feat: extract exact date from news extractor.

* feat: extract exact date from view extractor.

* feat: extractor for www.sdrj.sdu.edu.cn

* refactor: semantic separation of sduwh with sdu

* feat(radar): more accurate name

* docs: update documentation

* refactor: migrate to v2

* refactor: fix deprecated url.resolve

* fix: update docs url

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

* fix: sdu not working routes

* fix: accurate `ctx.state.data.url`

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

* fix: better error handling for extractors.

* fix: timezone

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

* fix: better error handling.

Co-authored-by: Tony <TonyRL@users.noreply.github.com>
2022-04-17 00:01:39 +08:00
任平生 eb467afae1
fix(utils): 支持将微信公众号转载文章的正文抓取回来 (#9534)
* feat: 修正日期时间匹配规则、移除一些不必要评论元素

* fix(route)(fortunechina): 修正财富中文网1、双语文章中文内容重复问题;2、移除 kol 大头像

* fix(route)(wechat): 支持将微信公众号转载文章的正文抓取回来
2022-04-15 19:23:09 +08:00
Tony bafb3534e1
feat(utils): random user agent (#9449)
* feat(utils): random ua

* chore: bump rand-user-agent to 1.0.58(no more deps)
2022-04-12 17:51:07 +08:00
Ethan Shen a25fd4b67f
fix(utils): wrong date with same weekday in parse-date (#9506) 2022-04-10 23:40:35 +08:00
Chenxing Luo ef94bcde8e
feat(route): add two blogs: Stratechery & Miris Whispers (#9496)
* Add two blogs

* fix(utils): add parseDate timezone common-config

* Update lib/v2/stratechery/index.js

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

* Update docs/blog.md

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

* Update docs/en/blog.md

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

* Update lib/v2/miris/blog.js
2022-04-08 23:48:28 +08:00
Rongrong 74e1f88a32
feat(core)(utils/wechat-mp): normalize URL (#9497)
Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-04-08 18:42:52 +08:00
Rongrong a79cc20ec1
feat(utils): add utils for WeChat MP (#9487)
Motivation:
There are multiple routes that need to fetch articles from WeChat MP.
However, letting them fetch articles by themselves could potentially
lead to cache key collisions. Even if cache key collisions do not occur,
un-normalized URL could potentially lead to duplicated requests.
What's more, articles from WeChat MP have weird formats and need to be
fixed. Creating a universal function to do this work can create some
ease for new route contributors.

Note:
In order to make this PR atomic as much as possible, I did not touch
those broken routes. Once this PR is merged, I will try to fix them.

Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-04-07 21:46:15 +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 95db3b4e99
fix(core): torrent searching error (#9407)
Signed-off-by: Rongrong <15956627+Rongronggg9@users.noreply.github.com>
2022-03-29 21:12:16 +08:00
Tony cd151f45ab
fix(utils): parseDate custom format not working 2022-03-28 22:25:40 +08:00
Ethan Shen a3396029ec
fix(utils): wrong last weekday for relative date (#9397) 2022-03-27 23:39:44 +08:00
Ethan Shen e42bdf3d97
fix(utils): typo in parse-date (#9391)
* fix(utils): typo in parse-date

* fix: add `后日`
2022-03-26 19:44:27 +08:00
Ethan Shen d5648b37ee
fix(utils): parse relative dates with multiple time units (#9365)
* fix(utils): parse relative dates with multiple time units

* docs: remove warning

* fix: add more characters to match

* fix: rename to parse-date
2022-03-26 16:45:42 +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