Jump to content


mfaraj57

Member Since 20 Jul 2009
Offline Last Active 08 Feb 2021 22:36
*****

#694373 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 6 April 2017 - 12:54

 

 

@mfaraj57 Just updated to the latest version of 123movies and now the search engine works to perfection for tv series as well [emoji106]

thanks

just added to server c movies hd 1.0.3 for mucky Duck(seem stop updating his addons,but this is still working) ,seem the addon follows same rule and filtering from 123movies hd so i made some editing to work in tsmedia and may later convert it to complete Tsmedia format to become more faster
i see it is good alternative for 123movies when stopped working.
please check it because and want to depend few working addons in TSmedia instead for many non working.
The addons sites(https://xmovies8.ru/
https://watch5s.is/
https://fmovies.se/) you gave to me also follow the same rules but i reached block ends for getting the stream urls ,so i gave up
Just checked c movies, it's not bad at all, it's not slow either, and everything seems to work fine including the search engine, but all the movies and tv shows I tried were low quality, even the ones that were billed as HD, and I didn't see anything in the settings to choose the quality. So, I went to cmovieshd on my phone and checked out one of those movies, and the 720p version was indeed detected, so it's likely the addon needs some tweaking to prioritize the hd version when available.

As for the other three websites you mentioned, I had indeed noticed they were a tough nut to crack, so never mind.

However, like I said last week, you might want give gomovies and losmovies a try if you want add a few more to the movie section, they seem easy enough.

 

The plugin offers high quality streams if available but mucky select first stream to play and usually low quality

just sent update 1.0.4 cmovieshd with last in options in setup of plugin autoplay put to false to list all available qualities

however in the update the default put to false

may be in next update put code to select highest quality available for autoplay




#693239 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 3 April 2017 - 01:35

continue

search url contain movie word and used for both movies and series so we can not use tow urls one for tv shows and one for movies

https://123movieshd..../search/the-100  if we replace movie by series the url becomes invalid

and even the result of  search include word film for series also

https://123movieshd....t/watching.html

so both are not helpful to differentiate

now temporary i will solve by this code

                    if 'series' in urlmain or 'Season' in name:
                        mode=200
                    else:
                        mode=1 

but seams not bad solution because  few movies contain word season in title and mostly not started by capital letter

i am not serious regard this because failed to watch few films with word season in this addon not that big issue and not the end of the word.




#693065 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 2 April 2017 - 17:56

*****************************
plugin Name:movies_plugin.video.123movies_1.0.3
version:1.0.3
author:TSmedia Team
description: videos from  123movies ***thanks for mick80*** 



#692189 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 31 March 2017 - 19:22

You know i created Tsmedia since three years or more and made it to accept external addons like kodi addons and from any one without knowing the complexity of the tsmedia code hoping that will be help from others in adding addons and updating them but disappointed about that a part from obesboy who maintain the arabic section and the valuable help from mick80.
Tsmedia kodi addons stop frequently and not updated in many cases as well as sources site change their script frequently which make corresponding addon unfunctional.
I try my best and it is good that i do not forgive after these years from working daily to keep tsmedia alive
I plan to put three or four movies addon in movies section and to support and updatw them only but i have to know what users like.


#692126 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 31 March 2017 - 14:34

new plugin for 123movies

include movies and series

http://www.tunisia-d...ovies_1.0.0.zip

 

 

 

Al-Nahar_Drama-3132017-1527.jpg

 

Al-Nahar_Drama-3132017-158.jpg




#692006 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 31 March 2017 - 11:20

yes,seems it is simple and straight forward,i thought it is more complicated than that

just translate what you said to code and attached default.py for all movies only

# -*- coding: utf8 -*-

import sys
import urllib,urllib2,re,os
import xbmc, xbmcgui, xbmcplugin, xbmcaddon
import re



############################################

####functions
baseurl="https://123movieshd.tv"
    
def readnet(url):
            from addon.common.net import Net
            net=Net()
            USER_AGENT='Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:30.0) Gecko/20100101 Firefox/30.0'
            MAX_TRIES=3
            


            
            headers = {
                'User-Agent': USER_AGENT,
                'Referer': url
            }

            html = net.http_GET(url).content
            return html
      

              
def gethostname(url):
        from urlparse import parse_qs, urlparse
        query = urlparse(url)
        
        return query.hostname 
##########################################parsing tools


def showmenu():
        
	
        addDir('••All••',baseurl+'https://123movieshd.tv/movie/filter/movie/all/all/all/all/latest/',100,'img/1.png',1)
	return


###################################movies
			  
def search(url):
        
        
         
        search_entered = ''
        debug=True
        if debug:
               keyboard = xbmc.Keyboard(search_entered, 'Search')
               keyboard.doModal()
               if keyboard.isConfirmed():
                   search_entered = keyboard.getText() .replace(' ','+')  
                   
                   
        else:
             print "search error"
            
        
        
         
        url= url+search_entered
        
          
        getmovies("Search",url,0)


                        
               
                   
                
        
def getmovies(namemain,urlmain,page):##movies
                print "page",page
               
                if page>1:
                 
                     #https://123movieshd.tv/movie/filter/movie/all/all/all/all/latest/?page=2
                     url_page=urlmain+'?page='+str(page)
                  
                else:
                
                      url_page=urlmain
                print "url_page",url_page
               
                data=readnet(url_page)
               
                
                
               
                if data is None:
                    return
               
                blocks=data.split('<div class="ml-item">')
                i=0
                
                print "blocks",len(blocks)
               
                for block in blocks:
                    i=i+1
                    if i==1:
                            continue
                   
                    
                    regx='''<a href="(.*?)"'''
                    
                    href=re.findall(regx,block, re.M|re.I)[0]
                    regx='''title="(.*?)"'''
                    
                    name=re.findall(regx,block, re.M|re.I)[0]                    
                    regx='''<img data-original="(.*?)"'''
                    img="http:"+re.findall(regx,block, re.M|re.I)[0]
                    
                    href=baseurl+href+"/watching.html"
                    
                    

                    
                    
                                                
                               
                    
                    try:name=name.encode("utf-8")
                    except:name=str(name)
                    try:addDir(name,href,1,img,'',1)
                    except:pass
               
                   
                
                
                addDir("next page",urlmain,100,'img/next.png','',str(page+1))
                if len(blocks)==0:
                    addDir("Error:no results",urlmain,100,'','',str(page+1))

                    
###############################################tv shows
def search_series(url):
        
        
         
        search_entered = ''
        debug=True
        if debug:
               keyboard = xbmc.Keyboard(search_entered, 'Search 1channel')
               keyboard.doModal()
               if keyboard.isConfirmed():
                   search_entered = keyboard.getText() .replace(' ','+')  
                   
                   
        else:
             print "search error"
            
        
        
         
        url= url+search_entered

        getseries("Search",url,0)
def getseries(name,urlmain,page):##series
                print "page",page
               
                if page>1:
                 
            
                     url_page=urlmain+'/page/'+str(page)+"/"
                  
                else:
                
                      url_page=urlmain
                print "url_page",url_page
               
                data=readnet(url_page)
                try:data=data.split('class="first-word"')[1]
                except:pass               
                
               
                if data is None:
                    return
               
                blocks=data.split('<td class="topic_head">')
                i=0
                
                for block in blocks:
                    i=i+1
                    if i==1:
                            continue
                   
                    #block=block.lower()
                    regx='''<a class="title" href="(.*?)" id=".*?">(.*?)</a>'''
                    match=re.findall(regx,block, re.M|re.I)
                    href=match[0][0]
                    name=match[0][1]
                               
                    regx='''<img onerror='this.style.display = "none"' src="(.*?)" /></a>'''
                    try:img=re.findall(img,block, re.M|re.I)[0]
                    except:img=''

                                             
                               
                    
                    name=name.encode("utf-8")
                    addDir(name,href,1,img,'',1)                        
               
                   
                
                                        
                   

                if len(match)==0:
                    addDir("Error:no results",urlmain,200,'','',str(page+1))
                                        
                    
def getseasons(name,urlmain,page):##series

                 
                data=readnet(url_page)
                try:data=data.split('<div class="title6">')[1]
                except:pass
                print "url_page",url_page
              
                if data is None:
                    return

                seasons=re.findall('''<a href="(.*?)" >(.*?)</a>''',data, re.M|re.I)
                
                
                for href,name in seasons:
                    
                    
                    addDir(name,href,202,'','',1)
                        

                                           
                                    


def getepisodes(name,urlmain,page):##series

                data=readnet(urlmain)
                
                try:data=data.split('class="first-word"')[1]
                except:pass               
                
              
                if data is None:
                    return
                '''<div id="season1-1-watch-ep" class="watch-ep-btn" data-click=" https://openload.co/embed/mb6cBGnT_ko" data-poster="http://image.tmdb.org/t/p/w1280/tVCmhoIAHMCIzNmzSBvSDja4wOY.jpg" onclick="setUpTvPlayer(this)"><i class="fa fa-play-circle"></i>Watch Episode</div> </div> </li> <li id=season1-2> <h2>Allen</h2> <span class="season-info">Season 1, Episode 2</span><br> <span class="season-info air-date">Air date: Aug-29-2005</span> <p class="synopsis-description"> Trouble is inevitable in the prison, with a race riot imminent. Michael has problems retrieving a screw from the bleachers. Veronica receives a security tape that shows Lincoln shooting Terrence Steadman. </p>'''
                blocks=data.split('<h3 class="threadtitle">')
               
                i=0
               
                for block in blocks:
                    i=i+1
                    if i==1:
                            continue
                    
                    regx='''<a class="title" href="(.*?)" id=".*?">(.*?)</a>'''
                    match=re.findall(regx,block, re.M|re.I)
                    href=match[0][0]
                    name=match[0][1]
                               
                    regx='''<img onerror='this.style.display = "none"' src="(.*?)" /></a>'''
                    try:img=re.findall(img,block, re.M|re.I)[0]
                    except:img=''

                                             
                               
                    
                    name=name.encode("utf-8")
                    addDir(name,href,1,img,'',1)                        
               
                   
                
                                        
                   

                if len(match)==0:
                    addDir("Error:no results",urlmain,200,'','',str(page+1))
            

 


#######################################host resolving                                                    




def gethosts(name,urlmain):##cinema and tv featured

                
                data=readnet(urlmain)

                
              
                if data is None:
                    return
                regx='''<iframe.*?src="(.*?)".*?></iframe>'''
                link=re.findall(regx,data, re.M|re.I)[0]
                data=readnet(link)
                regx="file: '(.*?)'"

                link=re.findall(regx,data, re.M|re.I)[0]
                print "link",link
                playlink(link)
               
                    
                    
                                          

    

def playlink(url):
           
            xbmc.Player().play(url)
            sys.exit(0)            
############################################xbmc tools	    
def get_params():
        param=[]
        paramstring=sys.argv[2]
        if len(paramstring)>=2:
                params=sys.argv[2]
                cleanedparams=params.replace('?','')
                if (params[len(params)-1]=='/'):
                        params=params[0:len(params)-2]
                pairsofparams=cleanedparams.split('&')
                param={}
                for i in range(len(pairsofparams)):
                        splitparams={}
                        splitparams=pairsofparams[i].split('=')
                        if (len(splitparams))==2:
                                param[splitparams[0]]=splitparams[1]
                                
        print "input,output",paramstring,param
        return param


	
def addDir(name,url,mode,iconimage,extra='',page=0):
        u=sys.argv[0]+"?url="+urllib.quote_plus(url)+"&mode="+str(mode)+"&name="+urllib.quote_plus(name)+"&page="+str(page)
        
        ok=True
        liz=xbmcgui.ListItem(name, iconImage="DefaultFolder.png", thumbnailImage=iconimage)
        liz.setInfo( type="Video", infoLabels={ "Title": name } )
        ok=xbmcplugin.addDirectoryItem(handle=int(sys.argv[1]),url=u,listitem=liz,isFolder=True)
        return ok

params=get_params()
url=None
name=None
mode=None
page=1

	
try:
        url=urllib.unquote_plus(params["url"])
except:
        pass
try:
        name=urllib.unquote_plus(params["name"])
except:
        pass
try:
        mode=int(params["mode"])
except:
        pass
try:
        page=int(params["page"])
except:
        pass
print "Mode: "+str(mode)
print "URL: "+str(url)
print "Name: "+str(name)
print "page: "+str(page)

if mode==None or url==None or len(url)<1:
        print ""
        showmenu()
elif mode==1:
        print ""+url
        gethosts(name,url)
elif mode==2:
        print ""+url
        resolve_host(url)        
elif mode==3:
        print ""+url
        playlink(url)
     
        
elif mode==100:
        print ""+url
        getmovies(name,url,page)
elif mode==101:
        print ""+url
        getgenre('movies')	

elif mode==102:
	print ""+url
	getA_Z('movies')
	
elif mode==103:
	print ""+url
        search(url)    
       


elif mode==200:

	getseries(name,url,page)
	
elif mode==201:
	getseasons(name,url,page)
	
elif mode==202:
	getepisodes(name,url,page)


xbmcplugin.endOfDirectory(int(sys.argv[1]))                              

not tested but assume will work




#691793 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 30 March 2017 - 12:35

yes,you make everything easy and straight forward and will be interesting to do it

may be put the steps here how to do it if one want to learn how to make kodi plugin as tutorial




#689333 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 23 March 2017 - 23:23

regarding 123 movies these days i do not have the enough mood to do time consuming tasks and prefer short tasks i addition editing other works are much harder than starting from zero,so as you said prefer waiting Mucky to update his plugin.

yes i changed the font type because i found this is nice and more readable and more practical and not interfere with other languages




#689330 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 23 March 2017 - 23:19

only tested cb0 on pc tsmediatools without changing domian and it is working however i will take your copy for the plugin and put in the server

regarding logos this is known issue because they are protected also by cloudflare and managing and downloading the logo urls by the internal process of TSmedia and not at the level of default.py but may think by way to make this possible for these protected logos although downloading by anticloudflare code consume more time than usual method so may delay display of logos




#689180 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 23 March 2017 - 18:56

regarding 123movies it is more than changing domain name,seem there are changes in the source site script which needs modification in scraping technique,usually depends on this on Mucky but do not know why he did not till now not doing update

i will look but not expect to be easy job




#689174 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 23 March 2017 - 18:36

 In cb0 i found only cloudflare protection and seem the anticloudflare code already in cb0 is outdate.

i added these two lines to top of readnet and readnet2 subs and seem they are working

def readnet2(url,method='get',form_data={},headers={},html='',proxy='',User_Agent='',cookie_file='',load_cookie=False,save_cookie=False, login=False):
        from  cfscrape import resolve   
        return  resolve(url)
def readnet(url):
            from  cfscrape import resolve   
            return  resolve(url)



#685673 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 15 March 2017 - 23:13

I tested download one link from tsmedia but it is slow and stopped after 15 minutes


#685211 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 15 March 2017 - 10:47

Yes great site but first look,the links for movies are hidden under javascript but this is not problem if not complicated javascript,the second problem the sites offers the links only for download and not for direct watching but you can download the movies and when finished you can watch it.




#679943 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 6 March 2017 - 22:28

Hey mfaraj57, openload was updated a couple days ago, but I guess they've made a few major changes, so it won't work in TSmedia. The one thing I've noticed is that it should now import httptools.py from core, something that was not there in previous versions, and as a matter of fact such file is not in the core folder inside pelisresolver in TSmedia. I suppose the fix is not as simple as copying over this new py file, because I tried that and it didn't fix it [emoji16]

you are right i found two files needs updated in tsmedi in core httptool.py and cloudflare.py

i tried in mine tsmedia but still not work but may work with you because i have in my dm900 problem with ssl-certificate which not problem in vu and older receiver,check and see the error from info or /tmp/TSmedia_log after the error if occur with you

install last update from /desktop/tools/software update blue button




#679691 TSmedia enigma2 plugin 1.0

Posted by mfaraj57 on 6 March 2017 - 19:16

Thanks for the news,i will check now in tsmediatool and see if can fix it
Many camplaining about openload,good to find solution