- Re-add
/docs
to prod environment - Built-in user-agent pool
- Revert to built-in
HttpService
- Fix wrong proxy server format
- Add
GET /v1/renderer/ssr
route - Add
POST /v1/renderer/ssr
route - Add quota handling mechanism
- Forward response errors
- (BREAKING) Replace
headers: Record<string, string>
option withforwardHeaders: boolean
one in DTOs - (BREAKING) Replace
httpProxy: HttpProxy
option withhttpProxy: boolean
one in DTOs - Replace dotenv-flow with @nestjs/config
- Disable domain blocking by default
- (BREAKING) Remove
/
and/docs
routes from prod environment - Remove Saasify
- Add
GET /v1/renderer/csr
- Request validation
- (BREAKING) API version is prefix, not suffix anymore
- Increase headless browser timeout to 30s
- Add
POST /renderer/csr
route - Add
ScrapeCommandDto.metadata: boolean
option to auto extract metadata and article content - Add
InputTarget.multiple: boolean
option to scrape all elements matched by the provided CSS selector - Add domain blocking feature
- Support HTTP proxy for CSR
- API versioning
- Rename project to Sponge
- Some internal architectural changes
- Remove default HTML target when
ScrapeCommandDto.targets
is not provided or empty - Remove meaningless routes and redirect
GET /
toGET /docs
- Fix @nestjs/swagger not recognize boolean type
- Add
GET /
route - Split
POST /scraper
intoPOST /scraper/csr
andPOST /scraper/ssr
; removeScrapeCommandDto.csr
option - Support passing custom request headers
- Support passing HTTP proxy (SSR only for now)
- Set 10s as the default timeout when fetching pages
- Many internal improvements
- Fix browsers won't start inside Docker
- Make
ScrapeCommandDto.csr
option actually work by supporting SSR-only mode using JSDom - Add
InputTarget.attribute: string
option to get the target's attribute instead of text content - Add
TargetType.Html
- If
ScrapeCommandDto.targets
is not provided or empty, return a single target with its value is the whole HTML - Add Docker support
- Fix @nestjs/swagger not recognize complex types