No description
Find a file
2024-10-31 17:08:56 +11:00
.forgejo/issue_template rm unused forgejo workflow 2024-09-17 00:58:27 +10:00
.woodpecker rm crowdin workflow in CI revival attempt 2024-10-23 00:04:41 +11:00
assets use jet comments 2024-10-31 14:40:31 +11:00
audit audit: create sugared logger 2024-10-21 15:26:24 +11:00
config tag search by popular, experimental 2024-10-25 21:42:27 +11:00
core fix thumbnail construction in core/types 2024-10-31 17:08:56 +11:00
doc create prepare-account.sh 2024-10-29 19:06:16 +11:00
i18n index page styling 2024-10-28 17:06:30 +11:00
server fix broken IsLastPathPart 2024-10-28 21:29:59 +11:00
test Add test case for users without artworks 2024-10-19 19:54:42 +07:00
.env.example tag search by popular, experimental 2024-10-25 21:42:27 +11:00
.gitignore exclude sonar-scanner-cli output 2024-10-20 17:03:52 +11:00
build.sh Update README and build script 2024-10-23 17:53:37 +07:00
Caddyfile caddy: enable encoding 2024-10-09 23:51:53 +11:00
compose.stack.yaml Create compose.stack.yaml 2024-10-09 15:00:32 +11:00
compose.testing.yaml Create compose.testing.yaml 2024-09-25 18:34:51 +10:00
compose.yaml use long syntax in compose.yaml 2024-09-16 23:31:38 +10:00
crowdin.yml crowdin.yml: project_id is a string 2024-10-11 14:07:17 +11:00
default.vcl Create compose.stack.yaml 2024-10-09 15:00:32 +11:00
Dockerfile fix borked Docker builds 2024-10-12 04:00:32 +11:00
Dockerfile.testing Actually fix caching in Dockerfile.testing 2024-09-25 18:40:18 +10:00
go.mod refactor core/artwork to use sync/errgroup 2024-10-25 16:41:41 +11:00
go.sum refactor core/artwork to use sync/errgroup 2024-10-25 16:41:41 +11:00
LICENSE Init 2024-01-01 19:31:31 +07:00
main.go move router to separate package 2024-10-25 15:47:37 +11:00
mkdocs.yml docs: consolidate pages under Feature tracker 2024-10-14 15:50:30 +11:00
README.md Fix README 2024-10-23 17:55:58 +07:00
semgrep.yml use http client from utils 2024-10-05 15:32:10 +00:00
staticcheck.conf Make error messages more consistent 2024-02-24 15:31:22 +00:00

PixivFE

A open source alternative frontend for Pixiv.

Notice: PixivFE now has a public room on Matrix, join here!

Get it on Codeberg

CI badge Go Report Card Crowdin

Docker Pulls Docker Stars

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.

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

You can use PixivFE for personal use! Assuming that you use an operating system that can run POSIX shell scripts, install go, clone this repository, and use the build.sh shell script to build and run the project. I recommend self-hosting your own instance for personal use, instead of relying entirely on official instances.

To deploy PixivFE using Docker or the compiled binary, see Hosting PixivFE.

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
exozyme (Official) https://pixivfe.exozy.me US No MDN HTTP Observatory Grade Status
dragongoose https://pixivfe.drgns.space US No MDN HTTP Observatory Grade Status
ducks.party https://pixivfe.ducks.party NL No MDN HTTP Observatory Grade Status
perennialte.ch https://pixiv.perennialte.ch AU No MDN HTTP Observatory Grade Status
darkness.services https://pixivfe.darkness.services US Yes MDN HTTP Observatory Grade Status
thebunny.zone https://pixivfe.thebunny.zone HR No MDN HTTP Observatory Grade Status
thebunny.zone (🧅) http://pixivfe.bunny5exbgbp4sqe2h2rfq2brgrx3dhohdweonepzwfgumfyygb35wyd.onion HR No MDN HTTP Observatory Grade Status

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 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.


Disclaimer: This application was NOT developed, created, or distributed by pixiv.