Giter Site home page Giter Site logo

inrixia / floatplane-downloader Goto Github PK

View Code? Open in Web Editor NEW
140.0 5.0 39.0 55.99 MB

Project for automatically organizing and downloading Floatplane videos for plex.

Home Page: https://monitor.spookelton.net/public-dashboards/db0aec66747b4950b01b128916eb737e

License: GNU Affero General Public License v3.0

TypeScript 98.57% Dockerfile 1.43%
linus tech tips linustechtips linusmediagroup linusforumtips floatplane-club downloader download download-manager

floatplane-downloader's Introduction

dev Build

Active Downloaders Queued Speed Bytes Videos

image
This project is unofficial and not in any way affiliated with LMG
Join our discord! discord.gg/aNTyMME

Floatplane Downloader Automagically downloads the latest videos from Floatplane and optionally formats them to be viewed in Plex.

Both downloading videos as they release and archiving the entire backlog is supported!
This requires a Floatplane subscription.



Thank you to everyone who has contributed to the project, you can see these amazing people on the right >>
If you like the project, and want to support me can to throw some bits at my Sponsor Page ❤️

If you encounter any issues please create a issue. Feel free to also ping me on our Discord

If you want to contribute please work on the dev branch and not master for pull requests

Install Guide

Looking for Docker?
Get the image on: hub.docker.com/r/inrix/floatplane-downloader and see instructions at the wiki!

Looking for Unraid?
Go install it using the unraid template! unraid template!

  1. Download the latest binary for your OS from Releases

  2. Run the binary and follow the setup prompts.

  3. Profit?!:
    At this point you should be completely set-up and ready to go!
    To start the downloader in the future all you need to do is run the binary.

For more info on setting up plex & available settings check out the Wikis:

Wikis:


Note: This is licenced under the GNU Affero General Public License v3.0. I am happy for you to use/modify/contribute to the source code as long as you provide a link back to here.

Images:

image

Downloader

image

Plex

image image

floatplane-downloader's People

Contributors

aaronflorey avatar altriusrs avatar avmavs avatar bengennaria avatar davidspek avatar dependabot[bot] avatar fma965 avatar inrixia avatar jcxldn avatar jonchampagne avatar juchong avatar kprinssu avatar martinridgway avatar mattkdoggie avatar nickcmaynard avatar orthanc42 avatar peskdale avatar rob1998 avatar rokton avatar rpungello avatar scttcper avatar thesamdickey avatar tomw1605 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

floatplane-downloader's Issues

400/Bad Request Error when 2160p is enabled

Beta is working great overall so far, one bug I found is when 2160p is enabled. I get HTTP 400 (Bad Request) error for all episodes from the looks of it. Dropping back to 1080p in the config files works as a workaround.
image

Can you create a tutorial to do this on a NAS?

I have a Synology DS218+ and was trying to set this up on it. It seems a lot of the instructions are Windows based, but you also mention it can be done on other operating systems. I was able to get Node.js installed, but I have no way of running the bat or anything of that sort as far as I can see.

Thank you

Replace progress bars when headless is true

Progress bars really shouldn't be enabled when headless is true to avoid bloating logfiles.

Replace the progress bar output with a simplified console output that still gives information without flooding stdout.

postProcessingCommand error handling triggers message every time

Regardless of the actual outcome of a post-processing command, the error message seems to always be triggered after downloading a video.

This can be seen using a very simple command such as echo 'Hello world!'. On further testing, it seems that stderr is defined regardless of outcome, but just empty.

So perhaps there should be an emptiness check too, or the check should instead be run based on non-zero exit status.

Script not finding existing episodes

With my settings, the glob command is returning 0 episodes found.

I think it's because i have season folders enabled, so the glob command needs to be changed slightly, i have it set to:

glob.sync(`${settings.videoFolder}/${channel}/*/*.mp4`).length

Error: Cannot find module 'm3u8stream/lib/parse-time'

