pixivfe

command module
v1.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 21, 2023 License: AGPL-3.0 Imports: 14 Imported by: 0

README

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:

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

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL