Skip to content

[pull] master from diygod:master - #1

Open
pull[bot] wants to merge 6375 commits into
dudw:masterfrom
DIYgod:master
Open

pull[bot] wants to merge 6375 commits into
dudw:masterfrom
DIYgod:master

Conversation

@pull

@pull pull Bot commented Apr 2, 2024

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@vercel

vercel Bot commented Apr 2, 2024

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
rss-hub ❌ Failed (Inspect) May 1, 2024 11:45pm

@pull pull Bot added the ⤵️ pull label Apr 2, 2024
pseudoyu and others added 30 commits September 15, 2026 00:04
abc-tenpo only publishes an unqualified 賃料相場 figure, so it no longer
claims to be an average; RentBenchmarkExtra gains rent_per_tsubo_jpy for
that case and avg/median stay null unless the site labels them.
Add /tokyometro/ridership/:year? emitting one item per station and
fiscal year from 東京メトロ's 各駅の乗降人員ランキング (index.html =
latest, 2020.html … via the page's year tabs). Ranked and 直通連絡駅
tables are both read; the latter has no rank. ▲ in 前年比 is a decrease.

RidershipExtra (source, operator, station, line, fiscal_year,
daily_average 人/日, rank, yoy_pct, raw) lives in tokyometro/utils and
is shared by the other operators' ridership routes.
Add /tokyu/ridership/:year? emitting one item per station, line and
fiscal year from 東急電鉄's 駅別乗降人員・輸送人員 year pages (2014 …
latest, latest resolved from the index). 定期 / 定期外 / 計 / 前年比 /
previous-year cells are kept in raw; 世田谷線 is published as a single
全線 figure and is not a station, so it is skipped.
Add /odakyu/ridership emitting one item per station (小田原線 /
江ノ島線 / 多摩線) from 小田急電鉄's 駅別乗降人員・輸送人員ほか page,
which only publishes the current fiscal year (taken from the page's
データは…年度 note). 順位 and 増減率 come from the table as printed.
Add /keio/ridership emitting one item per station and year from
京王電鉄's 駅別 一日平均乗降人員 page, which prints the latest and the
previous fiscal year side by side (京王線 / 井の頭線). yoy_pct for the
latest year is computed from the two columns; 明大前's (乗換) transfer
row is kept in raw.note and the 全線計 row is skipped.
Share the CSV helpers across lg routes (lib/routes/lg/utils.ts) with UTF-8 / Shift_JIS sniffing, 和暦 date parsing and a common PermitExtra that now carries lat / lon when the publisher provides them. 台東区 reads the two newest 許可日順 monthly files linked from the 食品衛生営業施設一覧 page (CC BY via the 東京都 catalog).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Two newest 令和N年M月分 files from the 食品衛生許可施設一覧 page (CC BY 4.0); the publisher masks individuals' 屋号 / 所在地 with ※, which become null.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Two newest (RYYMMDD) files from the 食品関係施設情報の公開について page (CC BY 4.0).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Two newest 飲食店 新規 resources of the BODIK CKAN dataset 131105_food_business (CC BY 4.0), found via package_show.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
大阪市 食品営業許可施設一覧 CSV (CC BY 4.0, quarterly snapshot with 緯度経度) scraped from the city page because the file name carries its extraction date. No permit date exists in the data, so items carry no pubDate and are ordered by 指令番号 (年度-連番); 更新 rows are skipped. The 経度 / 緯度 columns are swapped in the current release and are ordered by value.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
世田谷区's page lists every monthly CSV link twice (once plainly, once
with target="_self"), so newestLinks returned the newest file twice and
slice(0, 2) fetched it twice while never reading the previous month:
the feed of 100 items carried only 50 distinct 許可番号.

- newestLinks: make hrefs unique, so the two newest *distinct* files
  are read (setagaya now yields 122 Aug + 99 Jul rows, all distinct)
- fetchSource: keep the first item per 許可番号 after the date-desc
  sort (i.e. the latest permit date), before slicing, for every ward

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…#23299)