When i try to run the downloader (Version 4.6.3) i get this error

Error: Cannot find module 'm3u8stream/lib/parse-time'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15)
at Function.Module._load (internal/modules/cjs/loader.js:508:25)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
at Object. (E:\Download drops\4.6.3\node_modules\ytdl-core\lib\info-extras.js:5:21)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)

videos.json
{
"CGCO5sN3Fj": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 294459406,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E0 - THE BIG REVEAL! Our 7-month home renovation is COMPLETE!.mp4"
},
"GiMQ9rCvJP": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 340707596,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E1 - Girlfriend's gaming PC is UNACCEPTABLE!.mp4"
},
"2rnisq4Pv9": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 142178283,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E2 - Surprised my friend with a (really good) PC!.mp4"
},
"UgE76j9v56": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 381499494,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E3 - Delete this video forever (New Year's Eve vlog).mp4"
},
"XtzgL3GyOi": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 411498953,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E4 - My PC is idling at 100°C (for one stupid reason).mp4"
},
"f9Yba4FLzY": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 258502063,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E0 - We Water Cooled an SSD!!.mp4"
},
"hz9uGgXPqk": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 82706929,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E1 - 360Hz Gaming Monitor - I Need This NOW!! - CES 2020.mp4"
},
"MLpQGeNMbM": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 139529308,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E2 - ASUS DITCHES Intel.mp4"
},
"p97rUioQ8K": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 105443847,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E3 - A Nintendo Switch that plays PC Games.mp4"
},
"HkBA74SwQC": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 83006690,
"file": "./videos/TechLinked/TechLinked - S01E0 - TL Samsung made... a PERSON! - CES 2020.mp4"
},
"Yi00WcvD2Q": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 46173950,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E4 - Why Can't You Install Windows on an Xbox.mp4"
},
"YR6LwGQtiS": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 90338545,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E5 - Who needs a car anyway - LG's New 8K OLED is BREATHTAKING.mp4"
},
"dP6mKk5bSj": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 103111110,
"file": "./videos/TechLinked/TechLinked - S01E1 - TL It's the PlayStation Wagon 5 haha - CES 2020.mp4"
},
"A1VOp4FhgI": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 59330804,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E6 - I thought Razer's Modular concept PC was impossible.mp4"
},
"1jyUJywONE": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 211955745,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E5 - My 3990X dream PC might actually happen (on a $10,000 budget).mp4"
},
"zaWmOEGKgT": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 96017837,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E6 - Maybe LG should stand for Let's Game. Their 2020 products look good!.mp4"
},
"1NYLOmHUaW": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 114775312,
"file": "./videos/TechLinked/TechLinked - S01E2 - TL This 300 TV draws over 9000W.mp4"
},
"y3ffORzWjr": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 86677319,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E7 - The CRAZY laptop manufacturer you've never heard of.mp4"
},
"Wb9raY45dH": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 73168472,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E8 - A Laptop for Real Professionals! - Acer ConceptD 7 Ezel Pro.mp4"
},
"1Q344fGY4W": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 117654678,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E9 - Look at all these CES 2020 Trends! Whoa!.mp4"
},
"1lphIm4QyD": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 92430003,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E10 - We Tried a Surround-Screen Movie Theater! (SPONSORED).mp4"
},
"WLxuGXjZXg": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 95397300,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E11 - The WORST way to buy a console - Corsair - The Big O.mp4"
},
"NTwOwSnohl": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 96467582,
"file": "./videos/TechLinked/TechLinked - S01E3 - TL The WEIRDEST Tech at CES 2020.mp4"
},
"gSAXN1Z5G1": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 94338514,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E12 - Why Can't I BUY a MicroLED TV.mp4"
},
"Fuff3XZzdr": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 101488403,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E13 - Why I'm Skeptical of Intel's Dedicated Graphics.mp4"
},
"0sL74CfKzV": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 107889794,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E14 - The biggest letdown of the week... - Samsung Neon.mp4"
},
"wVkageO8ss": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 92291637,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E15 - Folding laptops are here... and we have some thoughts.mp4"
},
"DuUXFpNTD4": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 119752221,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E16 - Are 8K TV manufacturers LYING.mp4"
},
"qUn1hEswEn": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 267536886,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E17 - Should you buy a $50 CPU.mp4"
},
"dwgYuovJVV": {
"subChannel": "Floatplane Exclusive",
"partial": false,
"saved": true,
"size": 61064882,
"file": "./videos/Floatplane Exclusive/Floatplane Exclusive - S01E0 - Console exclusives… are DEAD.mp4"
},
"vc6GIyDZY2": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 373638717,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E18 - What’s the Best TV Under $400.mp4"
},
"M3ajdzb79B": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 523676709,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E19 - Water Cooling our RED 8K Camera (Part 2).mp4"
},
"yMQvKeIngR": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 341318722,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E7 - Rumors about Fry's Electronics sent us on a wild journey to find the truth.mp4"
},
"OgZ6Qu1ne7": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 89271861,
"file": "./videos/TechLinked/TechLinked - S01E4 - TL Apple makes Macs LOUDER.mp4"
},
"ABjJ9SG4s5": {
"subChannel": "Floatplane Exclusive",
"partial": false,
"saved": true,
"size": 86674099,
"file": "./videos/Floatplane Exclusive/Floatplane Exclusive - S01E1 - [UNCENSORED] Linus RAGING at the Teleprompter for 5 Minutes [FP EXCLUSIVE].mp4"
},
"zWcivFmRUY": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 77676000,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E8 - Reacting to the worst PC builds on the Internet.mp4"
},
"UwfpK7bCdJ": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 153417057,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E20 - Apple’s Pro Display XDR – A PC Guy’s Perspective.mp4"
},
"XqfOkuWXVO": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 80395977,
"file": "./videos/TechLinked/TechLinked - S01E5 - TL I want a Gaming Chromebook.mp4"
},
"389pQplhVI": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 273471635,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E21 - The Best VR Headset... got BETTER!.mp4"
},
"2cpkPBuEQT": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 512077032,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E22 - Water Cooling our RED Camera (Part 3).mp4"
},
"w3veWyGdgV": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 301261912,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E23 - The Coolest Small Form Factor PC.mp4"
},
"wk9b3YCqAJ": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 103954633,
"file": "./videos/TechLinked/TechLinked - S01E6 - TL iPad Pro. Better than Consoles.mp4"
},
"dEsFmnoto0": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 68245173,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E9 - Call 911! The RX 5600 XT just murdered the GTX 1660 Ti.mp4"
},
"r1qmkyiKhL": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 193989252,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E24 - It’s time to upgrade your GPU - RX 5600 XT.mp4"
},
"5n2vj5h9iZ": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 202896061,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E25 - FINALLY Wireless Headphones that Sound GREAT - Massdrop x THX Panda Wireless Headphones.mp4"
},
"WwDvrKK06C": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 95191115,
"file": "./videos/TechLinked/TechLinked - S01E7 - TL If he texts you... DON'T OPEN IT.mp4"
},
"qNvvl3WDAI": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 728671259,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E26 - Carpool Critics - Parasite.mp4"
},
"DCBaOZ7GE6": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E27 - I've been thinking of retiring [LIVESTREAM VOD].mp4"
},
"Ub1cFWG40r": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 190452783,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E28 - Stop buying the MacBook Air (2013 Edition).mp4"
},
"JEaiyYfcGk": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 335052305,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E10 - RGB cables are evolving.mp4"
},
"d4Og52AeiF": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 89890350,
"file": "./videos/TechLinked/TechLinked - S01E8 - TL Ugh, what a launch.mp4"
},
"3NNkTQkObZ": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 159799807,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E29 - I'm Returning my Mac Pro.mp4"
},
"iRVrGtkYx5": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 246587527,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E30 - We got the Kick-Proof TV from China!.mp4"
},
"nsIpU3tQLe": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 215713045,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E11 - Reacting to Tech YouTuber's MOST VIEWED videos.mp4"
},
"YmBVdL96cB": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 436451246,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E31 - Dolittle - OMG we made a mistake.mp4"
},
"FyuVAsMUtb": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 405035494,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E32 - Mac Pro Upgrade Adventure.mp4"
},
"w6VNu9xWiP": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 94348961,
"file": "./videos/TechLinked/TechLinked - S01E9 - TL Microsoft still CARES about us😊.mp4"
},
"2Ff3Bqfi48": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 161927629,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E33 - Beat Saber Mixed Reality Setup.mp4"
},
"iCqEjcGcQ8": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 137861796,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E34 - FP Extra Beat Saber - A Full but Failed Run.mp4"
},
"QhCDXshYUZ": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 334539820,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E35 - Our Server is SO FAST it's UNSTABLE.mp4"
},
"Et6fYWHSpc": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 657926929,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E36 - CC Interstellar - It seems like this is everyone's favorite movie I.mp4"
},
"ZV8UNWGMWC": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 92487161,
"file": "./videos/TechLinked/TechLinked - S01E10 - TL GET IT TOGETHER, INTEL!.mp4"
},
"U9Qm8IZBu9": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 145556284,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E37 - The Gaming PC that Cools YOU (SPONSORED).mp4"
},
"MlwWJkV4Iq": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 362079567,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E12 - I need to relax.mp4"
},
"rqHSTJr2T0": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 160866418,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E38 - SC New Channel, Who Dis - Pitaka Air Quad.mp4"
},
"Ni9ZC08mB1": {
"subChannel": "BitWit Ultra",
"partial": false,
"saved": true,
"size": 98208384,
"file": "./videos/BitWit Ultra/BitWit Ultra - S01E13 - 21 questions with Lyle.mp4"
},
"nzUKTl2Yq0": {
"subChannel": "TechLinked",
"partial": false,
"saved": true,
"size": 84627801,
"file": "./videos/TechLinked/TechLinked - S01E11 - TL This Chinese CPU could be GOOD!.mp4"
},
"VCEVpP2Bfl": {
"subChannel": "LTT Supporter (OG)",
"partial": false,
"saved": true,
"size": 381307864,
"file": "./videos/LTT Supporter (OG)/LTT Supporter (OG) - S01E39 - Dead CPU Try this!!.mp4"
}
}

