GithubHelp home page GithubHelp logo

justchokingaround / lobster Goto Github PK

View Code? Open in Web Editor NEW
435.0 11.0 29.0 240 KB

mmm lobster

License: GNU General Public License v2.0

Shell 93.69% Ruby 1.73% Nix 4.58%
movie movies mpv series tv tvshow tvshows free scraper shell

lobster's Introduction

Showcase

lobster_latest_demo.mp4

Join the discord server!

Overview

Install

Arch

Note: it is recommended to use the lobster-git package, as it is more up to date, and as the project is currently being actively maintained

paru -S lobster-git

or

paru -S lobster

Debian (using makedeb and mist)

Here are the full installation instructions for Debian:

Install the dependencies:

sudo apt update && sudo apt upgrade && sudo apt install git wget

During this step write makedeb and enter, when prompted:

bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"
wget -qO - 'https://proget.makedeb.org/debian-feeds/prebuilt-mpr.pub' | gpg --dearmor | sudo tee /usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg 1> /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/prebuilt-mpr-archive-keyring.gpg] https://proget.makedeb.org prebuilt-mpr $(lsb_release -cs)" | sudo tee /etc/apt/sources.list.d/prebuilt-mpr.list
sudo apt update && sudo apt install mist

During this step when prompted to Review files for 'lobster-git'? [Y/n], write n and enter.

mist update && mist install lobster-git

Linux (from source)

sudo curl -sL github.com/justchokingaround/lobster/raw/main/lobster.sh -o /usr/local/bin/lobster &&
sudo chmod +x /usr/local/bin/lobster

Nixos (Flake)

Add this to you flake.nix

inputs.lobster.url = "github:justchokingaround/lobster";

Add this to you configuration.nix

environment.systemPackages = [
  inputs.lobster.packages.<architecture>.lobster
];
Or for run the script once use
nix run github:justchokingaround/lobster#lobster
Nixos (Flake) update

When encoutering errors first run the nix flake update command in the cloned project and second add new/missing dependencies to the default.nix file. Use the nixos package search to find the correct name.

nix flake update

Mac

curl -sL github.com/justchokingaround/lobster/raw/main/lobster.sh -o "$(brew --prefix)"/bin/lobster &&
chmod +x "$(brew --prefix)"/bin/lobster

Windows

Windows installation instructions
  • This guide covers how to install and use lobster with the windows terminal, you could also use a different terminal emulator, that supports fzf, like for example wezterm
  • Note that the git bash terminal does not have proper fzf support
  1. Install scoop

Open a PowerShell terminal https://learn.microsoft.com/en-us/powershell/scripting/install/installing-powershell-on-windows?view=powershell-7.2#msi (version 5.1 or later) and run:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
  1. Install git,mpv and fzf
scoop bucket add extras
scoop install git mpv fzf
  1. Install windows terminal (you don't need to have a microsoft account for that) https://learn.microsoft.com/en-us/windows/terminal/install

  2. Install git bash (select the option to add it to the windows terminal during installation) https://git-scm.com/download/win

(The next steps are to be done in the windows terminal, in a bash shell)

  1. Download the script file to the current directory
curl -O "https://raw.githubusercontent.com/justchokingaround/lobster/main/lobster.sh"
  1. Give it executable permissions
chmod +x lobster.sh
  1. Copy the script to path
cp lobster.sh /usr/bin/lobster
  1. Use lobster
lobster <args> or lobster [movie/tv show]

Usage

Usage: lobster [options] [query]
If a query is provided, it will be used to search for a Movie/TV Show

Options:
    -c, --continue
      Continue watching from current history
    -d, --download [path]
      Downloads movie or episode that is selected (if no path is provided, it defaults to the current directory)
    -e, --edit
      Edit config file using an editor defined with lobster_editor in the config (\$EDITOR by default)
    -h, --help
      Show this help message and exit
    -i, --image-preview
      Shows image previews during media selection (requires ueberzugpp to be installed to work with fzf)
    -j, --json
      Outputs the json containing video links, subtitle links, referrers etc. to stdout
    -l, --language [language]
      Specify the subtitle language (if no language is provided, it defaults to english)
    --rofi, --dmenu, --external-menu
      Use rofi instead of fzf
    -p, --provider
      Specify the provider to watch from (if no provider is provided, it defaults to UpCloud) (currently supported: Upcloud, Vidcloud)
    -q, --quality
      Specify the video quality (if no quality is provided, it defaults to 1080)
    --quiet
      Suppress the output from mpv when playing a video
    -r, --recent [movies|tv]
      Lets you select from the most recent movies or tv shows (if no argument is provided, it defaults to movies)
    -s, --syncplay
      Use Syncplay to watch with friends
    -t, --trending
      Lets you select from the most popular movies and shows
    -u, -U, --update
      Update the script
    -v, -V, --version
      Show the version of the script
    -x, --debug
      Enable debug mode (prints out debug info to stdout and also saves it to /tmp/lobster.log)

  Note:
    All arguments can be specified in the config file as well.
    If an argument is specified in both the config file and the command line, the command line argument will be used.

  Some example usages:
    lobster -i a silent voice --rofi
    lobster -l spanish -q 720 fight club -i -d
    lobster -l spanish blade runner --json

-c / --continue argument

This feature is disabled by default because it relies on history, to enable it, you need add the following line to the lobster_config.txt file:

history=1

In a similar fashion to how saving your position when you watch videos on YouTube or Netflix works, lobster has history support and saves the last minute you watched for a Movie or TV Show episode. To use this feature, simply watch a Movie or an Episode from a TV Show, and after you quit mpv the history will be automatically updated. The next time you want to resume from the last position watched, you can just run

lobster -c

which will prompt you to chose which of the saved Movies/TV Shows you'd like to resume from. Upon the completion of a movie or an episode, the corresponding entry is either deleted (in case of a movie, or the last episode of a show), or it is updated to the next available episode (if it's the last episode of a season, it will update to the first episode of the next season).

