summaryrefslogtreecommitdiffstats
path: root/module/plugins/hooks/UserAgentSwitcher.py
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-04-13 09:22:01 +0200
committerGravatar Walter Purcaro <vuolter@users.noreply.github.com> 2015-04-13 09:22:01 +0200
commit2432ade6c9bd7284a5bf0d760796638eef634be9 (patch)
tree877cfd29c6e5117a974377ead73cbbc150f6544d /module/plugins/hooks/UserAgentSwitcher.py
parentPrepare hook plugins to merging from stable (diff)
parent[LolabitsEs] Cleanup (diff)
downloadpyload-2432ade6c9bd7284a5bf0d760796638eef634be9.tar.xz
Merge branch 'stable' into 0.4.10
Conflicts: module/plugins/hooks/MultihostersComHook.py module/plugins/hooks/PutdriveComHook.py module/plugins/internal/CaptchaService.py pyload/plugin/account/OboomCom.py pyload/plugin/account/SmoozedCom.py pyload/plugin/addon/AntiVirus.py pyload/plugin/addon/ExternalScripts.py pyload/plugin/addon/ExtractArchive.py pyload/plugin/addon/RestartSlow.py pyload/plugin/crypter/CrockoCom.py pyload/plugin/crypter/DepositfilesCom.py pyload/plugin/crypter/FshareVn.py pyload/plugin/crypter/LinkdecrypterCom.py pyload/plugin/crypter/MegaRapidCz.py pyload/plugin/crypter/PastebinCom.py pyload/plugin/hoster/CatShareNet.py pyload/plugin/hoster/EdiskCz.py pyload/plugin/hoster/ExtabitCom.py pyload/plugin/hoster/GigapetaCom.py pyload/plugin/hoster/GooIm.py pyload/plugin/hoster/IfolderRu.py pyload/plugin/hoster/LuckyShareNet.py pyload/plugin/hoster/MegasharesCom.py pyload/plugin/hoster/MovReelCom.py pyload/plugin/hoster/NarodRu.py pyload/plugin/hoster/NowDownloadSx.py pyload/plugin/hoster/NowVideoSx.py pyload/plugin/hoster/QuickshareCz.py pyload/plugin/hoster/RemixshareCom.py pyload/plugin/hoster/RgHostNet.py pyload/plugin/hoster/SendspaceCom.py pyload/plugin/hoster/UlozTo.py pyload/plugin/hoster/UnibytesCom.py pyload/plugin/hoster/UploadingCom.py pyload/plugin/hoster/WrzucTo.py pyload/plugin/internal/MultiHook.py pyload/plugin/internal/SimpleHoster.py
Diffstat (limited to 'module/plugins/hooks/UserAgentSwitcher.py')
-rw-r--r--module/plugins/hooks/UserAgentSwitcher.py47
1 files changed, 47 insertions, 0 deletions
diff --git a/module/plugins/hooks/UserAgentSwitcher.py b/module/plugins/hooks/UserAgentSwitcher.py
new file mode 100644
index 000000000..912c2ef09
--- /dev/null
+++ b/module/plugins/hooks/UserAgentSwitcher.py
@@ -0,0 +1,47 @@
+# -*- coding: utf-8 -*-
+
+from __future__ import with_statement
+
+import os
+import pycurl
+import random
+
+from module.plugins.Hook import Hook
+from module.utils import fs_encode
+
+
+class UserAgentSwitcher(Hook):
+ __name__ = "UserAgentSwitcher"
+ __type__ = "hook"
+ __version__ = "0.04"
+
+ __config__ = [("activated", "bool", "Activated" , True ),
+ ("uaf" , "file", "Random user-agents file" , "" ),
+ ("uar" , "bool", "Random user-agent" , False ),
+ ("uas" , "str" , "Custom user-agent string", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0")]
+
+ __description__ = """Custom user-agent"""
+ __license__ = "GPLv3"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
+
+ interval = 0 #@TODO: Remove in 0.4.10
+
+
+ def setup(self):
+ self.info = {} #@TODO: Remove in 0.4.10
+
+
+ def downloadPreparing(self, pyfile):
+ uar = self.getConfig('uar')
+ uaf = fs_encode(self.getConfig('uaf'))
+
+ if uar and os.path.isfile(uaf):
+ with open(uaf) as f:
+ uas = random.choice([ua for ua in f.read().splitlines()])
+ else:
+ uas = self.getConfig('uas')
+
+ if uas:
+ self.logDebug("Use custom user-agent string: " + uas)
+ pyfile.plugin.req.http.c.setopt(pycurl.USERAGENT, uas.encode('utf-8'))