Show HN: CineCLI – Browse and torrent movies directly from your terminal

314 points by samsep10l a day ago on hackernews | 101 comments

[OP] samsep10l | a day ago

leave a feedback folks:|

brrrrrm | a day ago

looks cool! one bit of feedback: make your demo gif get to the point faster. either practice typing a bit quicker or speed it up 2x for the typing section

froddd | a day ago

Or use a terminal recorder to generate it:

https://github.com/orangekame3/awesome-terminal-recorder

cfcfcf | a day ago

Perhaps consider a public domain film for the demo?

https://en.wikipedia.org/wiki/List_of_films_in_the_public_do...

shlip | a day ago

Great tool I would have loved back when I watched movies :) Could the same be done for music ?

vibesareoff | a day ago

>Use it. Fork it. Improve it.

These———LLM———slop———READMEs———make———me———vomit.

_zoltan_ | a day ago

Get used to it. Nobody will write readmes by hand. I've always hated it and now I'll just let the LLM write it.

nurettin | a day ago

It used to be "don't try to outsmart the compiler", I'm waiting for the time people start saying the same thing about LLMs.

rvz | a day ago

"you're absolutely right!"

thinkingemote | a day ago

It's certainly a sign of something. Not positive at best neutral. As you say it's at best an indication that the author doesn't like writing.

Could it be an indication that the author didn't write the actual code? Is it a sign that the author doesn't really care that much about their project and furthermore could that be a sign that the project is also be be valued by us as much as the author? Maybe the code quality and documentation is less important than the utility. After all many of us don't like writing tests for code!

Perhaps but perhaps we just need to get used to these signs too and get over it.

latexr | a day ago

This argument is getting old. Just because you don’t like something, it doesn’t mean everyone agrees and will take the same shortcuts you do. Fortunately not everyone in the world has the same disregard for their own work, and many of us understand the signal it sends when you’re unwilling to even write your own instructions.

If you want your READMEs sloppily written by LLMs, that’s your prerogative. Just like it’s the prerogative of everyone visiting your repo and bumping into a slop README to decide if they want to even give your tool a second look before abandoning it.

Slop READMEs suggest slop code. Soon everyone who’ll even look at your code are other sloppers and (if it ever gets popular) malicious actors who’ll exploit it in an afternoon because no users understand anything the code does.

_zoltan_ | a day ago

the world is moving towards this, so all the naysayers will be dinosaurs :-)

KeplerBoy | a day ago

Then get some freaking taste in READMEs. We can guide the LLMs to better results.

latexr | a day ago

The emoji everywhere is what does it for me. Emoji on every title. Emoji on every item of a list. The same ones over and over. So much visual noise. They’re used like a deficient visual crutch.

mr_mitm | a day ago

I always tell my LLMs: "Try not to sound like an LLM. And no emojis!"

Works alright.

shaky-carrousel | a day ago

Most boring part of developing is writing docs. I see it as boilerplate. If you don't like it, you're free to open a PR.

vibesareoff | a day ago

The whole repo is fucking boilerplate.

g947o | a day ago

Might want to add a disclaimer/warning and/or add additional confirmation/wording before downloading. You don't want your user to go to jail because of a mistake that could be avoided: https://news.ycombinator.com/item?id=46364645

behnamoh | a day ago

does it violate ISP terms (like at&t)? how to make it less obvious to them?

dewey | a day ago

That depends entirely on what you download, the country you are in and your ISP.

haunter | a day ago

Yes, it’s just a plain CLI access to YTS torrents

    BASE_URL = "https://yts.lt/api/v2"

[OP] samsep10l | 15 hours ago

kinda , yeah - sickos

Barathkanna | a day ago

the tool itself doesn’t change anything from the ISP’s perspective. It just fetches metadata and opens magnet links. What matters is what you download, where you live, and how your torrent client behaves, not whether you clicked the magnet in a browser or a terminal.

caminante | a day ago

The subject is movies (cough copyrighted), not Linux distros.

This is an important caveat to raise for someone experimenting.

To your point, it's the upload that gets you in trouble in the US (assuming possession is not illegal in itself)

g947o | a day ago

I think the issue is the lack of disclaimer/warnings in the CLI, unlike what most torrent sites do. These sites are very considerate, e.g. for YTS

