Skip to content

TODO list #1

Description

@klesun

Engagement

  • Add link to the list at klesun-productions.com (btw add a link to telegram group in the footre there)
  • Create dynamic sitemap.xml that would take torrents.csv and for every title provide a page, put most seeded first - that should become a SEO heaven with all the stuff you can't easily google becoming googlable through my site. The only question will be when google will take that down, but that will be big world problems, irrelevant now.

Codecs Support

  • Detct bad formats for re-encoding from ffmpeg info, not from file name
  • open non-video files
    • e-books: .djvu, fb2, etc...)
  • Figure out why eac3 re-encoding on the fly is bugged (can't traverse the stream, gets reset to 0 seconds)
    • No idea really how this happens. c3d32e11e37112287ca4ebefabf554b212c4499d - this is also eac3, but it works ok, while for example MLP does not work and some other title did not work either...
  • Do not re-encode audio if it is already in good codec (possibly already done)

Performance

  • Should destroy infohash connection if no ping from client for 5 minutes or so. Also remove respective data in /tmp/torrent-stream/
  • Possibly worth looking once again into decoding hevc directly in browser using this lib: hevc now works out of the box ^_^
    • WasmVideoPlayer (eng). I take it it still uses ported ffmpeg, but if it's just decoding, not converting to h264, maybe it will do ok in real time (reminder, ffmpeg.js in best conditions, worst quality converted fullhd video at speed 0.6 on my 6 core AMD PC)
    • h265player (China again)
    • decoder_wasm this repo looks the most promising so far...

UX

  • Auto-select first track in case of ac3/eac3. Example: https://kunkka.klesun.net/views/infoPage/d9ffad690cacd5f4f45a52ac29cbe2785d1bfaa6
  • Make arrow navigation step smaller: 5 seconds like on youtube instead of 30 seconds
  • Make directories in file list a tree to save screen space
  • Add filtering options by episode number/season number - must support torrents with multiple seasons in one
  • Fetch real seeds count using https://github.com/dessalines/torrent-tracker-health (1337x often shows it's just few seeds, but there are actually hundreds of them)
  • Put titles containing "h265" and "hevc" in the bottom browsers do support hevc nowadays
  • Fix selected audio track synchronization: currently you have to wait few seconds before code synchronizes it with playing video
    • Possibly fixed
  • When auto-playing next video, keep fullscreen on if it was
  • Make keyboard shortcuts work (F for fullscreen)
  • When you click on download link, should get use of the python script for trackers requiring auth
  • Insert new search entries incrementally instead of rebuilding whole list: it's laggy and closes torrents you just expanded. fixed after moving to React I believe
  • Automatically preload next episode with most seeds based on name parsing

Content Management

  • rarbg (torrentsapi) does not work half of the times (hitting refresh usually making it appear), should probably retry it automatically, maybe move to client side
    https://webcache.googleusercontent.com/search?q=cache:gCY5Kdzz6PIJ:https://torrentapi.org/apidocs_v2.txt%3Fapp_id%3Drarbg-rubygem+&cd=1&hl=en&ct=clnk&gl=lv

    The api has a 1req/2s limit.

  • Periodically run through popular torrents (or not very popular, but queried at least once) and collect info like number of alive seeds, files list, used codecs, etc... For rutracker, torrents.csv and piratebay have a db, from some of the others (like nyaa.si and again piratebay) can crawl by incrementing index in url... crawled ones could be a valuable data btw, could submit it to torrents.csv or something.
  • Include my https://darksun-misc.github.io/piratebay-db-dump/web_client/ piratebay db dump in the search, apparently it has some torrents, like BA0B39DE2C19CEADCFB1B441D8B6D668E57458EF, that are not returned by torrentsapi (piratebay is also often down)
  • Do a good think, go through the tpb dump and check all torrents between 2017-2019 and submit to torrents-csv (and additionally drop few own torrents)
  • Make it possible to choose any episode for a show - add a "More" button in the card list, that leads to the show page with short description and episodes.
  • Add a crawler or convenient API to retrieve missing subtitles from dedicated web sites.

Features

  • Add some personalisation to seeder ip addresses. For example, keep track of how much some particular ip has seeded to you and show this number with a heart icon. If this website ever gets popular, could make a leaderboard of "Most Generous Seeders". It would be kind of reputation, but not limited to a single tracker. Could also allow to set a display name for your ip address with maybe a link to page with seeding stats (proving that you own the ip is as simple as sending whatever http request, thanks tcp). Though that could potentially be a double-edged sword, as some malicious people (like DMCA) could start abusing the web site to track down most contributing people... Must add salt to ip addresses, maybe send stuff like bip39 from server instead of ips... though I'd prefer obfuscated values to still look like ip addresses, so that DMCA guys thought they got us, while they actually didn't >:D. Should be super fun if they actually go deal with some random ISP of some random country and after finding out that ip does not belong to the seeder, they would say "damn, he got away before we got him!". And must be super careful to not let obfuscation be deductible, there are not so many ip address variations, so stuff like sha256 and any other possible hash function can be considered a bi-directional function (where do I apply for Millennium Prize?). The encryption key also must be ensured to be not accessible to public...
  • Allow commenting torrents
  • Maybe link to MAL/wikipedia when applicable. Can try crawl reviews as well
  • Show visually chunks that were downloaded

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions