Skip to content
Snippets Groups Projects
Kai DeLorenzo's avatar
Kai DeLorenzo authored
updated fingerprint based cookie activation to prevent channel page load errors

See merge request !4
b518be4d
History

What does logging in get you?

  • Subtitles
  • Greater than 480p quality
  • Premium content
  • View and save private playlists
  • View and save subscriptions list
  • Prevents some rate limiting/captcha scenarios

Development

  1. npm run npm-dev or bun run bun-dev
  2. load BiliBiliConfig.json into Grayjay

TO-DO

  • (I haven't noticed this in a while) Seems like video links time out and stop working fairly quickly. Can we prevent that by send cookies along with the requests?
  • Figure out captcha verification for space posts and space videos or at least proper rate limiting error messages The captcha only shows up for posts. for videos there is just a login prompt that shows up whenever taking an action However once the posts captcha is done the login prompts stop Clear site data and go to https://space.bilibili.com/<space id>/dynamic and scroll down until the captcha shows up
  • Write tests for regex matching and testing code
  • Write tests for the all of the request functions to continually verify that they are retrieving expected data
  • Write tests for all the utility functions
  • Review TODOs in the code
  • Review the hardcoded costants
  • We might need to create id prefixes there are a lot of number ids and the different types probably overlap I don't quite understand the usefulness of the ids though
  • Add in function and property documentation
  • Add playback tracker so that the homepage reflects and adapts to what you watch
  • Add a logging option that will log the urls, headers, and results of all network requests
  • Implement live chat websocket protocol
  • Fix the local caching to use saveState
  • Reduce the lines of code somehow
  • Show a locked content object for inaccesible premium content
  • Investigate and handle other url types (mobile video links?)
  • Handle correctly formatted links that don't actually point to any content
  • there is additional content on the home page that we can consider loading in the future
  • consider switching from like rating to 0-10 scale rating for bangumi
  • playlist search should be redone but there needs to be better support for playlist search in Grayjay
  • this is a sort of playlist that we might consider adding support for https://www.bilibili.com/blackboard/era/YyCI1Zsg5iUjelX2.html
  • consider switching from using JSON apis to HTML with regex. this could improve performance because the latency of the html is less than the json
  • remove bad post search results that are simply duplicates to video search results
  • bangumi should have a creator page per show based off https://www.bilibili.com/bangumi/media/md28339940
  • implement monitization/merch features
  • (should be fixed now) there is an issue where space_request doesn't work right. it might be ip address allow list related. like watching a video seems like it might make things work in the future
  • update to use the new playlist api to get channel playlists
  • add whatever gets stuff to show up on the channels and support tabs on the cannel page. i think it is just polycentric stuff but idk

Pending Fixed Grayjay Bugs

Grayjay Bugs

  • HLS for live streaming is a little wonky in the UI
  • Something glitchy with the posts tab on the subscriptions page
  • Opening direct links to posts doesn't work
  • When making a live PlatformVideoDetails the video option needs to be a blank VideoSourceDescriptor which is kinda weird
  • the getSubtitles call is wrapped in an exception swalling thing so when i was hitting a non allow listed domain it was just silently failing
  • Support for playlists, posts, movies, shows, and custom playlist types as search feed type
  • The removal of elements from the getlivechatwindow doesn't work likely because it runs before the elements have been created
  • Searching from the subscriptions page doesn't searchyour subscriptions it searches everything
  • Ordering options and filters can not be specified on a per feed type basis
  • Issues with passing search feed type to search api calls
    • when searching from the main home page search type in the search function call is always null regardless of what is set in getsearchcapabilities
    • when searching channel contents from a channel page search type in the searchChannelContents function call is always null regardless of what is set in getsearchchannelcontentscapabilities
    • getchannelcapabilities and getchannelcontents don't ask for LIVE or POSTS types
  • the first time when trying to open a channel link the app will say the link isn't supported
  • non utf characters don't get saved to the filename when exporting. this is really bad for simplified chinese characters
  • when playling a playlist the UnavailableException doesn't display and the playlist simply skips the video