What is dontpanic?
Dontpanic is a free (as in "freedom") python application to look for any movie or serie and watch them in "streaming". It looks like popcorntime or torrent time, but doesn't depend of a centralized api.
To find the latest version number of dontpanic, see here
Download
You can download dontpanic here : dontpanic.tar.gz
Screenshots






Usage
You can run dontpanic for a single user with the command
dontpanic
or
python3 dontpanic.py
It will open your browser to the dontpanic page.
Note: You can automatically stream and watch a magnet link if you pass it as a parameter :
dontpanic magnet:xt=urn:btih:.....
Deploy on a server
You can run dontpanic on your server and make it available for world. To do so, you have to use an adapter like cherrypy.
./dontpanic -adapter administrator admin_password
or
python3 dontpanic-server.py -adapter administrator admin_password
Change '-adapter' to the one you want to use, i.e. '-cherrypy'. Below, you can find some adapters (see here for a full list):
- '-cherrypy' is multi-threaded (recommended). Install python-cherrypy3 to use it.
- '-paste' is multi-threaded. Instal python-paste to use it.
- '-tornado' : install python-tornado
- ...
You can use '-auto' to let dontpanic (bottle) choose the first available adapter.
Use SSL (https):
To do it correctly, you might want to read your adapter documentation. An easy way is to use apache or nginx as a reverse proxy. For cherrypy, it's documented here. Below, find a working nginx configuration using ssl with cherrypy :
upstream apps {
server 127.0.0.1:8080;
}
gzip_http_version 1.0;
gzip_proxied any;
gzip_min_length 500;
gzip_disable "MSIE [1-6]\.";
gzip_types text/plain text/xml text/css
text/javascript
application/javascript;
server {
listen 80;
server_name localhost;
return 301 https://$server_name$request_uri; # enforce https
}
server {
listen 443 ssl;
server_name localhost;
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem;
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key;
location / {
proxy_pass http://apps;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
Of course, replace 'localhost', '8080' and ssl variables to fit your configuration.
In this case, dontpanic was started with :
python dontpanic-server.py -cherrypy admin password 8080
Warning
If you deploy dontpanic on a server, make sure the database is not readable by world. The database is by default in ~/.dontpanic/databaz.db. Follow bottle instructions.
Remember, the admin page is /_admin
FAQ
My download doesn't start
Be sure to choose a file with a lot of peers.
Add '-f' to sign the package.
Python2 or python3?
Both are supported for now, but python3 will be more efficient thanks to async requests.