• Stars
    star
    545
  • Rank 79,020 (Top 2 %)
  • Language
    Python
  • License
    Other
  • Created over 9 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Pulsar addon for XBMC/Kodi

What it is

Pulsar is an torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. However, it calls specially crafted addons (called providers) that are installed separately. They are normal XBMC addons, and thus can be installed/updated/distributed just like any other addon.

Supported platforms

  • Windows
  • Linux 32/64 bits (starting Ubuntu 12.04)
  • Linux ARM (Raspberry Pi, Cubox i4pro etc...)
  • OS X 64 bits
  • Android ARM (4.x)

Download

See the Releases page.

Installation

  • Install Pulsar like any other addon
  • Go in Settings > Services > Remote Control and enable both options
  • Restart XBMC

Follow @pulsarhq on Twitter

How it works

Pulsar is an torrent finding and streaming engine. It doesn't go on torrent websites for legal reasons. It calls specially crafted addons (called providers) that are installed separately. They are normal XBMC addons, and thus can be installed/updated/distributed just like any other addon.

Pulsar is centred around media: it browses media from TheMovieDB and TheTVDB. And so, when you decide you want to watch a media (i.e. given an IMDB or TVDB Id), here's what Pulsar does:

  • Enumerate the installed providers
  • Call each provider to find the media you want to watch (in parallel)
  • Each provider returns a list of BT links they found
  • Collects and de-duplicates all the links
  • Goes on the BitTorrent network to find out the number of seeds and peers in real time (i.e. not provided by the provider)
  • Finds out of which quality are the different links (thanks to their name)
  • Ranks the links by quality and availability (Pulsar privileges quality over availability, but it's not dumb. However, you can get a full list to choose from manually it you want)
  • Sends the chosen link to the BitTorrent streaming engine (brand new, and completely rewritten)

All of this is done in less than 1s. Pulsar is around 95% Go, and thus, it's fast. Very fast, actually.

The BitTorrent streaming engine is brand new and very resilient (or at least it's designed to be). It's built on top of the brand new libtorrent 1.0 (which had special patches for the streaming case). So it's very optimised, especially for low CPU machines. I have yet to find a media that doesn't play with the engine.

Providers

As said before, Pulsar relies on providers to find streams. Providers are easy to write, and average ~20 lines of Python. As they are normal XBMC addons, which can have their own configuration (although it is not recommended because it complicates things).

Sample Pulsar provider: https://github.com/steeve/script.pulsar.dummy

Providers are given a max amount of time to run before Pulsar considers them to be too slow. The timeouts are as follow:

  • 4 seconds on Intel CPUs
  • 20 seconds on multicore ARM CPUs
  • 30 seconds on single core ARM CPUs (Raspberry Pi)

Please note that for legal reasons, I won't discuss, develop nor distribute any providers connecting to illegal sources. So there is no need to ask me. While I can partake in general discussions regarding provider development, I won't do so for illegal sources specific problems.

FAQ

I can't code. How can I help?

Spread the word. Talk about it with your friends, show them, make videos, tutorials. Talk about it on social networks, blogs etc...

The plugin doesn't work, what can I do?

Put your xbmc.log on pastebin. If you don't know how to do that, just follow the guide at: http://kodi.wiki/view/Log_file/Easy

Can I seek in a video?

Yes, but it can fail.

What about seeding?

When watching a torrent, you will be seeding while you watch the stream.

Does it downloads the whole file? Do I need the space? Is it ever deleted?

Yes, yes and yes.

Can I keep the file after watching it?

Yes, change it in the addon settings.

Can I set it to download directly to my NAS?

Yes, but you need to mount your NAS via the OS, not via XBMC.

Provider X is blocked in my country/ISP, how can I set another domain?

Sorry, I won't comment of specific providers.

Will there be an Android version?

Yes. I have a working version right now, but it's not stable enough for release. Don't blame me, the Android ecosystem is pretty bad for that sort of thing.

Screenshots

More Repositories

1

france.code-civil

Le code civil français sous git
2,655
star
2

angular-seo

SEO for AngularJS apps made easy.
1,064
star
3

xbmctorrent

Torrent streaming for XBMC - This project has been replaced by Pulsar
Python
388
star
4

france.code-penal

Le Code pénal français, sous Git
136
star
5

dwmaxx2

Get Windows 7 windows as DirectX textures
C++
118
star
6

python-lz4

LZ4 bindings for python
C
106
star
7

cross-compiler

Dockerfiles for cross compiling environments
Shell
104
star
8

libtorrent-go

SWIG Go bindings for libtorrent-rasterbar
C++
102
star
9

torrent2http

Torrent to HTTP client for https://github.com/steeve/xbmctorrent
Go
76
star
10

france.code-procedure-penale

Le Code de procédure pénale français, sous Git
72
star
11

itool

Single binary easy and composable iOS device interaction CLI
Go
69
star
12

docker-opencv

OpenCV on Docker
Shell
59
star
13

rupy

Python inside Ruby, the unholy alliance!
Ruby
58
star
14

ToneLoc

Public non-official repository of the famous ToneLoc wardialer
C
49
star
15

pulsar

Pulsar Daemon
Go
48
star
16

script.pulsar.dummy

Dummy sample provider for Pulsar
Python
38
star
17

docker-lemp

nginx + PHP5-FPM + MariaDB + supervisord on Docker
Shell
37
star
18

aml-imgpack

Resource packer/unpacker for Amlogic Logo image files
Python
21
star
19

legifrance2json

Legifrance crawler that dumps JSON out of french legal Codes
19
star
20

ryzentosh

OpenCore Configuration for Ryzen 3950x with ASUS Crosshair VIII Hero (Wi-Fi) X570
Shell
18
star
21

dwmaxx

DWM Hacking for Windows Vista! => DEPRECATED, GO TO https://github.com/steeve/dwmaxx2
C
16
star
22

msr605

Python interface for the MSR605 magnetic card reader
Python
15
star
23

legifrance-go

Go package to manipulate legifrance dump files
Go
15
star
24

libtorrent

Mirror of libtorrent-rasterbar's SVN https://svn.code.sf.net/p/libtorrent/code/
C++
13
star
25

macos-virt

Toying around virtualising macOS for development purposes
Go
11
star
26

oculusstreetview

Fork of Oculus Street View to work with vr.js
JavaScript
11
star
27

cascading.cassandra

Cassandra Tap for Cascading!
9
star
28

seastar-rs

Experimenting with seastar and rust
Rust
8
star
29

broadcaster

Broadcast (one to many, fanout) messaging with payloads for Go
Go
8
star
30

docker-i2p

i2prouter in docker (work in progress)
Shell
3
star
31

xbmctorrent-repo

Repository for XBMCtorrent
Go
3
star
32

docker-svn2git

svn2git Docker image
2
star
33

docker-heka

Heka in a container
2
star
34

quivotequoi

4tehlulz
JavaScript
1
star
35

bazel_libcpp_android_issue

Python
1
star
36

steeve.github.io

My blog
HTML
1
star
37

seastar-bazel

Experiments in building a seastar app with bazel
1
star
38

scrapy-lxmlselector

Lxml Selector for Scrapy
1
star