Showcase

image

image

image

Please note:

  • The history file can be found at ~/.local/share/lobster/lobster_history.txt
  • A movie or TV show episode is automatically marked as completed/updated after the user watches more than 90% of its content

--clear-history / --delete-history argument

This argument allows you to delete the history file

-d / --download <path> argument

This option lets you use lobster as you normally would, with the exception that instead of playing the video in your player of choice, it will instead download the video. If no path is specified when passing this argument, then it will download to the current working directory, as an example, it would look like this:

lobster -d '.' rick and morty

or

lobster rick and morty -d

If you want to specify a path to which you would like to download the video, you can do so by passing an additional parameter to the -d or --download argument, for instance: using a full path:

lobster -d "/home/chomsky/tv_shows/rick_and_morty/" rick and morty

or using a relative path:

lobster -d "../rick_and_morty/" rick and morty

-e / --edit argument

By passing this argument you can edit the config file using an editor of your choice. By default it will use the editor defined in the lobster_config.txt file, but if you don't have one defined, it will use the $EDITOR environment variable (if it's not set, it will default to vim).

-i / --image-preview argument

By passing this argument you can see image previews when selecting an entry.

For rofi it will work out of the box, if you have icons enabled in your default configuration.

Example using my custom rofi configuration (to customize how your rofi image preview looks, please check the configuration section)

Showcase

image

For fzf you will need to install ueberzugpp.

Showcase

image

Installation instructions for ueberzugpp

On Arch Linux you can install it using your aur helper of choice with:

paru -S ueberzugpp

On Mac you can install it using homebrew with:

curl -s -O "https://raw.githubusercontent.com/jstkdng/ueberzugpp/master/homebrew/ueberzugpp.rb"
brew install ./ueberzugpp
rm ueberzugpp

In other cases, you can build it from source.

-j / --json argument

By passing this argument, you can output the json for the currently selected media to stdout, with the decrypted video link.

-l / --language <language> argument

By passing this argument, you can specify your preferred language for the subtitles of a video. If no parameter is specified, it will default to english.

Example use case:

lobster seven -l spanish

This is also valid, and will use english as the defined subtitles language:

lobster -l weathering with you

--rofi / --dmenu / --external-menu argument

By passing this argument, you can use rofi instead of fzf to interact with the lobster script.

This is the recommended way to use lobster, and is a core philosophy of this script. My use case is that I have a keybind in my WM configuration that calls lobster, that way I can watch Movies and TV Shows without ever even opening the terminal.

Here is an example of that looks like (without image preview):

Showcase

image

-p / --provider <provider> argument

By passing this argument, you can specify a preferred provider. The script currently supports the following providers: UpCloud, Vidcloud. If you don't pass any provider in the parameters, it will default to UpCloud.

Example use case:

lobster -p Vidcloud shawshank redemption

This is also valid, but will use UpCloud instead:

lobster -p shawshank redemption

-q / --quality <quality> argument