partial.json "{}"

Error trying to download all videos

Hi,
I'm trying to archive all the videos. I first tried setting maxVideos to 0, but then it downloaded nothing, so then I tried -1 and still got nothing, so then tried 1000000000 and then 100000000 and am currently receiving extensive spamming of:

TypeError: Cannot read property 'request' of undefined
    at Request._callback (/home/hbh7/floatplanedownloader/float.js:720:23)
    at self.callback (/home/hbh7/floatplanedownloader/node_modules/request/request.js:185:22)
    at Request.emit (events.js:189:13)
    at Request.onRequestError (/home/hbh7/floatplanedownloader/node_modules/request/request.js:881:8)
    at ClientRequest.emit (events.js:189:13)
    at TLSSocket.socketErrorListener (_http_client.js:392:9)
    at TLSSocket.emit (events.js:189:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)

After a while of that, it switches to spamming:

No Videos Returned! Please open Floatplane.com in a browser and login...

It seemed to work fine when maxVideos was at 5, but they do have more than 5 videos so that won't do haha. I'll keep trying smaller numbers but this seems like a case that should be able to be handled better.

Thanks

ReferenceError: Invalid left-hand side in assignment

Hello,

I'm new to Node.js, when I run this script I'm getting this error, and the script doesn't appear to be adding videos into Plex. I cannot identify any processes running on my machine that indicates that this script is running and would automatically download and add videos.

