Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[Electron + React] - Venobo

Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
Venobo is your own free personal torrent streaming service!

Currently the app is possible of fetching torrent metadata from:
  • Kickass (sometimes there's timeout / gateway issues)
  • Pirate Bay (sometimes there's timeout / gateway issues)
  • YTS
  • ExtraTorrent
  • Rarbg
  • iDope
  • MagnetDL

It uses the TMDb API to receive media data and WebTorrent for torrent downloading.

This service will include many different features that will vary.
Features such as:

  • Accessible offline through caching
  • Caching
  • Search engine
  • Encoding unsupported codecs using ffmpeg
  • Recommendations
  • Discover
  • Notifications
  • A built-in proxy connection
  • Advanced video player
  • And a lot more..

I've created a git repository for this project:


Video preview so far:


All kinds of feedback and further features that could be added will be appreciated! :junglejane:
 
Joined
Jun 23, 2010
Messages
2,318
Reaction score
2,195
I have to say, this looks awesome already. I like the design and concept of it. One thing I notice in your video is the extreem long loading time. In your feature list I see "caching", I hope that will decrease loading to none :)
Keep the good work up!
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
I have to say, this looks awesome already. I like the design and concept of it. One thing I notice in your video is the extreem long loading time. In your feature list I see "caching", I hope that will decrease loading to none :)
Keep the good work up!
Thanks a lot I appreciate it.
Yeah, due to many HTTP requests that has to be made, the loading time can be a bit much. I tried disabling various torrent providers like kat and tpb, as their website is so damn slow. For app development until I find something better, I'm currently using YTS API and webscrapping on iDope, and that actually works pretty great and is fast.
It caches 2 ways. One time in the state, so it lives forever meanwhile the app is open so no file reads or http requests has to be made, and then it gets written to a file in the app cache folder using a npm module I published.
 
Joined
Sep 2, 2011
Messages
2,371
Reaction score
1,361
Thanks a lot I appreciate it.
Yeah, due to many HTTP requests that has to be made, the loading time can be a bit much. I tried disabling various torrent providers like kat and tpb, as their website is so damn slow. For app development until I find something better, I'm currently using YTS API and webscrapping on iDope, and that actually works pretty great and is fast.
It caches 2 ways. One time in the state, so it lives forever meanwhile the app is open so no file reads or http requests has to be made, and then it gets written to a file in the app cache folder using a npm module I published.
Perhaps run a background job and let the user carry on browsing the website while it processes their torrent in the background and then alert the user when it's ready? Should set up a job queue for that, beanstalkd for example. It would "mask" the time it takes to load.

I'd also recommend using Redis as a session store and cache - I use it for my large traffic site (200M+ requests a month) - and it is super fast. You can also reduce the load time by ensuring images (thumbnails and such) are the correct dimensions rather than being unnecessarily large for the container they are being displayed in.
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
Perhaps run a background job and let the user carry on browsing the website while it processes their torrent in the background and then alert the user when it's ready? Should set up a job queue for that, beanstalkd for example. It would "mask" the time it takes to load.

I'd also recommend using Redis as a session store and cache - I use it for my large traffic site (200M+ requests a month) - and it is super fast. You can also reduce the load time by ensuring images (thumbnails and such) are the correct dimensions rather than being unnecessarily large for the container they are being displayed in.

Electron automatically caches all images in the app cache folder which is nice. I've also thought about using Redis a couple of times, but when reading the doc for nodejs I haven't really found my needs fulfilled with what it's capable of, hence why I coded my own storage module, but surely Redis reduces write and read time aswell as size. For the matter of background job, it wouldn't make any sense, since it just fetches data from TMDb and metadata from the different torrent indexes. Something that would decrease the loading time, would be to move the torrent metadata and tmdb fetching to my own api server, so one user only have to wait the little time every 3 hours when refetching torrent data to ensure the seeders / leechers are correct.
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
#UPDATES
Almost finished up StarredPage and StarredController

 
Last edited:
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
#UPDATES
Updated the core design and functionality of the search component
[/URL]
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
Decided to wrap my app in Redux, so there's a new branch for that.
 
Joined
Sep 2, 2011
Messages
2,371
Reaction score
1,361
I'm actually a really big fan of the design, do you happen to have the core CSS/JS/HTML files rather than me taking ages searching through your github files? I'd like to use it on a side project I'm working on, if possible.
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
I'm actually a really big fan of the design, do you happen to have the core CSS/JS/HTML files rather than me taking ages searching through your github files? I'd like to use it on a side project I'm working on, if possible.

I've just webscrapped it

The design is from
 
Initiate Mage
Joined
May 30, 2017
Messages
36
Reaction score
10
Currently rewriting the entire application using Redux as state management instead.



Is anyone familiar with using Webpack for Electron? It looks like Electron has published something called but it's HMR doesn't seem to work proper compared to when using Webpack.

The problem is that I receive two module errors that couldn't be resolved if I try to use Webpack; Long and ByteBuffer
 
Last edited:
Back
Top