By passing this argument, you can specify a preferred quality for the video (if those are present in the source). If you don't pass any quality in the parameters, it will default to 1080.

Example use case:

lobster -q 720 the godfather

This is also valid, but will use 1080 instead:

lobster the godfather -q

--quiet argument

By passing this argument, you can suppress the output of mpv, when playing a video.

Example use case:

lobster --quiet fight club

-r / --recent <tv|movie> argument

By passing this argument, you can see watch most recently released movies and TV shows. You can specify if you want to see movies or TV shows by passing the tv or movie parameter. If you don't pass any parameter, it will default to movie.

Example use case:

lobster -r tv

This is also valid, but will use movie instead:

lobster -r

-s / --syncplay argument

By passing this argument, you can use syncplay to watch videos with your friends. This will only work if you have syncplay installed and configured.

-t / --trending argument

By passing this argument, you can see the most trending movies and TV shows.

-u / -U / --update argument

By passing this argument, you can update the script to the latest version.

Note: you will most likely need to run this with sudo

Example use case:

sudo lobster -u

-v / -V / --version argument

By passing this argument, you can see the current version of the script. This is useful if you want to check if you have the latest version installed.

-x / --debug argument

By passing this argument, you can see the debug output of the script. This will redirect all the stderr output to stdout, printing it to the terminal, while also saving it to a log file: /tmp/lobter.log

Note: fzf prints the finder to stderr, so this will also be redirected to stdout, and by extension printed to the terminal and saved to the log file.

Configuration

Please refer to the wiki for information on how to configure the script using the config file.

Contributing

All contributions are welcome, and I will to review them as soon as possible. If you want to contribute, please follow the following recommendations:

  • All help is appreciated, even if it's just a typo fix, or a small improvement
  • You do not need to be a programmer to contribute, you can also help by opening issues, or by testing the script and reporting bugs
  • You do not need to be very experienced with shell scripting to contribute, I will gladly help you with any questions you might have, and I will also review your code
  • If you are unsure about something, please open an issue first, start a discussion or message me personally
  • Please make sure that your code is POSIX compliant (no bashisms)
  • Please make sure that your code passes shellcheck
  • Please use shfmt to format your code
  • If you are adding a new feature, please make sure that it is configurable (either through the config file and/or through command line arguments)
  • I recommend reading the philosophy section of the README, to get a better understanding of the project (TODO)

You can find the current roadmap here, which contains TODOs and the current progress of the project: https://github.com/users/justchokingaround/projects/2/views/1?query=is%3Aopen+sort%3Aupdated-desc

Dependencies

  • fzf
  • curl
  • grep
  • sed
  • patch
  • mpv
  • html-xml-utils (for fixing html encoded characters) (optional)
  • rofi (external menu)
  • socat (for getting the player position from the mpv socket)
  • vlc (optional)
  • iina (optional)

In case you don't have fzf installed, you can install it like this:

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Uninstall

Arch Linux

paru -R lobster

Linux

sudo rm $(which lobster)

Mac

rm "$(brew --prefix)"/bin/lobster

Windows

rm /usr/bin/lobster

lobster's People

Contributors

6d6f7274686f6e avatar benediktbroich avatar diniamo avatar eatmynerds avatar ek234 avatar evantj avatar galabis avatar hazen2215 avatar ibz096 avatar justchokingaround avatar medanisjbara avatar ohxxm avatar pirate486743186 avatar scyne avatar willkirkmanm 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  avatar  avatar  avatar  avatar  avatar  avatar

lobster's Issues

no mort mort

Describe the bug
Cant look at rick and morty

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'rick and morty'
  2. Click on season 6
  3. Scroll down to episode 6
  4. See error

Expected behavior
Episode about dinosaurs

default editor

I think the default editor should be nano, it's more noob friendly.

A lot of people, don't even know how to leave vim. They are even people that rebooted because they didn't know how to leave vim.

Empty output

Lobster doesn't give any sort of output, when a series/movie is searched. Whenever I search something (for eg) lobster breaking bad, it outputs an empty list.

Steps to reproduce the behavior:

  1. Installed lobster from AUR
  2. Run the respective command

Output:

2023-02-18_13-29

  • OS: Arch Linux with KDE (and command used in konsole and yakuake)
  • Browser: Firefox
  • Version: 3.0.4

Additional context:
I came across a closed issue about the same error, but it was said to be due to the website (himovies). But even after using a VPN connection where the website is working, I get the same output.