Steps to reproduce:
Run Floatplane.bat

Output:

C:\WINDOWS\system32>node D:\Users\Steven.ste-gaming-pc\Desktop\plllpt\float.js
D:\Users\Steven.ste-gaming-pc\Desktop\plllpt\node_modules\pad\lib\index.js:13
    [length, text] = [text, length];
    ^

ReferenceError: Invalid left-hand side in assignment
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (D:\Users\Steven.ste-gaming-pc\Desktop\plllpt\float.js:13:13)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

Breakdown of my installation process:
Downloaded Install.zip, Update.zip and Release 3.6.2.zip from Floatplane-Downloader Latest Release
Extracted all into a single folder
Run Install.bat
Encountered error: cannot find module 'fs-extra'
Run npm install -D grunt-cache-bust and npm install -D fs-extra
Rerun Install.bat
Installation completes without error
Edit Floatplane.bat and added line:
"C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Scanner.exe" --scan --refresh --force --section xx
Replaced 'xx' with correct section number from the "C:\Program Files (x86)\Plex\Plex Media Server\Plex Media Scanner.exe" --list command
Run Floatplane.bat

Socket hang up

So my docker creation stopped working a while ago, getting lots of these errors:

{ Error: socket hang up
at createHangUpError (_http_client.js:331:15)
at TLSSocket.socketCloseListener (_http_client.js:363:23)
at emitOne (events.js:121:20)
at TLSSocket.emit (events.js:211:7)
at _handle.close (net.js:557:12)
at TCP.done [as _onclose] (_tls_wrap.js:356:7) code: 'ECONNRESET' }
An error occurred: connect ECONNREFUSED 144.217.49.155:443 { Error: connect ECONNREFUSED 144.217.49.155:443
at Object._errnoException (util.js:992:11)
at _exceptionWithHostPort (util.js:1014:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1186:14)
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect',
address: '144.217.49.155',
port: 443 } undefined

