.forgejo/issue_template | ||
.woodpecker | ||
assets | ||
audit | ||
config | ||
core | ||
doc | ||
i18n | ||
server | ||
test | ||
.env.example | ||
.gitignore | ||
build.sh | ||
Caddyfile | ||
compose.stack.yaml | ||
compose.testing.yaml | ||
compose.yaml | ||
crowdin.yml | ||
default.vcl | ||
Dockerfile | ||
Dockerfile.testing | ||
go.mod | ||
go.sum | ||
LICENSE | ||
main.go | ||
mkdocs.yml | ||
README.md | ||
semgrep.yml | ||
staticcheck.conf |
PixivFE
A open source alternative frontend for Pixiv.
Notice: PixivFE now has a public room on Matrix, join here!
Questions? Feedback? You can PM me or join our room on Matrix! You can also see the Known quirks page to check if your issue has a known solution.
You can keep track of this project's development using the Roadmap.
Features
- Lightweight - both the front and back
- Privacy-first - the server will do the work for you
- No bloat - we only serve HTML, CSS and minimal JS code
- Open source - you can trust me!
Development
Use our build tool: ./build.sh help
.
Here are the build prerequisites. You may only install some of them.
Name | What for | Required? | Recommended way to install |
---|---|---|---|
Go | To build PixivFE from source | Yes | Use system package manager (go ) |
Sass | To build CSS stylesheets from SCSS. Will be run by PixivFE in development mode | No, unless you want to modify the SCSS files | Use system package manager (dart-sass ), or see below |
jq | To extract i18n strings | No, unless you want to modify the source code or build translation files | Use system package manager (jq ) |
semgrep | To extract i18n strings and scan the source code for errors | No, unless you want to modify the source code or build translation files | See official instructions |
Crowdin CLI | To upload and download i18n strings. | No, unless you are a core developer | See our documentation |
To install Dart Sass, you can choose any of the following methods.
- use system package manager (usually called
dart-sass
) - download executable from the official release page
pnpm i -g sass
Then, run the project:
# Clone the PixivFE repository
git clone https://codeberg.org/VnPower/PixivFE.git && cd PixivFE
# Run PixivFE in development mode (styles and templates reload automatically)
PIXIVFE_DEV=1 <other_environment_variables> ./build.sh run
# Run PixivFE normally.
# Translation files will not be built unless `jq` and `semgrep` is available.
# If this command fails because of faulty translation files, you may have to
# install `jq` and `semgrep` and run this command again.
<other_environment_variables> ./build.sh run
Hosting PixivFE
To deploy PixivFE using Docker or the compiled binary, see Hosting PixivFE.
If you are paranoid and cannot trust public instances, you can self-host your own instance for personal use (it is very easy, just read the docs!). I actually recommend self-hosting instead of relying entirely on official instances.
Public instances
Warning: Instances listed below were deemed to have complied with the instance rules. Any public instance that isn't in this list should be used at your own risk.
Name | URL | Country | Cloudflare? | Observatory Grade | Status |
---|---|---|---|---|---|
perennialte.ch (Official) | https://pixiv.perennialte.ch | AU | No | ||
dragongoose | https://pixivfe.drgns.space | US | No | ||
ducks.party | https://pixivfe.ducks.party | NL | No | ||
darkness.services | https://pixivfe.darkness.services | US | Yes | ||
thebunny.zone | https://pixivfe.thebunny.zone | HR | No | ||
thebunny.zone (🧅) | http://pixivfe.bunny5exbgbp4sqe2h2rfq2brgrx3dhohdweonepzwfgumfyygb35wyd.onion | HR | No |
If you are hosting your own instance, you can create a pull request to add it here!
For more information on instance uptime, see the PixivFE instance status page.
This information is duplicated at https://pixivfe-docs.pages.dev/instance-list/.
Hosting an image proxy server
PixivFE can work with or without an external image proxy server. Here is the list of public image proxies. See hosting a Pixiv image proxy if you want to host one yourself.
Credits
This project was made possible thanks to:
- kun: for supporting my idea to start this project
- Anthony Wang: for starting exozyme and the infrastructure
- dragongoose: for early code support
- NNB: for making PixivFE's official logo
- toonakko: for drawing cover artworks
- iacore: for the a lot of code contributions, features and bug fixes
- perennial: for the a lot of code contributions and the documentation
- jackyzy823: for implementing novels and other contributions
Special thanks to: the exozyme community, Codeberg, stargazers, and all participants in the issue tracker!
Disclaimer: This application was NOT developed, created, or distributed by pixiv.