diff --git a/.gitignore b/.gitignore
index 0b3ccf09..ee8198e9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,4 @@
custom_code.json
last_commit.txt
__pycache__/
+.vscode/settings.json
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..d68b334c
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,49 @@
+Ciao, grazie per aver preso in considerazione di contribuire a questo progetto!
+Ci sono molti modi per farlo, e per alcuni di essi non è necessario essere uno sviluppatore.
+
+Puoi ad esempio [segnalare i cambiamenti di struttura](#segnalare-i-cambiamenti-di-struttura) dei canali/server, [scrivere guide o registrare video-esempi](#scrivere-guide-o-registrare-video-esempi) su alcune funzionalità "avanzate", dare consigli su funzionalità nuove o per migliorare quelle già presenti.
+
+# Segnalare i cambiamenti di struttura
+KoD, alla fine, non è altro che un browser che estrapola dai siti le info richieste secondo regole ben precise, basate sulla struttura dei siti.
+I siti web cambiano, spesso, ciò che oggi funziona domani potrebbe non più funzionare, pertanto sono fondamentali le segnalazioni, ma esse per essere realmente utili devono:
+- contenere il file di log (lo potete generare andando in Aiuto - Segnala un problema e seguendo le istruzioni)
+- spiegare brevemente qual'è il problema e dove, ad esempio "cineblog da errore quando entro nella sezione Film", oppure "wstream non da nessun errore ma il video di fatto non parte"
+- essere replicabili, se si tratta di cose che accadono una volta ogni tanto puoi provare a segnalare lo stesso, sperando che nel log ci sia qualche indizio. Se non c'è, nada
+
+Sei pregato di attenerti il più possibile a quanto descritto qua perchè un semplice "non funziona" fa solo perdere tempo.
+Puoi fare tutte le segnalazioni nella sezione [issues](https://github.com/kodiondemand/addon/issues), cliccando su "new issue" appariranno dei template che ti guideranno nel processo.
+
+# Scrivere guide o registrare video-esempi
+Cerca di essere sintetico ma senza tralasciare le informazioni essenziali, una volta fatto mandalo pure sul [gruppo telegram](https://t.me/kodiondemand) taggando gli admin (@admin).
+Verrà preso in considerazione il prima possibile ed eventualmente inserito nella [wiki](https://github.com/kodiondemand/addon/wiki) o verrà creato un comando richiamabile nel gruppo.
+
+# Consigli
+Effettuali sempre nella sezione [issues](https://github.com/kodiondemand/addon/issues), miraccomando descrivi e fai esempi pratici.
+
+# Per sviluppatori
+
+Di seguito tutte le info su come prendere confidenza col codice e come contribuire
+
+## Da dove posso partire?
+Un buon punto di partenza è [la wiki](https://github.com/kodiondemand/addon/wiki), qui è presente un minimo di documentazione sul funzionamento di KoD.
+Ti consigliamo vivamente, una volta compreso il funzionamento generale dell'addon (e prima di iniziare a sviluppare), di [forkare e clonare il repository](https://help.github.com/en/github/getting-started-with-github/fork-a-repo).
+Questo perchè, oltre al fatto di poter iniziare a mandare modifiche sul tuo account github, l'utilizzo di git abilita la [dev mode](https://github.com/kodiondemand/addon/wiki/dev-mode), che ti sarà di aiuto nelle tue attività.
+
+## che cosa posso fare?
+Puoi provare a fixare un bug che hai riscontrato, aggiungere un canale/server che ti interessa ecc..
+Oppure puoi guardare nella sezione [Projects](https://github.com/kodiondemand/addon/projects) cosa è previsto e iniziare a svilupparlo!
+
+## ho fatto le modifiche che volevo, e ora?
+Pusha sul tuo fork le modifiche che hai fatto e manda una pull request. Se è la prima volta ecco qualche link che ti aiuterà:
+- http://makeapullrequest.com/
+- http://www.firsttimersonly.com/
+- [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github).
+
+Quando crei la pull request, ricordati di spiegare brevemente qual'è la modifica e perchè l'hai fatta.
+Quando avremo tempo revisioneremo le modifiche, potremmo anche segnalarti alcuni problemi, nel caso prenditi pure il tutto il tempo che vuoi per sistemare (non è necessaria un'altra pull, tutti i commit verranno riportati nella prima).
+Quando sarà tutto a posto accetteremo la pull includendo le modifiche
+
+## Regole per le collaborazioni:
+- Se si riutilizza codice proveniente da altri addon è necessario citarne la fonte, per rispetto di chi ci ha lavorato, in caso contrario il pull request verrà respinto.
+- Ogni modifica o novità inviata dev'essere testata, può capitare che vi sia sfuggito qualche bug (è normale), ma l'invio di materiale senza preventivi controlli non è gradito.
+- I nuovi canali devono essere funzionanti e completi di tutte le feature, comprese videoteca ed autoplay, non verranno accettati finchè non lo saranno.
diff --git a/README.md b/README.md
index 16e630af..18a7fcba 100644
--- a/README.md
+++ b/README.md
@@ -1,25 +1,16 @@
# Kodi On Demand
### Un fork italiano di [Alfa](https://github.com/alfa-addon)
-Ognuno è libero (anzi, invitato!) a collaborare, per farlo è possibile utilizzare i pull request.
-KOD funziona con Kodi fino alla versione 18 (Python 2).
-KOD, come Alfa, è sotto licenza GPL v3, pertanto siete liberi di utilizzare parte del codice, a patto di rispettare i termini di suddetta licenza, che si possono riassumere in:
+Installazione: https://kodiondemand.github.io/#download
+
+KoD attualmente funziona con Kodi fino alla versione 18 (Python 2).
+
+
+KoD, come Alfa, è sotto licenza GPL v3, pertanto siete liberi di utilizzare parte del codice, a patto di rispettare i termini di suddetta licenza, che si possono riassumere in:
- Il tuo addon deve essere rilasciando secondo la stessa licenza, ovvero essere open source (il fatto che lo zip sia visibile da chiunque non ha importanza, è necessario avere un repository git come questo)
- Aggiungere i crediti a tutto ciò che copiate/modificate, ad esempio aggiungendo un commento nel file in questione o, meglio, facendo un cherry-pick (in modo da preservarnee lo storico)
-### Come contribuire?
-- Fai un Fork del repository.
-- Effettua tutte le modifiche e fai un push nel tuo repository remoto.
-- Testa tutte le funzioni principali (videoteca, autoplay, scraper web) o eventuali aggiunte extra.
-- Apri una pull request.
-Regole per le collaborazioni:
-- Se si riutilizza codice proveniente da altri addon è necessario citarne la fonte, per rispetto di chi ci ha lavorato, in caso contrario il pull request verrà respinto.
-- Ogni modifica o novità inviata dev'essere testata, può capitare che vi sia sfuggito qualche bug (è normale), ma l'invio di materiale senza preventivi controlli non è gradito.
-- I nuovi canali devono essere funzionanti e completi di tutte le feature, comprese videoteca ed autoplay, non verranno accettati finchè non lo saranno.
-
-Se parte del codice di un tuo addon è stato incluso in questo progetto e ne desideri l'eliminazione, crea una issue portando le prove di essere veramente uno dei dev e lo elimineremo.
-
-### Qualcosa non funziona?
-Sentiti libero di segnalarlo al team [qui](https://github.com/kodiondemand/addon/issues)
+### Come contribuire o fare segnalazioni?
+Ti piace il progetto e vuoi dare una mano? Leggi [qui](https://github.com/kodiondemand/addon/blob/master/CONTRIBUTING.md)
diff --git a/addon.xml b/addon.xml
index 848d970f..c0a68ff6 100644
--- a/addon.xml
+++ b/addon.xml
@@ -1,6 +1,5 @@
-
+
-
@@ -19,11 +18,14 @@
resources/media/themes/ss/2.png
resources/media/themes/ss/3.png
- - riorganizzate le impostazioni
-- aggiunte descrizioni tag qualità su cb01 (presto anche sugli altri)
-- aggiunto il supporto alle serie di polpotv
-- fixato server mystream
-- fix Rinumerazione per episodi Nuovi
+ - Nuova sezione Musica
+- Download in Background
+- Download dalla Videoteca e supporto file locali
+- Backup e cancellazione della Videoteca
+- Spostamento della Videoteca
+- Migliorata integrazione con libreria di Kodi
+- Gestione delle Viste Preferite
+- Nuovo layout impostazioni
Naviga velocemente sul web e guarda i contenuti presenti
[COLOR red]The owners and submitters to this addon do not host or distribute any of the content displayed by these addons nor do they have any affiliation with the content providers.[/COLOR]
[COLOR yellow]Kodi © is a registered trademark of the XBMC Foundation. We are not connected to or in any other way affiliated with Kodi, Team Kodi, or the XBMC Foundation. Furthermore, any software, addons, or products offered by us will receive no support in official Kodi channels, including the Kodi forums and various social networks.[/COLOR]
@@ -33,6 +35,6 @@
https://t.me/kodiondemand
https://github.com/kodiondemand/addon
-
+
\ No newline at end of file
diff --git a/channels/cinemalibero.py b/channels/cinemalibero.py
index de0d93aa..10408118 100644
--- a/channels/cinemalibero.py
+++ b/channels/cinemalibero.py
@@ -12,18 +12,19 @@ from platformcode import config
list_servers = ['akstream', 'wstream', 'backin', 'clipwatching', 'cloudvideo', 'verystream', 'onlystream', 'mixdrop']
list_quality = ['default']
-def findhost():
- permUrl = httptools.downloadpage('https://www.cinemalibero.online/', follow_redirects=False).headers
- try:
- import urlparse
- except:
- import urllib.parse as urlparse
- p = list(urlparse.urlparse(permUrl['location'].replace('https://www.google.com/search?q=site:', '')))
- if not p[0]:
- p[0] = 'https'
- return urlparse.urlunparse(p)
+# rimanda a .today che contiene tutti link a .plus
+# def findhost():
+# permUrl = httptools.downloadpage('https://www.cinemalibero.online/', follow_redirects=False).headers
+# try:
+# import urlparse
+# except:
+# import urllib.parse as urlparse
+# p = list(urlparse.urlparse(permUrl['location'].replace('https://www.google.com/search?q=site:', '')))
+# if not p[0]:
+# p[0] = 'https'
+# return urlparse.urlunparse(p)
-host = config.get_channel_url(findhost)
+host = config.get_channel_url()
headers = [['Referer', host]]
@support.menu
diff --git a/channels/cinetecadibologna.py b/channels/cinetecadibologna.py
index cc66d5d5..34a4e8e6 100644
--- a/channels/cinetecadibologna.py
+++ b/channels/cinetecadibologna.py
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
-# Ringraziamo Icarus crew
# Canale per cinetecadibologna
# ------------------------------------------------------------
from core.item import Item
diff --git a/channels/dsda.py b/channels/dsda.py
index 0586be06..2293ed29 100644
--- a/channels/dsda.py
+++ b/channels/dsda.py
@@ -1,6 +1,5 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------
-# Ringraziamo Icarus crew
# Canale per documentaristreamingda
# ------------------------------------------------------------
diff --git a/channels/eurostreaming.py b/channels/eurostreaming.py
index 2cc3cadb..180a0339 100644
--- a/channels/eurostreaming.py
+++ b/channels/eurostreaming.py
@@ -16,7 +16,7 @@ from core import scrapertools, httptools, support
from core.item import Item
def findhost():
- permUrl = httptools.downloadpage('https://eurostreaming.link/', follow_redirects=False).headers
+ permUrl = httptools.downloadpage('https://eurostreaming.link/', follow_redirects=False, only_headers=True).headers
host = 'https://'+permUrl['location'].replace('https://www.google.it/search?q=site:', '')
return host
diff --git a/channels/filmpertutti.py b/channels/filmpertutti.py
index e03fba9e..0589367f 100644
--- a/channels/filmpertutti.py
+++ b/channels/filmpertutti.py
@@ -155,9 +155,6 @@ def newest(categoria):
def findvideos(item):
if item.contentType == 'movie':
data = httptools.downloadpage(item.url).data
- toUnshorten = scrapertools.find_multiple_matches(data, 'https?://buckler.link/[a-zA-Z0-9]+')
- for link in toUnshorten:
- data += '\n' + httptools.downloadpage(link, follow_redirects=False).headers["Location"]
return support.server(item, data=data)
else:
return support.server(item, item.url)
diff --git a/channels/hd4me.json b/channels/hd4me.json
new file mode 100644
index 00000000..04465df9
--- /dev/null
+++ b/channels/hd4me.json
@@ -0,0 +1,12 @@
+{
+ "id": "hd4me",
+ "name": "HD4ME",
+ "language": ["ita", "sub-ita"],
+ "active": true,
+ "adult": false,
+ "thumbnail": "hd4me.png",
+ "banner": "hd4me.png",
+ "categories": ["movie", "vos"],
+ "not_active": ["include_in_newest"],
+ "settings": []
+}
diff --git a/channels/hd4me.py b/channels/hd4me.py
new file mode 100644
index 00000000..f098941d
--- /dev/null
+++ b/channels/hd4me.py
@@ -0,0 +1,53 @@
+# -*- coding: utf-8 -*-
+# ------------------------------------------------------------
+# Canale per HD4ME
+# ------------------------------------------------------------
+
+from core import httptools, support
+
+
+host = support.config.get_channel_url()
+headers = [['Referer', host]]
+
+list_servers = ['mega']
+list_quality = ['default']
+
+@support.menu
+def mainlist(item):
+
+ film = [('Genere', ['', 'genre'])]
+
+ return locals()
+
+@support.scrape
+def peliculas(item):
+ # debug = True
+ patron = r'