Don't know yet if it has to do with the fact that it's running as a Docker image, it's using exactly the same script at the latest version (at the moment of writing this 4.2.8).
I already tried several things, like pinging the address it's hanging up on from the docker console, but that seems to be working fine.

So I would like to know if anyone has encountered this on a "normal" installation, or if you have any ideas?

Plex cant determine correct name

I was wondering if it'd be possible to have the script also modify the mp4 title tag (not just the file name) as I think I've tried everything to try and get plex to recognize the names and it can't figure it out. They continue to be "Episode #" rather than the actual titles.
image

4k

Will a 4k option be available soon?

License?

Hi,
I just wanted clarification, what license does this project/repo use?

I didn't see any license file in the repo so I'm assuming it's licensed under the copyright of the author.

Would appreciate it if it was open source as opposed to the current "code available" status.

Add error handling for post-processing command

Currently if the postProcessing command errors/fails it will throw an error for the download it belonged to potentially resulting in unexpected behaviour.

Any errors that occur should be dealt with without interrupting/breaking the normal execution.

Can't set username and password docker

I have tried setting it via the quickstart questions with no luck but it never allows me to enter the username/password

I have tried skipping the quickstart questions and manually supplying the password and username to enviroment variables but it still doesn't work

I have tried copying a working config from a windows PC (both the whole file and parts of it along with cookies.json) but it still doesn't work and only shows

== Floatplane ==

Next we are going to login to floatplane...
An error occurred!
HTTPError: Response code 403 (Forbidden)
    at Request.<anonymous> (/fp/node_modules/got/dist/source/as-promise/index.js:117:42)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  code: undefined,
  timings: {
    start: 1626004839259,
    socket: 1626004839260,
    lookup: 1626004839260,
    connect: 1626004839290,
    secureConnect: 1626004839334,
    upload: 1626004839334,
    response: 1626004839385,
    end: 1626004839648,
    error: undefined,
    abort: undefined,
    phases: {
      wait: 1,
      dns: 0,
      tcp: 30,
      tls: 44,
      request: 0,
      firstByte: 51,
      download: 263,
      total: 389
    }
  }
}

