commit
1c213d304e
2837
.idea/workspace.xml
2837
.idea/workspace.xml
File diff suppressed because it is too large
Load Diff
|
@ -133,7 +133,7 @@ class AnteoLoader:
|
||||||
keep_incomplete = True
|
keep_incomplete = True
|
||||||
|
|
||||||
dht_routers = ["router.bittorrent.com:6881", "router.utorrent.com:6881"]
|
dht_routers = ["router.bittorrent.com:6881", "router.utorrent.com:6881"]
|
||||||
user_agent = 'uTorrent/2200(24683)'
|
user_agent = ''
|
||||||
self.engine = Engine(uri=file_url(localize_path(self.torrentFile)), download_path=self.storageDirectory,
|
self.engine = Engine(uri=file_url(localize_path(self.torrentFile)), download_path=self.storageDirectory,
|
||||||
connections_limit=connections_limit,
|
connections_limit=connections_limit,
|
||||||
encryption=encryption, keep_complete=keep_complete, keep_incomplete=keep_incomplete,
|
encryption=encryption, keep_complete=keep_complete, keep_incomplete=keep_incomplete,
|
||||||
|
@ -285,6 +285,12 @@ class AnteoPlayer(xbmc.Player):
|
||||||
def __init__(self, userStorageDirectory, torrentUrl, params={}):
|
def __init__(self, userStorageDirectory, torrentUrl, params={}):
|
||||||
self.userStorageDirectory = userStorageDirectory
|
self.userStorageDirectory = userStorageDirectory
|
||||||
self.torrentUrl = torrentUrl
|
self.torrentUrl = torrentUrl
|
||||||
|
if not is_writable(self.userStorageDirectory):
|
||||||
|
xbmcgui.Dialog().ok(Localization.localize('Torrenter v2'),
|
||||||
|
Localization.localize('Your storage path is not writable or not local! Please change it in settings!'),
|
||||||
|
self.storageDirectory)
|
||||||
|
|
||||||
|
sys.exit(1)
|
||||||
xbmc.Player.__init__(self)
|
xbmc.Player.__init__(self)
|
||||||
log("["+author+"Player] Initalized v"+__version__)
|
log("["+author+"Player] Initalized v"+__version__)
|
||||||
self.params = params
|
self.params = params
|
||||||
|
@ -380,7 +386,7 @@ class AnteoPlayer(xbmc.Player):
|
||||||
|
|
||||||
enable_dht = self.__settings__.getSetting("enable_dht") == 'true'
|
enable_dht = self.__settings__.getSetting("enable_dht") == 'true'
|
||||||
dht_routers = ["router.bittorrent.com:6881","router.utorrent.com:6881"]
|
dht_routers = ["router.bittorrent.com:6881","router.utorrent.com:6881"]
|
||||||
user_agent = 'uTorrent/2200(24683)'
|
user_agent = ''
|
||||||
self.pre_buffer_bytes = int(self.__settings__.getSetting("pre_buffer_bytes"))*1024*1024
|
self.pre_buffer_bytes = int(self.__settings__.getSetting("pre_buffer_bytes"))*1024*1024
|
||||||
|
|
||||||
self.engine = Engine(uri=file_url(self.torrentUrl), download_path=self.userStorageDirectory,
|
self.engine = Engine(uri=file_url(self.torrentUrl), download_path=self.userStorageDirectory,
|
||||||
|
@ -662,7 +668,8 @@ class OverlayText(object):
|
||||||
self._shown = False
|
self._shown = False
|
||||||
self._text = ""
|
self._text = ""
|
||||||
self._label = xbmcgui.ControlLabel(x, y, w, h, self._text, *args, **kwargs)
|
self._label = xbmcgui.ControlLabel(x, y, w, h, self._text, *args, **kwargs)
|
||||||
self._background = xbmcgui.ControlImage(x, y, w, h, os.path.join(RESOURCES_PATH, "images", "black.png"))
|
filename = os.path.join(RESOURCES_PATH, "images", "black.png")
|
||||||
|
self._background = xbmcgui.ControlImage(x, y, w, h, filename)
|
||||||
self._background.setColorDiffuse("0xD0000000")
|
self._background.setColorDiffuse("0xD0000000")
|
||||||
|
|
||||||
def show(self):
|
def show(self):
|
||||||
|
@ -696,5 +703,10 @@ class OverlayText(object):
|
||||||
|
|
||||||
skin_path = xbmc.translatePath("special://skin/")
|
skin_path = xbmc.translatePath("special://skin/")
|
||||||
tree = ET.parse(os.path.join(skin_path, "addon.xml"))
|
tree = ET.parse(os.path.join(skin_path, "addon.xml"))
|
||||||
res = tree.findall("./extension/res")[0]
|
res = None
|
||||||
|
for element in tree.findall("./extension/res"):
|
||||||
|
if element.attrib["default"] == 'true':
|
||||||
|
res = element
|
||||||
|
break
|
||||||
|
if res is None: res = tree.findall("./extension/res")[0]
|
||||||
return int(res.attrib["width"]), int(res.attrib["height"])
|
return int(res.attrib["width"]), int(res.attrib["height"])
|
|
@ -24,8 +24,9 @@ proxy = int(sys.modules["__main__"].__settings__.getSetting("cl_proxy"))
|
||||||
if proxy == 1:
|
if proxy == 1:
|
||||||
socks_ip = sys.modules["__main__"].__settings__.getSetting("socks_ip")
|
socks_ip = sys.modules["__main__"].__settings__.getSetting("socks_ip")
|
||||||
import socket
|
import socket
|
||||||
from resources import socks
|
from resources.proxy import socks
|
||||||
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, socks_ip, 9050)
|
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, socks_ip,
|
||||||
|
int(sys.modules["__main__"].__settings__.getSetting("socks_port")))
|
||||||
socket.socket = socks.socksocket
|
socket.socket = socks.socksocket
|
||||||
import urllib
|
import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
48
Core.py
48
Core.py
|
@ -297,9 +297,17 @@ class Core:
|
||||||
|
|
||||||
def test(self, params={}):
|
def test(self, params={}):
|
||||||
pass
|
pass
|
||||||
import searchwindow
|
xbmc.Player().play('D:\\filmz\\The Missing (2014).mp4')
|
||||||
params = {'mode': 'file_browser', 'path':'D:\\', 'tdir':'D:\\FRAPS\\'}
|
from Anteoloader import OverlayText, OVERLAY_WIDTH, OVERLAY_HEIGHT, XBFONT_CENTER_X,XBFONT_CENTER_Y
|
||||||
searchwindow.main(params)
|
overlay = OverlayText(w=OVERLAY_WIDTH, h=OVERLAY_HEIGHT,
|
||||||
|
alignment=XBFONT_CENTER_X | XBFONT_CENTER_Y)
|
||||||
|
overlay.show()
|
||||||
|
overlay.text = 'XXXXXXXXXXXXXXXXXxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxXXXXXXXXXXXXXXXXXX\r\n' \
|
||||||
|
'YYyyyYyYYyYyY'
|
||||||
|
time.sleep(5)
|
||||||
|
overlay.hide()
|
||||||
|
time.sleep(1)
|
||||||
|
xbmc.Player().stop()
|
||||||
|
|
||||||
def swHistory(self, params={}):
|
def swHistory(self, params={}):
|
||||||
import searchwindow
|
import searchwindow
|
||||||
|
@ -556,11 +564,9 @@ class Core:
|
||||||
|
|
||||||
if action2 == 'open':
|
if action2 == 'open':
|
||||||
filename, foldername, path, url, seek, length, ind = db.get('filename, foldername, path, url, seek, length, ind', 'addtime', str(addtime))
|
filename, foldername, path, url, seek, length, ind = db.get('filename, foldername, path, url, seek, length, ind', 'addtime', str(addtime))
|
||||||
if os.path.exists(path) and os.path.getsize(path) > 0:
|
if os.path.exists(path):
|
||||||
self.__settings__.setSetting("lastTorrent", path)
|
self.__settings__.setSetting("lastTorrent", path)
|
||||||
else:
|
else:
|
||||||
if os.path.exists(path):
|
|
||||||
os.unlink(path)
|
|
||||||
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
path = torrent.saveTorrent(url)
|
path = torrent.saveTorrent(url)
|
||||||
self.__settings__.setSetting("lastTorrent", path)
|
self.__settings__.setSetting("lastTorrent", path)
|
||||||
|
@ -576,11 +582,9 @@ class Core:
|
||||||
seek = int(seek)
|
seek = int(seek)
|
||||||
else:
|
else:
|
||||||
seek = 0
|
seek = 0
|
||||||
if os.path.exists(path) and os.path.getsize(path) > 0:
|
if os.path.exists(path):
|
||||||
self.__settings__.setSetting("lastTorrent", path)
|
self.__settings__.setSetting("lastTorrent", path)
|
||||||
else:
|
else:
|
||||||
if os.path.exists(path):
|
|
||||||
os.unlink(path)
|
|
||||||
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
||||||
xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=playTorrent&url='+str(ind)+'&seek='+str(seek)+'")')
|
xbmc.executebuiltin('xbmc.RunPlugin("plugin://plugin.video.torrenter/?action=playTorrent&url='+str(ind)+'&seek='+str(seek)+'")')
|
||||||
|
@ -1089,28 +1093,6 @@ class Core:
|
||||||
self.drawItem(title, 'downloadLibtorrent', link, image=img, info=info, contextMenu=contextMenu, replaceMenu=False)
|
self.drawItem(title, 'downloadLibtorrent', link, image=img, info=info, contextMenu=contextMenu, replaceMenu=False)
|
||||||
#self.drawItem(title, 'openTorrent', link, img, info=info, contextMenu=contextMenu, replaceMenu=False)
|
#self.drawItem(title, 'openTorrent', link, img, info=info, contextMenu=contextMenu, replaceMenu=False)
|
||||||
|
|
||||||
def ActionInfo(self, params={}):
|
|
||||||
from resources.skins.DialogXml import DialogXml
|
|
||||||
get = params.get
|
|
||||||
contenter=get('provider')
|
|
||||||
infolink=get('url')
|
|
||||||
link=get('link')
|
|
||||||
if ROOT + os.sep + 'resources' + os.sep + 'contenters' not in sys.path:
|
|
||||||
sys.path.insert(0, ROOT + os.sep + 'resources' + os.sep + 'contenters')
|
|
||||||
try:
|
|
||||||
self.Content = getattr(__import__(contenter), contenter)()
|
|
||||||
except Exception, e:
|
|
||||||
log('Unable to use contenter: ' + contenter + ' at ' + ' ActionInfo(). Exception: ' + str(e))
|
|
||||||
|
|
||||||
movieInfo=self.Content.get_info(infolink)
|
|
||||||
if movieInfo:
|
|
||||||
w = DialogXml("movieinfo.xml", ROOT, "Default")
|
|
||||||
w.doModal(movieInfo, link)
|
|
||||||
del w
|
|
||||||
del movieInfo
|
|
||||||
else:
|
|
||||||
showMessage(self.localize('Information'),self.localize('Information not found!'))
|
|
||||||
|
|
||||||
def searchOption(self, params={}):
|
def searchOption(self, params={}):
|
||||||
try:
|
try:
|
||||||
apps = json.loads(urllib.unquote_plus(params.get("url")))
|
apps = json.loads(urllib.unquote_plus(params.get("url")))
|
||||||
|
@ -1437,6 +1419,7 @@ class Core:
|
||||||
if not url:
|
if not url:
|
||||||
action = xbmcgui.Dialog()
|
action = xbmcgui.Dialog()
|
||||||
url = action.browse(1, self.localize('Choose .torrent in video library'), 'video', '.torrent')
|
url = action.browse(1, self.localize('Choose .torrent in video library'), 'video', '.torrent')
|
||||||
|
url = urllib.quote_plus(url)
|
||||||
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
self.__settings__.setSetting("lastTorrent", torrent.saveTorrent(url))
|
||||||
self.__settings__.setSetting("lastTorrentUrl", url)
|
self.__settings__.setSetting("lastTorrentUrl", url)
|
||||||
|
@ -1592,7 +1575,8 @@ class Core:
|
||||||
url = Searchers().downloadWithSearcher(classMatch.group(2), searcher)
|
url = Searchers().downloadWithSearcher(classMatch.group(2), searcher)
|
||||||
self.__settings__.setSetting("lastTorrent", url)
|
self.__settings__.setSetting("lastTorrent", url)
|
||||||
|
|
||||||
torrent = Downloader.Torrent(self.userStorageDirectory, torrentFilesDirectory=self.torrentFilesDirectory)
|
torrent = Downloader.Torrent(self.userStorageDirectory,
|
||||||
|
torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
if not torrent: torrent = Downloader.Torrent(self.userStorageDirectory,
|
if not torrent: torrent = Downloader.Torrent(self.userStorageDirectory,
|
||||||
torrentFilesDirectory=self.torrentFilesDirectory)
|
torrentFilesDirectory=self.torrentFilesDirectory)
|
||||||
filename = torrent.saveTorrent(url)
|
filename = torrent.saveTorrent(url)
|
||||||
|
|
|
@ -140,7 +140,7 @@ class InposLoader:
|
||||||
|
|
||||||
enable_dht = self.__settings__.getSetting("enable_dht") == 'true'
|
enable_dht = self.__settings__.getSetting("enable_dht") == 'true'
|
||||||
dht_routers = ["router.bittorrent.com:6881", "router.utorrent.com:6881"]
|
dht_routers = ["router.bittorrent.com:6881", "router.utorrent.com:6881"]
|
||||||
user_agent = 'uTorrent/2200(24683)'
|
user_agent = ''
|
||||||
self.engine = Engine(uri=file_url(self.torrentFile), download_path=self.storageDirectory,
|
self.engine = Engine(uri=file_url(self.torrentFile), download_path=self.storageDirectory,
|
||||||
connections_limit=connections_limit,
|
connections_limit=connections_limit,
|
||||||
encryption=encryption, keep_complete=keep_complete, keep_incomplete=keep_incomplete,
|
encryption=encryption, keep_complete=keep_complete, keep_incomplete=keep_incomplete,
|
||||||
|
@ -253,6 +253,12 @@ class InposPlayer(xbmc.Player):
|
||||||
def __init__(self, userStorageDirectory, torrentUrl, params={}):
|
def __init__(self, userStorageDirectory, torrentUrl, params={}):
|
||||||
self.userStorageDirectory = userStorageDirectory
|
self.userStorageDirectory = userStorageDirectory
|
||||||
self.torrentUrl = torrentUrl
|
self.torrentUrl = torrentUrl
|
||||||
|
if not is_writable(self.userStorageDirectory):
|
||||||
|
xbmcgui.Dialog().ok(Localization.localize('Torrenter v2'),
|
||||||
|
Localization.localize('Your storage path is not writable or not local! Please change it in settings!'),
|
||||||
|
self.storageDirectory)
|
||||||
|
|
||||||
|
sys.exit(1)
|
||||||
xbmc.Player.__init__(self)
|
xbmc.Player.__init__(self)
|
||||||
log("["+author+"Player] Initalized v"+__version__)
|
log("["+author+"Player] Initalized v"+__version__)
|
||||||
self.params = params
|
self.params = params
|
||||||
|
@ -369,7 +375,7 @@ class InposPlayer(xbmc.Player):
|
||||||
resume_file=os.path.join(self.userStorageDirectory, 'torrents', os.path.basename(self.torrentUrl)+'.resume_data')
|
resume_file=os.path.join(self.userStorageDirectory, 'torrents', os.path.basename(self.torrentUrl)+'.resume_data')
|
||||||
|
|
||||||
dht_routers = ["router.bittorrent.com:6881","router.utorrent.com:6881"]
|
dht_routers = ["router.bittorrent.com:6881","router.utorrent.com:6881"]
|
||||||
user_agent = 'uTorrent/2200(24683)'
|
user_agent = ''
|
||||||
self.pre_buffer_bytes = int(self.__settings__.getSetting("pre_buffer_bytes"))*1024*1024
|
self.pre_buffer_bytes = int(self.__settings__.getSetting("pre_buffer_bytes"))*1024*1024
|
||||||
if self.__settings__.getSetting('debug') == 'true':
|
if self.__settings__.getSetting('debug') == 'true':
|
||||||
showMessage('[%sPlayer v%s] ' % (author, __version__), self.localize('Please Wait'))
|
showMessage('[%sPlayer v%s] ' % (author, __version__), self.localize('Please Wait'))
|
||||||
|
|
|
@ -30,7 +30,7 @@ import Downloader
|
||||||
import xbmcgui
|
import xbmcgui
|
||||||
import xbmcvfs
|
import xbmcvfs
|
||||||
import Localization
|
import Localization
|
||||||
from functions import calculate, showMessage, clearStorage, WatchedHistoryDB, DownloadDB, get_ids_video, log, debug, foldername, ensure_str, loadsw_onstop
|
from functions import calculate, showMessage, clearStorage, WatchedHistoryDB, DownloadDB, get_ids_video, log, debug, foldername, ensure_str, loadsw_onstop, decode_str
|
||||||
|
|
||||||
ROOT = sys.modules["__main__"].__root__
|
ROOT = sys.modules["__main__"].__root__
|
||||||
RESOURCES_PATH = os.path.join(ROOT, 'resources')
|
RESOURCES_PATH = os.path.join(ROOT, 'resources')
|
||||||
|
@ -388,10 +388,11 @@ class TorrentPlayer(xbmc.Player):
|
||||||
addition = os.path.dirname(title).lstrip(folder + os.sep).replace(os.sep, '.').replace(' ', '_').strip()
|
addition = os.path.dirname(title).lstrip(folder + os.sep).replace(os.sep, '.').replace(' ', '_').strip()
|
||||||
ext = temp.split('.')[-1]
|
ext = temp.split('.')[-1]
|
||||||
temp = temp[:len(temp) - len(ext) - 1] + '.' + addition + '.' + ext
|
temp = temp[:len(temp) - len(ext) - 1] + '.' + addition + '.' + ext
|
||||||
newFileName = os.path.join(os.path.dirname(path), temp)
|
newFileName = os.path.join(ensure_str(os.path.dirname(decode_str(path))), ensure_str(temp))
|
||||||
debug('[setup_subs]: '+str((os.path.join(os.path.dirname(os.path.dirname(path)),title),newFileName)))
|
debug('[setup_subs]: {} {}'.format(newFileName, title))
|
||||||
if not xbmcvfs.exists(newFileName):
|
if not xbmcvfs.exists(newFileName):
|
||||||
xbmcvfs.copy(os.path.join(os.path.dirname(os.path.dirname(path)), title), newFileName)
|
fileName = os.path.join(ensure_str(os.path.dirname(os.path.dirname(decode_str(path)))), ensure_str(title))
|
||||||
|
xbmcvfs.copy(fileName, newFileName)
|
||||||
|
|
||||||
def onPlayBackStarted(self):
|
def onPlayBackStarted(self):
|
||||||
for f in self.on_playback_started:
|
for f in self.on_playback_started:
|
||||||
|
|
|
@ -30,8 +30,9 @@ import sys
|
||||||
proxy = int(sys.modules["__main__"].__settings__.getSetting("proxy"))
|
proxy = int(sys.modules["__main__"].__settings__.getSetting("proxy"))
|
||||||
if proxy == 2:
|
if proxy == 2:
|
||||||
socks_ip = sys.modules["__main__"].__settings__.getSetting("socks_ip")
|
socks_ip = sys.modules["__main__"].__settings__.getSetting("socks_ip")
|
||||||
from resources import socks
|
from resources.proxy import socks
|
||||||
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, socks_ip, 9050)
|
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, socks_ip,
|
||||||
|
int(sys.modules["__main__"].__settings__.getSetting("socks_port")))
|
||||||
socket.socket = socks.socksocket
|
socket.socket = socks.socksocket
|
||||||
import urllib
|
import urllib
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
|
@ -243,7 +243,7 @@ class SkorbaLoader:
|
||||||
return self.getContentList()[contentId]['size']
|
return self.getContentList()[contentId]['size']
|
||||||
|
|
||||||
def getFilePath(self, contentId=0):
|
def getFilePath(self, contentId=0):
|
||||||
return os.path.join(self.storageDirectory, self.getContentList()[contentId]['title']) # .decode('utf8')
|
return os.path.join(self.storageDirectory, decode_str(self.getContentList()[contentId]['title']))
|
||||||
|
|
||||||
def getContentList(self):
|
def getContentList(self):
|
||||||
filelist = []
|
filelist = []
|
||||||
|
@ -381,7 +381,7 @@ class SkorbaLoader:
|
||||||
session_settings['rate_limit_ip_overhead'] = True
|
session_settings['rate_limit_ip_overhead'] = True
|
||||||
session_settings['request_timeout'] = 1
|
session_settings['request_timeout'] = 1
|
||||||
session_settings['torrent_connect_boost'] = 50
|
session_settings['torrent_connect_boost'] = 50
|
||||||
session_settings['user_agent'] = 'uTorrent/2200(24683)'
|
session_settings['user_agent'] = ''
|
||||||
if pc_config == 0:
|
if pc_config == 0:
|
||||||
#good pc
|
#good pc
|
||||||
session_settings['connections_limit'] = 200
|
session_settings['connections_limit'] = 200
|
||||||
|
@ -412,7 +412,7 @@ class SkorbaLoader:
|
||||||
session_settings.rate_limit_ip_overhead = True
|
session_settings.rate_limit_ip_overhead = True
|
||||||
session_settings.request_timeout = 1
|
session_settings.request_timeout = 1
|
||||||
session_settings.torrent_connect_boost = 100
|
session_settings.torrent_connect_boost = 100
|
||||||
session_settings.user_agent = 'uTorrent/2200(24683)'
|
session_settings.user_agent = ''
|
||||||
#
|
#
|
||||||
self.session.set_settings(session_settings)
|
self.session.set_settings(session_settings)
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||||
<addon id="plugin.video.torrenter" name="Torrenter" version="2.6.6" provider-name="inpos">
|
<addon id="plugin.video.torrenter" name="Torrenter" version="2.6.7" provider-name="inpos">
|
||||||
<requires>
|
<requires>
|
||||||
<import addon="xbmc.python" version="2.1.0"/>
|
<import addon="xbmc.python" version="2.1.0"/>
|
||||||
<import addon="script.module.libtorrent"/>
|
<import addon="script.module.libtorrent"/>
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
[B]Version 2.6.6[/B]
|
[B]Version 2.6.7[/B]
|
||||||
|
[+] Теперь можно указать порт SOCKS-прокси, при использоании прокси Tor
|
||||||
|
[+] Списки медиа: исправлен RiperAM
|
||||||
|
[+] .torrent Player: Исправлена работа c длинными названиями
|
||||||
|
[-] Удален user-agent "uTorrent/2200(24683)" во избежании бана
|
||||||
|
|
||||||
|
[B]Version 2.6.6[/B]
|
||||||
[+] Добавлена поддержка прокси для windows
|
[+] Добавлена поддержка прокси для windows
|
||||||
[+] Теперь можно указать адрес SOCKS-прокси, при использоании прокси Tor
|
[+] Теперь можно указать адрес SOCKS-прокси, при использоании прокси Tor
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ class RiperAM(Content.Content):
|
||||||
'hot': ('Most Recent', '/', {'page': '/portal.php?tp=%d', 'increase': 30, 'second_page': 30}),
|
'hot': ('Most Recent', '/', {'page': '/portal.php?tp=%d', 'increase': 30, 'second_page': 30}),
|
||||||
}
|
}
|
||||||
|
|
||||||
baseurl = "http://bt.kubyshka.org"
|
baseurl = "http://riperam.org/"
|
||||||
headers = [('User-Agent',
|
headers = [('User-Agent',
|
||||||
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124' + \
|
'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124' + \
|
||||||
' YaBrowser/14.10.2062.12061 Safari/537.36'),
|
' YaBrowser/14.10.2062.12061 Safari/537.36'),
|
||||||
|
|
|
@ -103,7 +103,7 @@ class RuTorOrg(Content.Content):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def get_contentList(self, category, subcategory=None, apps_property=None):
|
def get_contentList(self, category, subcategory=None, apps_property=None):
|
||||||
self.debug = self.log
|
#self.debug = self.log
|
||||||
contentList = []
|
contentList = []
|
||||||
url = 'http://%s' % self.get_url(category, subcategory, apps_property)
|
url = 'http://%s' % self.get_url(category, subcategory, apps_property)
|
||||||
self.debug(url)
|
self.debug(url)
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 95 B After Width: | Height: | Size: 120 B |
|
@ -47,6 +47,7 @@
|
||||||
<string id="30047">Proxy for Search</string>
|
<string id="30047">Proxy for Search</string>
|
||||||
<string id="31047">Proxy for Content Lists</string>
|
<string id="31047">Proxy for Content Lists</string>
|
||||||
<string id="32047">SOCKS-proxy IP</string>
|
<string id="32047">SOCKS-proxy IP</string>
|
||||||
|
<string id="32048">SOCKS-proxy Port</string>
|
||||||
<string id="30048">None</string>
|
<string id="30048">None</string>
|
||||||
<string id="30049">Anti-zapret</string>
|
<string id="30049">Anti-zapret</string>
|
||||||
<string id="31050">Tor</string>
|
<string id="31050">Tor</string>
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
<string id="30047">Прокси для поиска</string>
|
<string id="30047">Прокси для поиска</string>
|
||||||
<string id="31047">Прокси для списков медиа</string>
|
<string id="31047">Прокси для списков медиа</string>
|
||||||
<string id="32047">IP SOCKS-прокси</string>
|
<string id="32047">IP SOCKS-прокси</string>
|
||||||
|
<string id="32048">Порт SOCKS-прокси</string>
|
||||||
<string id="30048">Не использовать</string>
|
<string id="30048">Не использовать</string>
|
||||||
<string id="30049">Anti-zapret</string>
|
<string id="30049">Anti-zapret</string>
|
||||||
<string id="31050">Tor</string>
|
<string id="31050">Tor</string>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<string id="30017">Transperency (de slng)</string>
|
<string id="30017">Transperency (de slng)</string>
|
||||||
<string id="30018">Confluence (de DiMartino)</string>
|
<string id="30018">Confluence (de DiMartino)</string>
|
||||||
<string id="30019">Confluence (de RussakHH)</string>
|
<string id="30019">Confluence (de RussakHH)</string>
|
||||||
<string id="30020">Habilitar historial de búsquedas</string>
|
<string id="30020">Habilitar el historial de búsquedas</string>
|
||||||
<string id="30021">python-libtorrent</string>
|
<string id="30021">python-libtorrent</string>
|
||||||
<string id="30022">Ace Stream</string>
|
<string id="30022">Ace Stream</string>
|
||||||
<string id="30023">Reproductor P2P</string>
|
<string id="30023">Reproductor P2P</string>
|
||||||
|
@ -44,11 +44,9 @@
|
||||||
<string id="30044">Guardar archivos</string>
|
<string id="30044">Guardar archivos</string>
|
||||||
<string id="30045">Preguntar para guardar</string>
|
<string id="30045">Preguntar para guardar</string>
|
||||||
<string id="30046">Torrent2HTTP (libtorrent vía HTTP)</string>
|
<string id="30046">Torrent2HTTP (libtorrent vía HTTP)</string>
|
||||||
<string id="30047">Proxy para búsquedas</string>
|
<string id="30047">Proxy</string>
|
||||||
<string id="31047">Proxy para listas de contenido</string>
|
|
||||||
<string id="32047">Dirección IP de proxy SOCKS</string>
|
|
||||||
<string id="30048">Ninguno</string>
|
<string id="30048">Ninguno</string>
|
||||||
<string id="30049">Anti-zapret (antirrestricción)</string>
|
<string id="30049">Anti-zapret (antirestricción)</string>
|
||||||
<string id="31050">Tor</string>
|
<string id="31050">Tor</string>
|
||||||
<string id="30050">Inmunidad</string>
|
<string id="30050">Inmunidad</string>
|
||||||
<string id="30051">Núm. máx. de conexiones (0 = ilimitadas)</string>
|
<string id="30051">Núm. máx. de conexiones (0 = ilimitadas)</string>
|
||||||
|
@ -60,12 +58,12 @@
|
||||||
<string id="30057">Promedio/Buen PC</string>
|
<string id="30057">Promedio/Buen PC</string>
|
||||||
<string id="30058">Por debajo de la media, PC/router</string>
|
<string id="30058">Por debajo de la media, PC/router</string>
|
||||||
<string id="30059">Tamaño mínimo de almacenaje para autoborrado (GB)</string>
|
<string id="30059">Tamaño mínimo de almacenaje para autoborrado (GB)</string>
|
||||||
<string id="30060">Diferir inicio de reproductor</string>
|
<string id="30060">Diferir inicio del reproductor</string>
|
||||||
<string id="30061">Ordenar resultados de la búsqueda</string>
|
<string id="30061">Ordenar resultados de la búsqueda</string>
|
||||||
<string id="30062">Por fuentes</string>
|
<string id="30062">Por fuentes</string>
|
||||||
<string id="30063">No ordenar</string>
|
<string id="30063">No ordenar</string>
|
||||||
<string id="30064">Por nombre</string>
|
<string id="30064">Por nombre</string>
|
||||||
<string id="30065">Añadir a historial de vistos después del (%)</string>
|
<string id="30065">Añadir al historial de vistos después del (%)</string>
|
||||||
<string id="30066">Confluence (de safonov_ivan)</string>
|
<string id="30066">Confluence (de safonov_ivan)</string>
|
||||||
<string id="30067">Aeon Nox (de joyrider)</string>
|
<string id="30067">Aeon Nox (de joyrider)</string>
|
||||||
<string id="30068">pyrrent2http (python-libtorrent vía HTTP)</string>
|
<string id="30068">pyrrent2http (python-libtorrent vía HTTP)</string>
|
||||||
|
@ -101,7 +99,7 @@
|
||||||
<string id="50316">Contraseña</string>
|
<string id="50316">Contraseña</string>
|
||||||
<string id="50311">Cliente de BitTorrent</string>
|
<string id="50311">Cliente de BitTorrent</string>
|
||||||
<string id="50317">URL (no SSL)</string>
|
<string id="50317">URL (no SSL)</string>
|
||||||
<string id="30426">Sustitución de ruta (solo remoto)</string>
|
<string id="30426">Sustitución de ruta (Solo remoto)</string>
|
||||||
<string id="30412">Cerrar</string>
|
<string id="30412">Cerrar</string>
|
||||||
<string id="30413">Abrir "Ajustes"</string>
|
<string id="30413">Abrir "Ajustes"</string>
|
||||||
<string id="30414">Navegador de cliente BitTorrent</string>
|
<string id="30414">Navegador de cliente BitTorrent</string>
|
||||||
|
|
|
@ -67,7 +67,7 @@ from base64 import b64encode
|
||||||
|
|
||||||
if os.name == "nt" and sys.version_info < (3, 0):
|
if os.name == "nt" and sys.version_info < (3, 0):
|
||||||
try:
|
try:
|
||||||
from resources import win_inet_pton
|
from resources.proxy import win_inet_pton
|
||||||
except ImportError:
|
except ImportError:
|
||||||
raise ImportError("To run PySocks on Windows you must install win_inet_pton")
|
raise ImportError("To run PySocks on Windows you must install win_inet_pton")
|
||||||
|
|
|
@ -13,8 +13,9 @@
|
||||||
<setting id="search_phrase" type="text" label="30040"/>
|
<setting id="search_phrase" type="text" label="30040"/>
|
||||||
<setting id="num_threads" type="slider" label="30042" default="3" range="1,1,9" option="int"/>
|
<setting id="num_threads" type="slider" label="30042" default="3" range="1,1,9" option="int"/>
|
||||||
<setting id="proxy" type="enum" lvalues="30048|30049|31050" label="30047" default="0"/>
|
<setting id="proxy" type="enum" lvalues="30048|30049|31050" label="30047" default="0"/>
|
||||||
<setting id="cl_proxy" type="enum" lvalues="30048|31050" label="31047" default="0"/>
|
<setting id="cl_proxy" type="enum" lvalues="30048|31050" label="31047" default="0"/>
|
||||||
<setting id="socks_ip" type="ipaddress" label="32047" default="127.0.0.1" visible="eq(-2,2)|eq(-1,1)"/>
|
<setting id="socks_ip" type="ipaddress" label="32047" default="127.0.0.1" visible="eq(-2,2)|eq(-1,1)"/>
|
||||||
|
<setting id="socks_port" type="number" label="32048" default="9050" visible="eq(-3,2)|eq(-2,1)"/>
|
||||||
<setting id="debug" type="bool" label="30015" default="false"/>
|
<setting id="debug" type="bool" label="30015" default="false"/>
|
||||||
</category>
|
</category>
|
||||||
<category label="30102">
|
<category label="30102">
|
||||||
|
|
|
@ -1270,8 +1270,6 @@ class InfoWindow(pyxbmct.AddonDialogWindow):
|
||||||
# self.set_navigation()
|
# self.set_navigation()
|
||||||
|
|
||||||
def set_controls(self):
|
def set_controls(self):
|
||||||
# pyxbmct.AddonWindow().setImage(__root__ + '/resources/skins/Default/media/ConfluenceDialogBack.png')
|
|
||||||
# self.placeControl(self.background, 0, 0, rowspan=3, columnspan=2)
|
|
||||||
self.listing = pyxbmct.List(_imageWidth=30, _imageHeight=30, _itemTextXOffset=1,
|
self.listing = pyxbmct.List(_imageWidth=30, _imageHeight=30, _itemTextXOffset=1,
|
||||||
_itemTextYOffset=0, _itemHeight=30, _space=0, _alignmentY=0)
|
_itemTextYOffset=0, _itemHeight=30, _space=0, _alignmentY=0)
|
||||||
self.placeControl(self.listing, 0, 1, 2, 2)
|
self.placeControl(self.listing, 0, 1, 2, 2)
|
||||||
|
|
Loading…
Reference in New Issue