Coder Social home page Coder Social logo

pydebrid's Introduction

pydebrid

A simple & cross-platform command-line interface for unrestraining links thanks to Alldebrid.

⚠️ This lib is unmaintained and contains several security vulnerabilities in its dependencies. ⚠️

Features

  • Links unleashing
  • Bulk unleashing (from txt file)
  • Embed downloader
  • Multi-languages subtitles getter
  • Clipboard or STDOUT output
  • Account information and expiration alert
  • Secure config storage
  • SSL Support
  • Captcha alert
  • Intuitive and colorful use
  • Cross-platform (Tested on Linux and OS X but should works on Windows too)

Installation

pydebrid is available on PyPI. In order to install it, just use the following command :

pip install pydebrid

Usage

pydebrid [-h] [-u File/HTTP URL] [-d] [-i] [-s Subtitles languages] [-o Destination directory] [--stdout]

  • -h : Display help
  • -u : Local text/plain file (like links.txt) or remote url (like http://ul.to/abcde)
  • -d : Download the linked file(s) once debrided
  • -i : Display current user informations
  • -s : Get subtitles following a single or comma-separated list of IETF language code
  • -o : Custom file output directory (otherwise current directory)
  • --stdout : Output links to STDOUT instead of clipboard

Examples

pydebrid -u http://ul.to/abcde -d -s en,fr

Download http://ul.to/abcde in the current directory with english and french subtitles.

pydebrid -u links.txt

Unrestrain all links in links.txt file (one link per line) and put them in the clipboard.

pydebrid -i

Return infos from your account like Fidelity points, Remaining time, Registration date and more.

Changelog

From 1.0.9 to 1.0.10:

From 1.0.8 to 1.0.9:

  • Bugfix (see #6)

From 1.0.6 to 1.0.7:

  • Updating root URL for Alldebrid website

From 1.0.4 to 1.0.6:

  • New requests version
  • New subliminal version
  • Output to STDOUT (Issue #1)

Future

  • Resuming download on failure (Issue #2)

pydebrid's People

Contributors

davidderus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vaginessa plato79

pydebrid's Issues

'NoneType' object has no attribute 'find'

I must be cursed, now I'm getting new error when I either do "pydebrid -i" or try to decode a link.

'NoneType' object has no attribute 'find'

I'll see if I can find some clue, but my knowledge of Python is somewhat limited :-)
Thanks for the updated package!

After upgrade to 1.07 Pydebrid fails completely

Command was: pydebrid --stdout -u http://blah-blah-blah

Traceback (most recent call last):
File "/usr/local/bin/pydebrid", line 9, in
load_entry_point('pydebrid==1.0.7', 'console_scripts', 'pydebrid')()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 552, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2672, in load_entry_point
return ep.load()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2345, in load
return self.resolve()
File "/usr/local/lib/python2.7/site-packages/pkg_resources/init.py", line 2351, in resolve
module = import(self.module_name, fromlist=['name'], level=0)
File "/usr/local/lib/python2.7/site-packages/pydebrid/main.py", line 12, in
from core import Alldebrid, PydConfig, URI, Downloader, Subtitle
File "/usr/local/lib/python2.7/site-packages/pydebrid/core/init.py", line 5, in
from subtitle import Subtitle
File "/usr/local/lib/python2.7/site-packages/pydebrid/core/subtitle.py", line 4, in
import subliminal
File "/usr/local/lib/python2.7/site-packages/subliminal/init.py", line 10, in
from .api import (ProviderPool, check_video, provider_manager, download_best_subtitles, download_subtitles,
File "/usr/local/lib/python2.7/site-packages/subliminal/api.py", line 14, in
from .subtitle import compute_score, get_subtitle_path
File "/usr/local/lib/python2.7/site-packages/subliminal/subtitle.py", line 7, in
from guessit.matchtree import MatchTree
ImportError: No module named matchtree

When using -du and download fails, debrided links are lost

If you are downloading a list of links using the options -du and the download fails after some number of links, you must determine which downloads succeeded and remove them from the list and then begin again. Adding a feature to output debrided links as well as some method to keep track of links that have already been downloaded or failed would be helpful.

Invalid return character or leading space in header: User-Agent

Hello again. New problem just began. I reinstalled my FreeBSD system, after reinstalling Pydebrid and re-entering my login credentials it tells me "Invalid return character or leading space in header: User-Agent". I also get the same error now with just "pydebrid -i".

Any ideas?

Thanks!

'NoneType' object has no attribute 'find'

I think alldebrid has changed something beginning today. When I try:
pydebrid --stdout -u URL
I get the following message:
'NoneType' object has no attribute 'find'
Would you like to reset config? [Y/n] n
I also tried answering "Y", but get the same error after entering my credentials again.
Also, when I try "pydebrid -i" I get the same error.
I'm using the lastest version, 1.06

New versions of keyrings may require keyrings.alt

Python-Keyring is a module that provides a cross-platform interface to store passwords, and has multiple backends.

Recently that package has been split into two parts: base (python-keyring) which contains only recommended secure backends, and keyrings.alt which contains all the other backends. This ITP is for the latter package. I am going to make python-keyring recommend keyrings.alt

That's a system-specific issue.

'NoneType' object has no attribute 'find'

It appears that Alldebrid has changed their login form and the field recaptcha_response_field no longer exists.
From alldebrid.py:
captcha = soup.find(class_='login').find(attrs={'name': 'recaptcha_response_field'})

Maybe replace with this?
<div id="recaptcha-accessible-status" class="rc-anchor-aria-status" aria-hidden="true">Verification challenge expired, check the checkbox again for a new challenge</div>

Failure when executing pydebrid.

Hi,

I installed pydebrid via pip on FreeBSD. When running though it crashed without giving any output other than this:

Traceback (most recent call last):
  File "/usr/local/bin/pydebrid", line 11, in <module>
    load_entry_point('pydebrid==1.0.9', 'console_scripts', 'pydebrid')()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 563, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2651, in load_entry_point
    return ep.load()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2305, in load
    return self.resolve()
  File "/usr/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 2311, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
  File "/usr/local/lib/python2.7/site-packages/pydebrid/main.py", line 12, in <module>
    from core import Alldebrid, PydConfig, URI, Downloader, Subtitle
  File "/usr/local/lib/python2.7/site-packages/pydebrid/core/__init__.py", line 5, in <module>
    from subtitle import Subtitle
  File "/usr/local/lib/python2.7/site-packages/pydebrid/core/subtitle.py", line 4, in <module>
    import subliminal
  File "/usr/local/lib/python2.7/site-packages/subliminal/__init__.py", line 10, in <module>
    from .api import (ProviderPool, check_video, provider_manager, download_best_subtitles, download_subtitles,
  File "/usr/local/lib/python2.7/site-packages/subliminal/api.py", line 13, in <module>
    from .subtitle import compute_score, get_subtitle_path
  File "/usr/local/lib/python2.7/site-packages/subliminal/subtitle.py", line 7, in <module>
    from guessit.matchtree import MatchTree
  File "/usr/local/lib/python2.7/site-packages/guessit/__init__.py", line 99, in <module>
    from guessit.plugins import transformers
  File "/usr/local/lib/python2.7/site-packages/guessit/plugins/transformers.py", line 222, in <module>
    reload()
  File "/usr/local/lib/python2.7/site-packages/guessit/plugins/transformers.py", line 220, in reload
    reload_options(all_transformers())
  File "/usr/local/lib/python2.7/site-packages/guessit/plugins/transformers.py", line 179, in all_transformers
    return _extensions.objects()
  File "/usr/local/lib/python2.7/site-packages/guessit/plugins/transformers.py", line 111, in objects
    return self.map(self._get_obj)
  File "/usr/local/lib/python2.7/site-packages/stevedore/extension.py", line 261, in map
    raise NoMatches('No %s extensions found' % self.namespace)
stevedore.exception.NoMatches: No guessit.transformer extensions found

I also installed on OSX ( which is FreeBSD based ) and ran it without any problems. What could be the problem?

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.