Unauthorized in login

When trying to login, got the HTTPError: Response code 401 (Unauthorized).

Checked the password and username in floatplane, and it's not wrong. Probably a change in the login api.

Ability to change artwork filename / add suffix

Kodi looks for artwork in the format VIDEONAME**-thumb**.png, and so currently ignores the downloaded image.

It would be great to have an option to add a custom suffix string to the already defined filepath.

Error: Failure when trying to download a video and the preferred resolution doesn't exist

Had this with the recent "I'm considering retiring" video from Linus. I have my settings.json set to download 1080 videos, but the maximum resolution of that was 720. So it downloaded a partial 1kb file with the .part extension, and then errored out. As long as that 1kb file existed in my /videos/ folder, the script wouldn't even continue to checking if there were any new videos, it just kept spitting out an error about the failed 1kb.part file and refused to go on further. (Screenshot of the error uploaded to the Discord #help channel, but here's the url to it: https://cdn.discordapp.com/attachments/468977376794247199/670493998091337748/unknown.png )

Was 'fixed' by temporarily changing the .json settings to look for the 720p video and downloading that, then changing settings back to 1080 afterwards.

Error trying to download

Hi, whenever I run the float.js script it keeps exiting with this error:

An error occurred: connect ECONNREFUSED 144.217.49.155:443 { Error: connect ECONNREFUSED 144.217.49.155:443
    at Object._errnoException (util.js:1022:11)
    at _exceptionWithHostPort (util.js:1044:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1198:14)
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect',
  address: '144.217.49.155',
  port: 443 } undefined

I have a feeling it might be CloudFlare blocking the request because there were too many requests sent and it thinks it could be an attack. Any ideas?

delete aged videos

it would be useful to have a setting to delete videos from certain channels when they are over a certain age

i would find this useful as excluding vods i am only using this so i can watch stuff on my fire tv and so save progress in plex as floatplane rather annoyingly doesn't save progress.

Option to keep subchannel prefixes in video title

I'd like an option to be able to keep the subchannel prefixes that are normally stripped as part of the channel identification.

This is currently being removed the video title as part of the channel identification here.

Error

I keep getting this error
capture

maxParallelDownloads not working

Like already mentioned on Discord this setting seems to be broken. No matter what i use it always downloads all videos at once.

I would really appreciate if this would get fixed. Because then i should be able to download the complete backlog of LTT videos on Floatplane with better audio and no ad spots.

Add support for DD-MM-YYYY / YYYY-MM-DD in file names

For easier sorting of episodes, using a date based format (DD-MM-YYYY / YYYY-MM-DD) would probably be preferable.

This is also supported by the plex naming convention. As seen under "Date-Based Television Shows" section here

Using this, there should be no need to do any sort of episode numbering.
This would also work for sorting the files for people not using plex/emby/jellyfin, as they would be sortable by release date if using YYYY-MM-DD format.

Error - throw err

D:\Install>node float.js
D:\Install\float.js:20
throw err
^

SyntaxError: D:\Install\partial.json: Unexpected end of JSON input
at JSON.parse ()
at Object.Module._extensions..json (module.js:662:27)
at Module.load (module.js:556:32)
at tryModuleLoad (module.js:499:12)
at Function.Module._load (module.js:491:3)
at Module.require (module.js:587:17)
at require (internal/module.js:11:18)
at Object. (D:\Install\float.js:25:22)
at Module._compile (module.js:643:30)
at Object.Module._extensions..js (module.js:654:10)

D:\Install>pause
Press any key to continue . . .

[Feature] Add ability to pause download queue

This feature would ideally pause ongoing downloads, but optionally, or at the developer's discretion it should be able to stop the program moving onto any further video downloads in the queue. One potential method of doing this is to allow the resumption of downloads and video discovery by taking advantage of the db directory to store progress and the queue itself. Another would be to provide a hotkey to press to stop the download queue temporarily, and press again to resume.