> Warning! > > If you are not using a VPΝ already: Accessing and Playing Torrents on a Smartphone is risky and dangerous. You may be in [City, Country] and using: () . Your IP is [IP] . We strongly recommend all users protecting their device with a VPΝ.

I couldn't find anything in the CLI, at least from that gif.

Someone who is new or less "experienced" in this might not be aware that they need to use a VPN or similar, since the CLI makes it so easy to search and download. Even you are an experienced user, you may misread and start torrenting by mistake before connecting to VPN.

One could argue this is a serious bug.

welferkj | a day ago

Standard precautions apply when using the internet while under authoritarian jurisdictions.

caminante | a day ago

>authoritarian

Copyright is widely adopted even in the most liberal democracies.

Datagenerator | a day ago

Thank you for creating this!

unpopularopp | a day ago

If you know how to use a CLI tool then you could also know how to download proper high quality releases without much effort. No private tracker and interview shenanigans. YTS is a bottom of the barrel quality. I actually don't even see who is the target audience of this unless you just made as an exercise to build an app on top of an API.

flave | a day ago

Where’s good these days? I’m feeling my old Napster ways bubbling back up from the deep…

elliotec | a day ago

Same, I know how to use a terminal quite well but don’t know the latest best way to “sail the seas” as they say.

unpopularopp | a day ago

First of all this the ground 0 for everything piracy (and more, generally free stuff) https://fmhy.net/

Here are the recommended film sites https://fmhy.net/video#torrent-sites

I generally download from https://rutracker.org/ (need an account to search not for downloading). They have pretty much everything that you can imagine (not just films) and in proper quality too (BD Remuxes etc). There will be no scene releases here because they add russian/ukrainian dubs and subs to almost all films but that's a small problem.

The other one is Heartive which lists torrents from the DHT network with Magnet links https://heartiveloves.pages.dev/ You just click on the torrent icon in the middle top of the selected film and all the available releases will be listed in plain text. The only downside that you need to be familiar with the release tags

Last but not least https://nyaa.si/ if you have a slight interest in anything japanese from manga to anime to much more

thijson | a day ago

Thanks for the links. I'm so out of it these days, I only knew of btdig.com for DHT searches.

mrbluecoat | a day ago

plexman | 23 hours ago

voidUpdate | a day ago

I just use ye old faithful of piratebay, through the tor browser so my ISP doesn't do shenanigans to it, then ffmpeg to get only the streams I care about (video, english audio / japanese audio + english subtitles) and reencode it to h264 mp4 so the files aren't gigantic and are compatible with everything. A bit old-school maybe but it generally works fine for me.

I live in the UK so I'll also sometimes pull stuff from iPlayer, which yt-dlp works perfectly for, and also off youtube

_zoltan_ | a day ago

that seems like a lot of work compared to click click watch that one can achieve with *arr stack.

voidUpdate | a day ago

Sure, but this way I know what I'm getting, rather than just hoping I get the right thing. I don't mind doing a little bit of cleanup to make sure I'm getting what I want

squigz | a day ago

Just to be fair, the *arr stack can filter by various things so you only grab the releases that meet your requirements.

throwaway98753 | a day ago

And if you don't want to torrent at all, there are recent tools (nzbdav) to build a large *arr library that streams directly from usenet, without need for self-storage

_zoltan_ | a day ago

in several countries it's fully legal to download anything for personal use, so I don't care :P

IlikeKitties | a day ago

Can you please reconsider using TOR for piracy? It strains the Tor Network and makes life harder for exit node providers. The Tor Project has advised against it as well[0]. There are many cheap VPN Providers that allow port forwarding and will give you an even better torrenting experience.

Using the Tor-Browser to get the links on ThePirateBay et. al. is of course fine, torrenting the content though is where it becomes a problem.

[0] https://support.torproject.org/about-tor/using-and-sharing/t...

voidUpdate | a day ago

I don't torrent through tor, I just use it to get the links. I've found that if I use TPB on the normal internet, my ISP (or someone who can see my connections) seems to be poisoning the results, since all my torrents result in a 1.89gb executable file that I'm sure as hell not opening. Getting the links through tor doesn't have the same issue, and then I download them over the normal internet, and everything works fine

bigmadshoe | a day ago

If you're connecting through a VPN there is no way for your ISP to know that you're using TPB or any other website.

voidUpdate | a day ago

I know, that's why I use tor to get the links

hypercube33 | a day ago

They can if you let DNS leak to their servers so make sure you really firewall your ship off

