An open source alternative frontend for Pixiv https://pixivfe-docs.pages.dev
  • Go 55.3%
  • templ 22.9%
  • JavaScript 17.9%
  • CSS 1.5%
  • Shell 1.2%
  • Other 1%
Find a file
2026-02-13 22:18:41 +07:00
.forgejo/issue_template fix issue template nitpicks 2025-03-26 02:57:20 +08:00
assets Add option for bookmark visibility 2026-02-13 22:18:41 +07:00
build ++ 2025-10-26 22:57:07 +00:00
cmd regenerate config files, update config file headers 2025-11-02 15:16:32 +11:00
config ./build.sh build 2025-11-02 15:19:06 +11:00
core Move thumbnail URL rewriting logic to thumbnail.go 2025-11-16 14:57:13 +00:00
data feat(limiter): persist state to disk on shutdown 2025-08-03 18:15:46 +10:00
deploy regenerate config files, update config file headers 2025-11-02 15:16:32 +11:00
docs Several updates for docs and instance list 2026-01-07 15:38:51 +07:00
i18n add doc 2025-11-14 07:23:54 +00:00
po Translated using Weblate (Vietnamese) 2025-10-26 16:10:49 +00:00
scripts Add script that tracks what files build.sh has touched 2025-11-15 13:50:16 +00:00
server Add option for bookmark visibility 2026-02-13 22:18:41 +07:00
specs Add novel search endpoints 2025-08-11 17:52:11 +00:00
.dir-locals.el Add default Emacs visual configuration 2026-02-13 21:48:51 +07:00
.dockerignore update .dockerignore 2025-08-03 18:19:31 +10:00
.gitignore Work on i18n.extract 2025-09-06 15:09:08 +00:00
.gitlab-ci.yml ci: suppress stdout for cosign and syft 2025-07-10 18:02:59 +10:00
.golangci.yaml resolve linter warnings 2025-08-01 21:20:42 +10:00
build.sh README: Finish tutorial on localization 2025-11-14 00:37:20 +00:00
go.mod Add Server-Timing 2025-11-05 16:10:52 +00:00
go.sum Add Server-Timing 2025-11-05 16:10:52 +00:00
LICENSE clean up LICENSE 2025-02-26 17:14:43 +11:00
main.go Rename server/session to server/state/untrusted 2025-10-29 23:21:59 +00:00
main_integration_test.go run gofumpt 2025-08-12 02:23:06 +10:00
mkdocs.yml docs: update nav block 2025-09-08 17:05:29 +10:00
opengrep.yaml i18n: change MsgKey to string type + extractor fixes 2025-09-11 18:12:18 +10:00
Pipfile fix: set up Pipfile correctly 2025-06-24 19:03:49 +10:00
Pipfile.lock update Pipfile.lock 2025-07-06 04:08:03 +10:00
README.fil.md Translated using Weblate (Filipino) 2025-09-25 05:15:49 +00:00
README.md Several updates for docs and instance list 2026-01-07 15:38:51 +07:00
README.zh-CN.md docs(readme): re-localize README into zh-Hans 2026-01-30 10:47:18 +08:00
shell.nix nixfmt shell.nix [skip ci] 2025-06-22 21:18:55 +10:00

PixivFE logo


Packaging status

License Latest release of PixivFE Pipeline status on GitLab Localization percentage on Codeberg Translate

Linux macOS FreeBSD OpenBSD Windows

English / 简体中文

PixivFE is an open-source, self-hostable alternative front-end for pixiv that prioritizes accessibility, privacy, and freedom.

The quickest way to use PixivFE is through our official public instance, or by using a community-maintained one.

For self-hosting, we maintain a setup guide and provide multi-arch OCI images for linux/amd64 and linux/arm64. We also offer pre-compiled binaries for Linux, macOS (Apple Silicon), FreeBSD, OpenBSD, and Windows.

For more information, installation guides, and our development roadmap, visit our documentation.

For support, questions, or feedback, join our Matrix room or use the issue tracker. You can also contact VnPower directly.

Why should I use it?

PixivFE lets you enjoy content on pixiv without needing an account or dealing with age restrictions. All processing happens server-side, and you never interact with pixiv's tracking services or third-party analytics.

The interface uses progressive enhancement to function without JavaScript while adding optional features when available. Text contrast follows WCAG standards, and the responsive design includes touch-optimized controls for mobile devices.

What PixivFE is not

PixivFE is not a product developed by pixiv, nor is it intended as a content scraping tool. It's also not a complete pixiv client replacement - many features are still missing. Check our roadmap and scope to understand current limitations and planned features.

Localizing UI

We use GNU gettext to translate PixivFE's UI to languages other than English.

To translate

  1. Wrap strings to translate inside i18n. functions (see ./i18n/doc.go)
  2. Generate translation source (./po/pixivfe.pot) by running ./build.sh i18n_extract i18n_validate
  3. Modify the translation target of a specific language (./po/<lang>.po)
    • edit the file directly
    • edit in Weblate (web interface)

For more detals, see ./docs/dev/i18n.md.

Building

To build PixivFE, you need Go 1.24.0 or higher.

To build the binary, run ./build.sh build_binary.

Development

To contribute to frontend development, you will need to install the standalone executable for Tailwind CSS CLI.

For internationalization, developers should refer to the package documentation in i18n/doc.go for API usage.

For project management, we use Gitlab issues and boards.

Note that the project is hosted on two synchronized repositories. Codeberg is our primary repository where all issues and pull requests should be submitted. GitLab handles our CI/CD pipelines. Commits to either repository automatically sync with the other.

To run PixivFE in development mode, run the following script:

export PIXIVFE_DEV=true PIXIVFE_SAVE_RESPONSES=true
export PIXIVFE_TOKEN=<YOUR_PIXIV_USER_TOKEN>
./build.sh run

To see all available build commands, use ./build.sh help.

We also offer several alternative methods to create a development environment:

  • Nix: nix-shell
  • GNU Guix: guix shell go python python-requests -- ./build.sh run

Controlling the CI/CD pipeline

The behavior of the CI/CD pipeline can be altered by including specific commands in a Git commit message. The following commands are available:

Command Description
[skip ci] Prevents the entire pipeline from running.
[skip build] Skips the jobs for building and publishing binaries.
[skip docs] Skips the jobs for building and publishing documentation.
[rebuild builder] Forces a rebuild of the builder OCI image.
[rebuild docs-builder] Forces a rebuild of the docs-builder OCI image.
[rebuild wrangler-builder] Forces a rebuild of the wrangler-builder OCI image.
[rebuild CI images] Forces a rebuild of all CI OCI images.

License

PixivFE is free software licensed under the GNU Affero General Public License v3.0 only.

Copyright 2023 - 2025, VnPower and the PixivFE contributors.

SPDX-License-Identifier: AGPL-3.0-only