Please let me know if further explanation is needed!

Videos Forbidden

I'm trying to look into this issue, maybe you might know what's up.

Half the videos that are downloading end up being 72bytes with html contents, but it only happens on random videos. If i re-run it, it works fine, but it ends up duplicating videos with different episode numbers.

Contents:

<title>Forbidden</title>Forbidden

Thanks

Suggestion to avoid issues with LMG

Hi,
I have a suggestion to avoid future possible conflict with LMG.

Perhaps consider renaming the project to "Unofficial Floatplane Downloader" or "Unofficial Downloader for Floatplane".

As someone who has made unofficial projects in the past and talked to LMG, one of the big issues is that they don't want unofficial projects to be associated with them or using their branding.
And this project name change would help differentiate the brand identity of this project from LMG and would help avoid future conflict with LMG.

Also, I would suggest removing the statement at the bottom of the ReadMe page as LMG has no right to ask you to take down this project if you're not infringing upon their trademark or copyright.

AluminiumTech

Move ffmpeg binary for docker release

As discussed on discord, having the ffmpeg on a user mounted bind is not a great idea, suggest moving it to inside the docker container, things like noexec on moounts can cause issues etc otherwise.

Error: Cannot find ffmpeg

on windows 7 i am getting this error when evry video finishes downloading

TechQuickie> TQ: Better Graphics For F [] 100% 0/0MBError: Cannot find ffmpeg
    at F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\processor.js:136:22 0.20MB/s 69/150MB ETA: 8m 48s
    at FfmpegCommand.proto._getFfmpegPath (F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\capabilities.js:90:14)
    at FfmpegCommand.proto._spawnFfmpeg (F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\processor.js:132:10)
    at FfmpegCommand.proto.availableFormats.proto.getAvailableFormats (F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\capabilities.js:517:10)
    at F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\capabilities.js:568:14
    at nextTask (F:\Floatplane-Downloader\node_modules\async\dist\async.js:5324:14)
    at Object.waterfall (F:\Floatplane-Downloader\node_modules\async\dist\async.js:5334:5)
    at FfmpegCommand.proto._checkCapabilities (F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\capabilities.js:565:11)
    at F:\Floatplane-Downloader\node_modules\fluent-ffmpeg\lib\processor.js:298:14

Issue with downloading to a NAS

Been having issues when downloading straight to a NAS. Either iSCSI share or SMB share it still gives me errors. Downloading straight to folder on the drive it is installed to is fine however.

https://pastebin.com/M2XqRzTd. Here is my pastebin of the errors.

Thanks!

ReadError: The server aborted pending request

This is the most common problem I run into after the new version update. After a while of downloading videos, it will get roughly halfway (between 40%-50%) through downloading a video when the entire download process will stop and wait for me to close the program when this error pops up. (I'm also unsure if the hard-coded path in the below screenshot helps or hurts anything in the process, but I definitely don't have this thing installed to c:\snapshot so I'm assuming it's your path.

https://cdn.discordapp.com/attachments/468978648460820490/819960585113305138/unknown.png

Also I'm not sure if this error is related to total amount of time elapsed when downloading (ie: it errors out after 60 minutes) or if it errors out after X number of files, but this is preventing me from leaving the program running all night to download my whole queue :(

Feature: Use publish date as file creation and modify date

Due to the episode numbering being completely random I chose to disable it as it was doing more harm to the sorting in Plex than good. With the publication date in the file name plex will create season folders for each year. However, if the creation and modification date of the file is edited to the publication date this will fix the issues when downloading a large backlog of videos. With 10,000 set in the settings, all videos on Floatplane from LTT will be downloaded. I used Advanced Renamer (free windows software) to edit the creation and modification dates based on the date in the file name and it has worked fairly well, although it does get stuck when loading the files so patience is needed.

Having this built into the software would be a really nice feature, as Sonarr and Radarr also do this to avoid new versions showing up as new in Plex.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.