sflix.se is the best to scrape

Sflix.se uploads content faster than himovies. She-hulk was already up earlier.

In the script with himovies
1

example vidcloud link was already up in sflix.se
2

but it's fine if you don't want to it's just a suggestion

The script stop working suddenly

Describe the bug
Launch the script, show the header, choose something tv/movie. Until this all works.
Choose tv, season,episode, And just enter in a loop, try to find the media but exit and show the msg
{{{
Press Enter to continue watching, or Ctrl+C to exit
Loading TV: SX Ep X...
Press Enter to save episode progress or Ctrl-C to exit (this will not reset your progress)
}}}
All works fine in firefox and qutebroser in both void linux and venom linux

Ability to change instance of api.consumet.org

Is your feature request related to a problem? Please describe.
api.consumet.org is not working currently. consumet is self hostable software there and there are people that have hosted it. I found this one https://api.haikei.xyz

Describe the solution you'd like
In the config variables be able to change the consumet url

Describe alternatives you've considered
Theoretically I could add this myself and make a pr. But I am bad at python and don't know much about shell scripting

Additional context
Add any other context or screenshots about the feature request here.

LOBSTER DOES NOT WORK FOR ME PLS HELP

Describe the bug
Lobster doesn't work. On running the lobster command, it takes too long to load the thing that will show me the options to choose my tvs show/movie. and when it does load, nothing shows up.

To Reproduce
Steps to reproduce the behavior:

  1. Install lobster normally.
  2. Run lobster in terminal.
  3. enter name of tv show you want to watch.

Expected behavior
to be shown the thing that contains all the options for my tv show

Screenshots
image

Desktop (please complete the following information):

  • OS: Endeavour OS
  • Browser - Firefox
  • Version - 104.0 (64-bit)

Saved progress jumped into 'Season', not 'Episode'

Describe the bug
When watching Tv shows, saved progress jumped into the next season, not the next episode.

To Reproduce

  1. Watch an episode from a Tv show.
  2. Quit the player (q for mpv)
  3. Press enter to save the progress.
  4. Press enter again to continue watching.
  5. It'll show the next season, not the next episode.

[I was watching Star wars:The clone wars season 1 - episode 11, pressed enter to save the progress, and pressed enter again to continue watching, it showed season 2 - episode 1, not season 1 - episode 12. Reproduced the error 2 times.]

Expected behavior
Next episode will be shown in continue watching.

Screenshots
screenshot-selected-221008-0012-20

Feature Request: Show Trending/Popular Movie and/or TV Picks

Showing Trending/Popular movie or tv picks can be a great feature when trying to choose what to watch. A few ways is to parse an argument such as -t for trending and list all trending/popular picks in FZF. Another way is just to default this when launching lobster, either way, this would be a great feature that differs from the rest of CLI programs to watch content.

Something broke lobster on mac

It's been working fine for a while now, but recently whenever I try to watch something new or continue from history it tries loading, then immediately says "Press Enter to save episode progress or Ctrl-C to exit (this will not reset your progress)"
After pressing enter and trying again it then says "/opt/homebrew/bin/lobster: line 184: [: : integer expression expected".
Line 184 is "[ "$resume_from" -eq -1 ] && resume_from=0"

--height option is currently not supported on this platform

I am receiving this error when trying to search for a movie:
--height option is currently not supported on this platform

I have installed all the dependencies and followed the setup process exactly.

image

Edition: Windows 11 Pro
Version: 21H2
OS Build: 22000.1098

No links found

I've been trying to watch multiple different shows and movies but it keeps saying "no links found"
i've restarted my pc and reinstalled but nothing is working

android mpv error "no file given"

Describe the bug
Running Lobster on android system fetches title then opens mpv succesfully but mpv says no file given

To Reproduce
Steps to reproduce the behavior:

  1. Go to turmux install fzf and lobster
  2. input any movie and then hit return key
  3. Mpv opens displaying error (as floating android toast message) then immediately closes

Expected behavior
MPV should display the selected video stream

Smartphone (please complete the following information):

  • Device: Google Pixel 4a
  • OS: Android 13 (CalyxOS)
  • Browser: Turmux (terminal emulator)

"No Links Found" in every query, Even for the histories

Describe the bug
It started yesterday I guess. When I was trying to play "The Phantom Menace". It just showed No links found. I assumed it was an old movie. So after a while, I tried another. Same. Then I tried some from the history with lobster -c, and the same issues again. Tired of upgrading the system programs, assuming some dependency fault. Update the actual scripts through lobster -u. Totally removed and reinstall again. Nothing works. Lobster is now my fav movie/tv watching method. So, I'm pretty down.