Bumps the nix group with 1 update: [devenv](https://github.com/cachix/devenv).


Updates `devenv` from `fce7cf3` to `6e32383`
- [Release notes](https://github.com/cachix/devenv/releases)
- [Commits](cachix/devenv@fce7cf3...6e32383)

---
updated-dependencies:
- dependency-name: devenv
  dependency-version: 6e323832a55097670dbd8eed04b1e63efc841dfa
  dependency-type: direct:production
  dependency-group: nix
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- /jreast/ridership/:year? — JR東日本 各駅の乗車人員 (ベスト100 + 101位以下
  pages, boarding only). The site's ご利用にあたって reserves all
  reproduction; the clause is quoted in the route description.
- /toei/ridership — 都営地下鉄 各駅乗降人員 from the Tokyo open-data
  catalog CSVs (CC BY 4.0), one item per station and line.
- /jfnet/industry-report — 外食産業市場動向調査 monthly releases with
  PDF/Excel links; figures are not extracted (files only, terms).

The shared ridership _extra gains a required `measure` field
('boarding' | 'boarding_alighting'); tokyometro, tokyu, odakyu and
keio set 'boarding_alighting'.
* perf: speed up js parsing

* fix: drop parseScriptData for dongqiudi

* refactor: rename evaluate-script

* refactor: rename exports

* chore: move oxc-parser to dependencies
* fix(route/discuz): gate the user supplied forum link

The handler takes the whole trailing path as the URL to fetch
(lib/routes/discuz/discuz.ts:98) and passes it to ofetch without looking
at it (:112), so the route reaches whatever host the caller names,
including loopback and link local addresses on the deployment.

Other routes that take a user supplied domain are gated by
ALLOW_USER_SUPPLY_UNSAFE_DOMAIN, for example lib/routes/wordpress/index.ts:16
and lib/routes/hexo/fluid.ts:25. Apply the same gate here, declare it in
the route's requireConfig, and reuse the http(s) shape check from the
wordpress route.

* fix(route/yna): restrict lang to the documented languages

lang is interpolated as the leading label of the requested host
(lib/routes/yna/index.ts:59), so a value such as 127.0.0.1:8080%23 moves
the request to another host. Accept only the language codes the route
documents, plus the sp label the Spanish feed page in the description
uses, and reject everything else with InvalidParameterError.
The 自治体標準オープンデータ schema that the Tokyo wards and 大阪市 publish to
already carries 施設所在地_町字, 初回許可年月日, 許可満了日 and 廃業年月日, but
`_extra` dropped all four. A consumer therefore had to reach into `raw` and know
each publisher's own column spelling to tell an open business from a closed one.

Normalise them onto PermitExtra as `town`, `first_permit_date`, `expires_at` and
`closed_date`, reusing the existing isoDate helper so 和暦 (令和8年8月7日),
YYYY/M/D and YYYY-MM-DD all land as YYYY-MM-DD. A column a publisher omits
yields null, never 0 or an empty string.

大阪市 publishes none of 町字 / 初回許可日 / 廃業日, so only expires_at
populates there; its route description says so.
東京都統計年鑑 publishes 駅別乗降車人員 as a one-year total in 千人, not as the
一日平均 in 人/日 that the operators publish. Converting between the two would
mean a route doing arithmetic on published figures, which the shared contract
deliberately avoids.

Add an optional `annual_total` alongside `daily_average`, widen `unit` to
`'人/日' | '千人/年'` so an item says which figure it carries, and make
ridershipItem render whichever one is present. Both changes are additive: the
six existing routes keep `unit: '人/日'` and a daily average, so their payloads
are unchanged.
東京都統計年鑑 restates the per-station figures 私鉄各社 and the subway operators
report to 東京都, under CC BY 4.0. That makes it the only permissively licensed
per-station source for ゆりかもめ, りんかい線 and つくばエクスプレス, whose own
sites either publish no per-station table or forbid reuse outright.

Figures are one-year totals in 千人, so items carry `annual_total` with
`unit: '千人/年'` and leave `daily_average` null rather than dividing by 365. The
table also splits 乗車 and 降車; the item carries 乗車 and leaves 降車 verbatim in
`raw` instead of summing them. Both are deliberate: the route publishes what the
source publishes and never derives a figure.

The file interleaves rollup rows with station rows (a company total leaves 系統
and 駅 empty, a line total leaves 駅 empty, and 会社名「総数」 is the grand
total), so only rows naming a station are kept. マーク cannot be used to tell
them apart, since ◎ and ※ also appear on station rows.

The table number moves between editions (私鉄 was 4-12 in 令和6年 and 4-13 in
令和5年) and the dataset id is edition-specific, so both are resolved through the
catalog API by name instead of a fixed URL.
* fix(route): add input validation

* fix(route): more input validation

* fix(route): improve handling of publication date and category extraction
* feat(route): add jma

* fix(route): either daily or monthly
* feat(route/okayafrica): add music latest route

Co-Authored-By: Claude Code <noreply@anthropic.com>

* fix(route/okayafrica): drop redundant first() and trim() on byline

Co-Authored-By: Claude Code <noreply@anthropic.com>

---------

Co-authored-by: ashi-koki <274328227+ashi-koki@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
#23307)

Bumps the nix group with 1 update: [nixpkgs](https://github.com/NixOS/nixpkgs).


Updates `nixpkgs` from `8ce4ef6` to `eaad089`
- [Commits](NixOS/nixpkgs@8ce4ef6...eaad089)

---
updated-dependencies:
- dependency-name: nixpkgs
  dependency-version: eaad089433ca2bb662274377d33df3d0e51ef28b
  dependency-type: direct:production
  dependency-group: nix
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(route): add South Plus forum route

- /south-plus/forum/:fid? for PHPWind-based forum
- Cookie-based auth via SOUTHPLUS_COOKIE env var
- Configurable UA via SOUTHPLUS_UA (cookie-version binding)
- Full-text fetching with cache.tryGet
- p-map concurrency control (3 at a time)
- Category extraction from thread listing
- Fid reference table and cookie guide in description

* feat(south-plus): support PROXY_URI for cookie-IP binding, use config.trueUA as default

- Replace hardcoded Firefox 151 UA with config.trueUA to comply with guideline 36
- Use built-in proxy.dispatcher (PROXY_URI) for proxy support instead of custom env var
- Update documentation: F12 Network approach for cookie/UA extraction, PROXY_URI tip
- Fix markdown structure: close Cookie tip block before UA tip

* fix(south-plus): remove manual dispatcher to avoid assertion failure in CI

RSSHub globally overrides globalThis.fetch with proxy auto-injection
via request-rewriter. Passing dispatcher: null (when PROXY_URI is unset)
triggers undici internal assert(dispatcher) failure in GitHub Actions.

* Update lib/routes/south-plus/forum.ts

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

* fix(south-plus): address PR review comments

- Use ofetch instead of native fetch
- Simplify thread list selector per review suggestion
- Only update author/pubDate from detail page when content is found
- Move config block to correct alphabetical position

* fix(south-plus): do not fall back to config.trueUA for User-Agent

When SOUTHPLUS_UA is not configured, omit the User-Agent header
entirely to let the request-rewriter generate a random browser UA.
config.trueUA (RSSHub/1.0) is a crawler UA and may cause 403 errors
with strict WAFs.

Closes review comment #7 in PR #22186.

* refactor(south-plus): remove redundant list selector indexing

* fix(south-plus): type thread items for detail enrichment

* refactor(south-plus): normalize route limit parsing

---------
* feat(route/mikiki): add mikiki latest articles route

Co-Authored-By: Claude Code <noreply@anthropic.com>

* fix(route/mikiki): normalize pubDate with parseDate

Co-Authored-By: Claude Code <noreply@anthropic.com>

* fix(route/mikiki): drop redundant responseType option

Co-Authored-By: Claude Code <noreply@anthropic.com>

---------

Co-authored-by: ashi-koki <274328227+ashi-koki@users.noreply.github.com>
Co-authored-by: Claude Code <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.