{"id":16235777,"url":"https://github.com/rayriffy/pixiv-bookmarks-visualizer","last_synced_at":"2025-10-10T12:40:04.361Z","repository":{"id":98240852,"uuid":"532617106","full_name":"rayriffy/pixiv-bookmarks-visualizer","owner":"rayriffy","description":"Performing complex search with your pixiv bookmarks.","archived":false,"fork":false,"pushed_at":"2025-04-14T07:57:54.000Z","size":1524,"stargazers_count":14,"open_issues_count":2,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T08:44:47.537Z","etag":null,"topics":["bun","pixiv","tanstack-start"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rayriffy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"rayriffy"}},"created_at":"2022-09-04T18:01:47.000Z","updated_at":"2025-04-14T07:57:58.000Z","dependencies_parsed_at":"2024-05-22T13:27:38.178Z","dependency_job_id":"d7271fa7-e190-4b12-861a-108abd708ade","html_url":"https://github.com/rayriffy/pixiv-bookmarks-visualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rayriffy/pixiv-bookmarks-visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayriffy%2Fpixiv-bookmarks-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayriffy%2Fpixiv-bookmarks-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayriffy%2Fpixiv-bookmarks-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayriffy%2Fpixiv-bookmarks-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rayriffy","download_url":"https://codeload.github.com/rayriffy/pixiv-bookmarks-visualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rayriffy%2Fpixiv-bookmarks-visualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279003892,"owners_count":26083641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bun","pixiv","tanstack-start"],"created_at":"2024-10-10T13:27:33.336Z","updated_at":"2025-10-10T12:40:04.335Z","avatar_url":"https://github.com/rayriffy.png","language":"TypeScript","funding_links":["https://github.com/sponsors/rayriffy"],"categories":[],"sub_categories":[],"readme":"pixiv Bookmarks Visualizer\n===\n\nPerforming complex search with your pixiv bookmarks.\n\n![](./img/screenshot.jpg)\n\nFeatures\n---\n\n- Filter illusts by bookmakrs type (Public / Private)\n- Search illust by tags, serch query can be both in Japanese, and English\n- Filter illusts by orientation (Vertical / Horizontal). Great use when looking for new desktop or mobile wallpaper.\n- Filter illusts by minimum pixel resolution on either axis (Width / Height)\n- Actual resolution indicator on top-left corner of each illusts.\n\nPreload data\n---\n\n\u003e [!NOTE]\n\u003e Our backend engine are now using SQLite to store all of your bookmarks' data. This will reduce the time to load all of your bookmarks data into memory, and also reduce the time to search for specific illusts.\n\u003e This may have performance degradation for HDD users.\n\n\u003e [!WARNING]\n\u003e This project is only built for running locally, please do not deploy to public internet otherwise it might not be working properly, or all of your private bookmarks will be public\n\nFirst, you have to get your account refresh token in any mean nessesary. I recommend [this script](https://github.com/eggplants/get-pixivpy-token) to obtain refresh token.\n\nThen, make your own `.env` file based on `.env.example` by providing refresh token and your user ID into the file.\n\n```\ncp .env.example .env\n```\n\nAfter that, install dependencies reqired for this project and run a script to obtain all of your bookmarks. Script will take a while to scrape data, depending on how much bookmarks in your account.\n\n```\nbun i\nbun db:init\nbun build:data\n```\n\nOptionally, you can pre-download **all** illusts into local machine right away to reduce frist-load image time in browser. Each image will consume avarage of *40KB* of storage (minimum 10KB, maximum ~100KB). To do this run following command.\n\n```\nbun build:image\n```\n\nPixiv CDN may not prepared you to access very old illusts which could cause some preload image to fail. Just running preload command continuously until no any `fail: ` emit into output.\n\nNotes for うごイラ illusts\n---\n\nBy default this web app will not try to display image as gifs since it take a lot of time to response back. If you want *うごイラ* illusts to be animated run following command to generated (somewhat) highly optimized animated WebP.\n\n```\nbun build:ugoira\n```\n\nAlso, [`img2webp`](https://developers.google.com/speed/webp/docs/img2webp) is required. Install on your macOS by running `brew install webp`\n\nScript expected to fail multiple times since there's a rate limit on Pixiv API. Wait for about 3-5 minutes for rate limit quota to refill and run the script again until scripts finished without any errors.\n\nSpin-up a server\n---\n\nAs I said, you should be aware of where did you run this server on. Running this application in public network could compromise your private bookmarks.\n\nThere're 3 method to start a server, but I do prefer a thrid method\n\n### Method 1: Start as development server\n\n```\nbun dev\n```\n\n### Method 2: Start as production server (less pre-compile time)\n\n```\nbun run build\nbun run start\n```\n\n### Method 3: Start as container service\n\n```\ndocker-compose up -d\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayriffy%2Fpixiv-bookmarks-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frayriffy%2Fpixiv-bookmarks-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frayriffy%2Fpixiv-bookmarks-visualizer/lists"}