To Reproduce

  1. Type lobster in the terminal
  2. enter a search query
  3. select from the options
  4. Here's the error

Expected behavior
I just expect the script to work.

Screenshots
screenshot

Desktop (please complete the following information):

  • OS: Gentoo
  • Browser: Brave
  • Browser Version: 1.43.93
  • Lobster Version: 2.0.2

Temporary break

I have somewhat lost motivation to maintain this project atm, and I currently have exams. I would love to make lobster great again, I have lots and lots of feature ideas that I already know how to and have implemented in my jerry script, however I would like to completely rewrite lobster from scratch, so the code structure is easier to understand and maintain, and everything is more readable. I apologize for ignoring the issues, I will fix them all in the next big release, I can promise it will happen in less than a month. Sorry for the wait ๐Ÿ˜”

When an episode ends, lobster increases seasons, not episodes

Description:

When an episode ends, the player quits, and you save your progress to history, lobster increases not the episode number in the history file but the season number.

Steps to reproduce the behavior:

  1. Run lobster
  2. Say, open 'Family Guy' season 3 episode 1
  3. Fast forward to the end of the episode and just let it end and player quit
  4. Press Enter to save episode progress
  5. Press Enter to continue watching
  6. Note that the suggested Family Guy history is season 4 episode 1, not season 3, episode 2

Context:

on number choice inputs ignore all blank spaces before the number

example:

choose season (1-4)
   1 
#_ <--- blank spaces here on input aren't accepted

program throws an error

possible solution

implement a regexp or something to ignore all blank spaces before the number
(just in case the user accidentally hits space bar before hitting enter)

subtitles in mpv android

I tried to add

-e "subs" "$subs_links"

to the am start command for mpv/android, but it gives an error

W Bundle : Key subs expected Parcelable[] but value was a java.lang.String. The default value <null> was returned.

The only sensible reference on how to send a parcelable with am start says it's not possible but that was in 2010, maybe now it is possible?

Support for new movies, new episodes and trending movies/series

Is your feature request related to a problem? Please describe.
No it is not related to a problem.

Describe the solution you'd like
The api now has endpoints for new movies, new episodes and trending movies and series. Their respective urls are

https://api.consumet.org/movies/flixhq/recent-movies
https://api.consumet.org/movies/flixhq/recent-shows
https://api.consumet.org/movies/flixhq/trending

Describe alternatives you've considered
Not applicable.

Additional context
The trending option lists 48 entries. The first 24 are always movies and the remaining 24 are always tv shows. There is no way to list movies or tv shows only. There is also no way to list more than that number of entries.

Option to download the episod using Axel for example

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

What does it DO???

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

[minor] end of series not taken into account in history

Describe the bug

