Beispiel #1
0
 def createWebView(self, port=1080):
     """
     This webView ignores all SSL errors
     :rtype : QtWebKit.QWebView
     """
     w = QtWebKit.QWebView()
     nam = w.page().networkAccessManager()
     assert isinstance(nam, QtNetwork.QNetworkAccessManager)
     proxy = QtNetwork.QNetworkProxy()
     proxy.setType(QtNetwork.QNetworkProxy.HttpProxy)
     proxy.setHostName("127.0.0.1")
     proxy.setPort(port)
     nam.setProxy(proxy)
     nam.sslErrors.connect(self.sslErrorHandler)
     return w
Beispiel #2
0
def tox_dns(email):
    """
    TOX DNS 4
    :param email: data like '*****@*****.**'
    :return: tox id on success else None
    """
    site = email.split('@')[1]
    data = {"action": 3, "name": "{}".format(email)}
    urls = ('https://{}/api'.format(site), 'http://{}/api'.format(site))
    s = settings.Settings.get_instance()
    if not s['proxy_type']:  # no proxy
        for url in urls:
            try:
                return send_request(url, data)
            except Exception as ex:
                log('TOX DNS ERROR: ' + str(ex))
    else:  # proxy
        netman = QtNetwork.QNetworkAccessManager()
        proxy = QtNetwork.QNetworkProxy()
        proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy if s['proxy_type'] ==
                      2 else QtNetwork.QNetworkProxy.HttpProxy)
        proxy.setHostName(s['proxy_host'])
        proxy.setPort(s['proxy_port'])
        netman.setProxy(proxy)
        for url in urls:
            try:
                request = QtNetwork.QNetworkRequest(url)
                request.setHeader(QtNetwork.QNetworkRequest.ContentTypeHeader,
                                  "application/json")
                reply = netman.post(request, bytes(json.dumps(data), 'utf-8'))

                while not reply.isFinished():
                    QtCore.QThread.msleep(1)
                    QtCore.QCoreApplication.processEvents()
                data = bytes(reply.readAll().data())
                result = json.loads(str(data, 'utf-8'))
                if not result['c']:
                    return result['tox_id']
            except Exception as ex:
                log('TOX DNS ERROR: ' + str(ex))

    return None  # error
Beispiel #3
0
def send_request(version):
    s = settings.Settings.get_instance()
    netman = QtNetwork.QNetworkAccessManager()
    proxy = QtNetwork.QNetworkProxy()
    if s['proxy_type']:
        proxy.setType(QtNetwork.QNetworkProxy.Socks5Proxy if s['proxy_type'] ==
                      2 else QtNetwork.QNetworkProxy.HttpProxy)
        proxy.setHostName(s['proxy_host'])
        proxy.setPort(s['proxy_port'])
        netman.setProxy(proxy)
    url = test_url(version)
    try:
        request = QtNetwork.QNetworkRequest(url)
        reply = netman.get(request)
        while not reply.isFinished():
            QtCore.QThread.msleep(1)
            QtCore.QCoreApplication.processEvents()
        attr = reply.attribute(
            QtNetwork.QNetworkRequest.HttpStatusCodeAttribute)
        return attr is not None and 200 <= attr < 300
    except Exception as ex:
        util.log('TOXYGEN UPDATER ERROR: ' + str(ex))
        return False