Node >= 18 or Bun
In theory, the entry src/app.ts
can be used to deploy to various serverless platforms but may need some changes. See Hono's document.
PORT
Optional. Default is8080
.PROTOCOL
Optional. Specify the protocol of example URLs on index page. It may be useful when you are using a HTTPS CDN, for examplehttps:
.HOST
Optional. Specify the host of example URLs on index page. Can contain port number.USER_AGENT
Optional. User-Agent header for Pixiv request. If not provided, the default UA of fetch will be used. Normally, it's OK.HIDE_INDEX
Optional. If you don't want to show a usage help on index, set this to any non-null value.PIXIV_WEB_COOKIE
Pixiv website cookie, only the PHPSESSID is required. At least one ofPIXIV_WEB_COOKIE
andPIXIV_CLIENT_REFRESH_TOKEN
need to be set.PIXIV_CLIENT_REFRESH_TOKEN
You can provide a Pixiv client refresh token to allow it to access the Pixiv client api. In this case, it is recommended to deploy the service in a stateful container. It is not recommended to deploy in serverless, otherwise it may affect your pixiv account.
You can use any packet capturing tool to grab from the Pixiv mobile application, or log in using the script provided by this project.
Here is how to use the login script:
- Node.js is required. Clone this repository.
- Run
npm i
to install dependencies, then runnpm run pixiv:login
to start the login script. - Open the login URL, but don't log in.
- Open browser developer tools F12, switch to the "Network" tab.
- Log in, and finally you will get a blank page.
- Find the request with the word "login" at the bottom of the network request list.
- Switch to the "Payload" tab on right panel, then copy the code.
- Paste back into the command line, press Enter.
- The refresh token should be printed.