errors when reaching end of series with history

  1. /usr/bin/lobster: 63: [: grep: unexpected operator
  2. /usr/bin/lobster: 63: cannot open /home/XXXX/.config/lobster/lobster_history.txt: No such file

To Reproduce

Steps to reproduce the behavior:

  1. start watching the very last episode, exit and save it in history
  2. watch the last episode to the end
  3. when ask to save progress, you get error 1

with no prior history at all

  1. directly watch last episode to the end
  2. try to save progress, error 2

Expected behavior
It should recognize it's at the end, instead of trying to save it.

Desktop (please complete the following information):

  • OS: Debian 11/amd64
  • Version 3.05

error 105, 50

XRecorder_21122022_013910.mp4

android 10, galaxy a12, termux from froid

the ability to choose Celluloid as the player

Celluloid is a mpv frontend that integrates better with Gnome, and it can accept mpv arguments by using "--mpv-MPVOPTION=VALUE", so it would be appreciated if you could implement it in lobster. Thanks in advance.

[minor] xdg compliance

technically lobster_history.txt should have been in .local/share/lobster/

Does it matter? The logic of the xdg folders, is to allow easier data management. .cache can be safely deleted, .config needs some work to be recreated, .local is for user generated data that are the most valuable.

When selecting from the history, the cursor is on the first entry from the history file, not on the last one

If the history file contains three entries

TV Show A Ep(1)
TV Show B Ep(2)
TV Show C Ep(9)

then the most recently watched would be TV Show C, is this correct? And when selecting an entry from the history, it would be logical to make it the default selection, what do you think?

If you agree, then adding --tac option to the fzf call would solve this (it will reverse the order of the input, making the most recently watched show actually the first in the selector).

Watch history by minutes like on yt?

Hi! Love this program, but I was wondering whether it is possible to implement the ability to remember where you last stopped in minutes, like YouTube or Netflix.
Sorry if my English is rough

Feature request: download option?

Hey there, first of all thanks for sharing this really cool script. I was wondering if it would be possible to add a flag/option which downloads a given video rather than streaming it? I've had a little play around with the script myself but when I tried downloading $mpv_link using aria2c it gave me some sort of playlist rather than a video file, at which point I ran out of ideas (I don't really have any experience with web scraping).
Thanks, and I hope this is the right way of asking about it (I'm also pretty new to github as well)

How to Delete history? Tv show is slow

How to delete watched progress history?

tv show like the secret of skinwalker ranch season 4 episode 5 is slow and dropping don't know if this is a bug or just my connection cause movies are fast.
Screenshot_2023-05-22_19-40-01

when tv show
Screenshot_2023-05-22_19-45-46

How can I help with documentation?

Sorry for skipping the guidelines, but all 4 questions have nothing to do with what I ask for.
I noticed that lobster was updated to 3.0.1 a few hours ago (I actually updated it 20-30 minutes after it became available) and I also noticed the help request on the readme.
Although my knowledge is limited, I went through the script and through the api's settings and I really want to help with documentation. It is the least I can do as a thank you for your work!

So, what shall I include? How to select a server? What subtitle languages are supported and where? How to select the video quality when more than one is available?

When continuing from the history, it would be great to be able to navigate episodes back and forward

As of now, if we run lobster -c and then select an entry from the history, lobster will open the next episode relatively to the one that is stored in history. E.g., if we have Family Guy: S19 Ep(4), it will play Family Guy: S19 Ep(5). But what if we haven't actually finished watching this last episode from the history? Just opened it and then closed for some reasons? And now would like to re-watch it?

To replay the last episode, or to skip the next one, my quick and dirty solution was to introduce the following bindings to the fzf selector:

selection=$(fzf -1 --cycle --bind='f1:execute(printf "decr")+accept' --bind='f2:execute(printf "incr")+accept' --with-nth 4.. < "$history_file")
  [ -z "$selection" ] && exit 0
  case "$selection" in
    decr*)
      selection=$(echo "$selection" | sed 's/^decr//' | sed -r 's/(.*)(Ep\()([0-9]+)(.*)/echo "\1\2$((\3-1))\4"/ge')
      ;;
    incr*)
      selection=$(echo "$selection" | sed 's/^incr//' | sed -r 's/(.*)(Ep\()([0-9]+)(.*)/echo "\1\2$((\3+1))\4"/ge')
      ;;
  esac

But may be there are some better ways? And what do you think of such possibility in general?

[minor] README typo

it sais ~/.config/lobster_history.txt
it should say ~/.config/lobster/lobster_history.txt

Lobster stopped working

Lobster stopped working
I typed in lobster on mac terminal and searched for multiple shows. Always got 0 results. It was working fine a few hours ago.

Expected behavior
Open terminal, type in lobster, type a movie name, get 0 results

Screenshot

Screen Shot 2022-08-26 at 00 01 02

Desktop

  • OS: Mac OS
  • Browser: Safari
  • Version 12.5
  • m1 (idk if relevant)

History keeps playing and its annoying

Example use case I am 2 episodes behind The secret of skinwalker ranch season 4 (need to watch ep4 and ep5) but I selected
ep5 instead of ep4.
5
6

Ep5 plays and I immediately close it and cause I want to watch ep4 first instead.
7

Script asks me this and I want to search for season 4 ep 4 instead
8

In the search menu I select the secret skinwalker ranch again
9

Instead it plays the season 4 ep5 again and it doesnt even let me select which season or episode it just continue the history
10

lobster executes line 133 error

Describe the bug
This is the first that I'm running the lobster and when try to enter a TV Series, the program doesn't run the content as it executes an error saying /usr/bin/lobster: line 133: [: : integer expression expected.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'lobster reborn rich'
  2. Select 'Reborn Rich (TV Series)'
  3. Enter 'Episode no 1'
  4. Click on 'Enter for Saving the watch history'
  5. See error

Expected behavior
I expect the program to run the content.

Screenshots

1

2

Desktop (please complete the following information):

  • OS: Windows 10

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.