IlikeKitties | a day ago

Can you share the magnet link that they send you and maybe the name of your ISP? I'd be super interested in analysing this!

voidUpdate | a day ago

I'll try to remember to but it'll be about 16 hours away

meindnoch | a day ago

Impossible. How would your ISP (or VPN provider or anyone) be MITMing the TLS connection to TPB?

gs17 | a day ago

> 1.89gb executable file

Add me to the list of people curious about this. It feels more like some sort of bug than a real attack, it would be odd to use such a huge file for every torrent.

OptionOfT | a day ago

There is an uptick of isos and exes masqueraded to look like episodes of popular shows.

hombre_fatal | a day ago

On the other hand, the system would be doomed if it relied on 1:1 message board scolding the few good actors to be viable.

cantalopes | a day ago

I highly recommend setting up a kodi combo: real-debrid/fen/seren/coco scrapers/tmdb helper with your trakt account/arctic fuse 2 (netflix like skin). It is a complete "stream everything" netflix interface.

It takes quite a while to understand how to set everything up and needs tons of customization (which is also a positive), but reddit is your friend. For example this is a good guide (although bit dated, some info may be older but generally it still fits https://www.reddit.com/r/Addons4Kodi/comments/zzfdtb/allincl... )

I know people also use *arr stack and jellyfin to setup their own library but my problem is that i never /know/ what to watch. With this setup, i just turn it on, get to browse customized/recommended and random lists like in netflix and it streams directly via real-debrid or premiumize

Oh; if you decide to have a dedicated raspberry pi for this thing (so you can use it with tv easilly), use a regular raspbian os or something, do NOT use libreelec. It is trying to be heavily customized, but in the end is just worse, buggy, bad wifi support, slow releases from small team, and unability to manually update packages

hambos22 | a day ago

> I know people also use *arr stack ... i never /know/ what to watch

For discoverability you should check overseerr, which is pluggable via API to sonarr and radarr

rochansinha | a day ago

I have been using realdebrid with POV on kodi and it works like a charm. Saving a bunch by not needing to subscribe to what seems like a million OTT’s

BeetleB | 22 hours ago

> I know people also use *arr stack and jellyfin to setup their own library but my problem is that i never /know/ what to watch.

For people like me, knowing what to watch is never a problem. Getting time to actually watch it is.

I suggest finding a way to do your own curation.

For movies, you could just start with the IMDB Top 250 (pick at random). They used to have other lists (e.g. top non-English movies, etc), but I can't seem to find them any more.

colinsane | a day ago

for public torrents, skip the trackers and just run a DHT crawler like bitmagnet. it'll take a month to "catch up", but after that you'll have more indexed content than any individual tracker & it'll be way snappier.

tomtomtom777 | a day ago

This is neat. I didn't realize this was possible with the protocol. Thanks!

g947o | a day ago

For old content I often spin up the old RARBG database.

Too bad it's gone.

pedromoss | a day ago

Great job! I've achieved comparable results on my Android TV with Stremio[1] and the Torrentio[2] plugin. Being able to use the terminal for streaming would be a nice thing to have in Linux. It would also be cool to check for malicious files before downloading.

[1]: https://www.stremio.com [2]: https://torrentio.org/

danr4 | a day ago

shhhhhhhh

Frotag | a day ago

So torrentio provides the metadata and downloads the video on-demand. And stremio handles UI and playback. That's a pretty neat way to keep the storage reqs minimal.

This got me thinking if jellyfin could be configured for something similar (I don't feel like migrating to yet-another-media-library) and turns out it supports .strm files [0], which are literally just urls in a text file (much like .m3u8 playlists) [1]. My use case is private trackers so I would have to write a custom scraper to replace the torrentio functionality anyways. So it probably wouldn't be too hard to have it generate .strm placeholders at the same time. Hopefully there aren't any performance / transcoding issues ...

[0] - https://github.com/search?q=repo%3Ajellyfin%2Fjellyfin+strm&...

[1] - https://emby.media/support/articles/Strm-Files.html

bl4kers | a day ago

bryanrasmussen | a day ago

What I'd like - a tool to stream to timestamps and then stream out between two timestamps to a local file.

This would really improve various workflows.

cbluth | a day ago

How do you stream a timestamp?

reactordev | a day ago

You negotiate the header to find the video length, to then issue http get requests with the offset to the timestamp. Sometimes there’s an API that cuts with ffmpeg and returns the buffer. Sometimes you just need to fetch the raw bytes between offset+0 and offset+n.

bryanrasmussen | a day ago

I'm not sure if you're being facetious and making fun of my saying stream a timestamp instead of stream to a particular time in the video, but if so I guess https://news.ycombinator.com/item?id=46364765 suggested a way.

I just expected you would stream to point X in the stream that would be to the timestamp set to start and then to point y which would be the end. Obviously it would have to be able to figure out how the streamed file would map to time, which I don't know how to do which is why I said I would like a tool that did it other than announcing I made a tool that did it myself.

Of course obviously some tools like yt-dlp etc. have this capability with the --download-sections property but I want something for torrents.

brendami-8 | a day ago

How do you stream a timestamp?

bryanrasmussen | a day ago

bryanrasmussen | a day ago

in fact I will point out that if this were possible and people had a lot of data of people using streaming out sections of torrents instead of the whole stream it would be another bit of evidence for torrents being used for fair use.

tinuviel | a day ago

YSK there is a (seemingly famous) subreddit named eyeblech that is pretty graphic/NFSW.

zwnow | a day ago

So people cant name their project in a way cuz of some reddit gooners? Fuck reddit lol

kiddico | a day ago

Not that kind of nsfw.

zwnow | a day ago

Maybe nsfl would have been more fitting then

notachatbot123 | a day ago

PSA: It is NSFL, don't be curious and ruin your day.

cachius | a day ago

This community was banned for repeatedly violating Reddit's Moderator Code of Conduct.

g947o | a day ago

I'm confused -- how is that related to the topic here?

herghost | a day ago

the linked Github repo shares the name

Dilettante_ | a day ago

I assume OP knows what the word they use as their alias means?

philonoist | a day ago

Hopefully there is a Libgen version of this.

hauxir | a day ago

built something similar but a webapp where you can search using any tracker supported by jackett and stream in your browser, can have a look here https://github.com/hauxir/rapidbay

seyz | a day ago

I honestly couldn't tell if the GIF was lagging or if that's the actual typing speed. I give lessons to help reach double digit WPM if you're interested

nmstoker | a day ago

Yes, this seems something that would be so easy to get right.

Not to take away from the achievement of this repo but no one benefits from a recording where the person doing it hasn't decided up front what they're going to demo and then ponders if they type magnet or just delete it and go with the default. If someone has gone to this much effort with a project, surely they can do a few fun throughs, till they can demo it smoothly. Sure, leave pauses, for people to follow what's actually happening but don't draw out the typing, that's just painful!

mlrtime | a day ago

Came here for this comment, that was the slowest video ever hah. Couldn't watch till the end.

Also OP, you have a pip update!

godelski | a day ago

Ironically their GitHub profile links to their monkeytype profile. But really, they just need to learn some basic ffmpeg...

Twixes | a day ago

An echo of Popcorn Time can he heard bouncing around the software cathedral… The takedown notices will start coming in if CineCLI is too easy to use! Though looks like it doesn't play anything itself – _might_ be safe

japborst | a day ago

RIP Popcorn Time. It was fucking amazing.

squibonpig | a day ago

Is it actually gone? I found official looking sites on a quick Google.

scirob | 21 hours ago

its strange how we can't just build software that then works for ever. The emulation boys got something going but netowkred software unlikley

scirob | 21 hours ago

could we not bring back popcorn time if it goes over to decentralized github : https://radicle.xyz/

dcreater | a day ago

Looks vibe coded.

backtogeek | a day ago

Probably is, nice that people who do other things apart from learning to code all day can get their ideas out of their heads.

backtogeek | a day ago

looks pretty cool, will add it to the never ending list of stuff to test

0nabilbk | a day ago

Great Job, Love the idea

G_o_D | a day ago

Terrarium TV Was OG which gave rise to forks like corn Time, Cinema APK, TeaTV, BeeTv

orliesaurus | a day ago

W for pirates

indigodaddy | a day ago

Assuming we could uv run/tool install this or whatever is the best quick/easy way with uv?

nemoniac | 23 hours ago

uvx cinecli search "star wars"

0x457 | a day ago

Torrenting without seeding should be a crime.

jklein11 | a day ago

Depending on the content you are torrenting it might be a crime. That goes for Torrenting while seeding too though

mikalauskas | 16 hours ago

This is just a yts API wrapper