A privacy respecting frontend for Pixiv (WIP)
Go to file
VnPower ee9e816bff
ci/woodpecker/push/woodpecker Pipeline failed Details
Fix: change deprecated `ioutil.ReadAll` to `io.ReadAll`
2023-09-30 20:51:33 +07:00
configs Change default port #16 2023-08-19 19:18:05 +07:00
handler Fix: change deprecated `ioutil.ReadAll` to `io.ReadAll` 2023-09-30 20:51:33 +07:00
models Add to link to ugoira.com for artworks that are ugoiras 2023-09-16 18:51:35 +07:00
template Add to link to ugoira.com for artworks that are ugoiras 2023-09-16 18:51:35 +07:00
views Add limiter 2023-09-05 18:58:42 +07:00
.gitignore Testing out the settings page 2023-06-20 21:21:27 +07:00
.woodpecker.yml CI: delay between program execution and testing 2023-08-30 16:28:36 +07:00
Dockerfile Fix: Golang version for Docker #24 2023-08-25 17:22:29 +07:00
LICENSE License: switch to AGPL3 2023-05-15 07:28:10 +07:00
README.md Update README.md 2023-09-23 17:40:02 +00:00
docker-compose.yml Fix: docker-compose port issue #24 2023-08-27 09:34:55 +07:00
go.mod Update module name 2023-08-28 18:50:38 +07:00
go.sum Feature: basic ranking calendar #20 2023-08-26 11:13:51 +07:00
main.go Update module name 2023-08-28 18:50:38 +07:00
nginx.conf Fix: temporary remove headers #14 2023-07-15 20:09:17 +07:00
pixivfe_test.go Route testing #13 2023-08-28 11:20:19 +07:00

README.md

PixivFE

A privacy-respecting alternative front-end for Pixiv that doesn't suck

Get it on Codeberg

CI badge Go Report Card

Questions? Feedbacks? You can PM me on Matrix!

You can keep track of this project's development here.

Features

  • Lightweight - both the interface and the code
  • Privacy-first - the server will do the work for you
  • No bloat - we only serve HTML and CSS
  • Open source - you can trust me!

Hosting

Check out this page. We currently have guides for Docker and Caddy.

Many thanks to dragongoose for writing the Docker guide!

Instances

Name Cloudflare? URL
exozyme (Official) No https://pixivfe.exozy.me
dragongoose No https://pixivfe.drgns.space
WhateverItWorks Yes https://art.whateveritworks.org

Hosted one yourself? Create a pull request to add it here!

License

AGPL3

Note

Features like following an user, bookmarking and/or liking an artwork won't be added anytime soon.

API routes:

  • Following an user: https://www.pixiv.net/bookmark_add.php
  • Bookmarking an artwork: https://www.pixiv.net/ajax/illusts/bookmarks/add

This is because for these endpoints to work, we must pass in a header called x-csrf-token. The token was stored directly inside any Pixiv's pages (ex: https://www.pixiv.net) in a variable called pixiv.context.token. We could easily get this token using curl:

curl https://www.pixiv.net --silent | grep pixiv.context.token

The problem is, we cannot use this token, because when we were using curl to fetch the page, we weren't authenticated. Each user has their own token, generated every time they logout (i think). If we try to authenticate with PHPSESSID, Cloudflare will stop us and we get a challenge page.

Challenge page

Unless we find out a way to fetch a x-csrf-token that works, these features will probably never be added.

If you found out a way to fetch it, please tell me. You can test the token using this command: curl -H "x-csrf-token: your_csrf_token" -X POST -d "mode=add&type=user&user_id=36055573&tag=&restrict=0&format=json" "https://www.pixiv.net/bookmark_add.php" --cookie "PHPSESSID=your_token" -A "Mozilla/5.0"

It will return an empty JSON array if success, like this: Successfully followed