bool static ApplyProxySettings() { QSettings settings; CService addrProxy(settings.value("addrProxy", "127.0.0.1:9050").toString().toStdString()); int nSocksVersion(settings.value("nSocksVersion", 5).toInt()); if (!settings.value("fUseProxy", false).toBool()) { addrProxy = CService(); nSocksVersion = 0; return false; } if (nSocksVersion && !addrProxy.IsValid()) { return false; } if (!IsLimited(NET_IPV4)) { SetProxy(NET_IPV4, addrProxy, nSocksVersion); } if (nSocksVersion > 4) { #ifdef USE_IPV6 if (!IsLimited(NET_IPV6)) { SetProxy(NET_IPV6, addrProxy, nSocksVersion); } #endif SetNameProxy(addrProxy, nSocksVersion); } return true; }
void TorController::auth_cb(TorControlConnection& conn, const TorControlReply& reply) { if (reply.code == 250) { LogPrint("tor", "tor: Authentication successful\n"); // Now that we know Tor is running setup the proxy for onion addresses // if -onion isn't set to something else. if (GetArg("-onion", "") == "") { proxyType addrOnion = proxyType(CService("127.0.0.1", 9050), true); SetProxy(NET_TOR, addrOnion); SetLimited(NET_TOR, false); } // Finally - now create the service if (private_key.empty()) // No private key, generate one private_key = "NEW:RSA1024"; // Explicitly request RSA1024 - see issue #9214 // Request hidden service, redirect port. // Note that the 'virtual' port doesn't have to be the same as our internal port, but this is just a convenient // choice. TODO; refactor the shutdown sequence some day. conn.Command(strprintf("ADD_ONION %s Port=%i,127.0.0.1:%i", private_key, GetListenPort(), GetListenPort()), boost::bind(&TorController::add_onion_cb, this, _1, _2)); } else { LogPrintf("tor: Authentication failed\n"); } }
void CNetRadioDlg::TurnDouban() { SetProxy(m_Proxy); m_Browser.SetLeft(0); m_Browser.SetTop(0); m_Browser.Navigate2(FM_DOUBAN); }
~CDownloader() { CloseInternet(true); SetProxy(NULL, NULL, NULL); SetLogin(NULL, NULL); SafeFree(szCmdStringFormat); };
void CNetRadioDlg::TurnBaidu() { SetProxy(NULL); m_Browser.SetLeft(-130); m_Browser.SetTop(-140); m_Browser.Navigate2(FM_BAIDU); }
bool static ApplyProxySettings() { QSettings settings; CService addrProxy(settings.value("addrProxy", "127.0.0.1:9050").toString().toStdString()); if (!settings.value("fUseProxy", false).toBool()) { addrProxy = CService(); return false; } if (!addrProxy.IsValid()) return false; if (!IsLimited(NET_IPV4)) SetProxy(NET_IPV4, addrProxy); if (!IsLimited(NET_IPV6)) SetProxy(NET_IPV6, addrProxy); SetNameProxy(addrProxy); return true; }
void Opal::Sip::EndPoint::set_outbound_proxy (const std::string & uri) { if (!uri.empty ()) { outbound_proxy = uri; PTRACE (4, "Opal::Sip::EndPoint\tSet outbound proxy to " << uri); SetProxy (SIPURL (outbound_proxy)); } }
void MainWindow::RestoreSettings() { QSettings settings; restoreGeometry(settings.value("geometry").toByteArray()); ui->fSplitter->restoreState(settings.value("splitter").toByteArray()); SetDictionary(); SetProxy(); LoadSnippets(); }
void SubprocessNetworkAccessManager::SetProxy(const QString& server, int Port, bool IsHttp, const QString& name, const QString& password, const QString& callback) { QString WriteString; QXmlStreamWriter xmlWriter(&WriteString); xmlWriter.writeStartElement("SetProxy"); xmlWriter.writeAttribute("server",server); xmlWriter.writeAttribute("Port",QString::number(Port)); xmlWriter.writeAttribute("IsHttp",QString::number(IsHttp)); xmlWriter.writeAttribute("name",name); xmlWriter.writeAttribute("password",password); xmlWriter.writeEndElement(); Worker->SetScript(callback); Worker->SetFailMessage(QString("Timeout during SetProxy")); Worker->GetWaiter()->WaitForSignal(this,SIGNAL(SetProxy()), Worker,SLOT(RunSubScript()), Worker, SLOT(FailBecauseOfTimeout())); Worker->GetProcessComunicator()->Send(WriteString); }
void MainWindow::OnSettings() { SaveSnippets(); SettingsDialog settings(fSnippets); connect(&settings, SIGNAL(FontUpdated(QFont, int)), this, SLOT(SetEditorFont(QFont, int))); if (settings.exec() == SettingsDialog::Accepted) { if (fSimpleNote) { delete fSimpleNote; fSimpleNote = 0; } SetProxy(); SetDictionary(); SaveSnippets(); ui->fEditor->SnippetsUpdated(); } else { LoadSnippets(); } SetEditorFont(settings.CurrentFont(), settings.CurrentTabSize()); }
void CComboBoxPrxyR::ResetProxyList() { if (m_bUseIE) { EnableWindow(FALSE); return; } ResetContent(); AddString(_T("")); // プロキシファイルパス CString strFile = _GetFilePath( _T("Proxy.ini") ); CIniFileI pr( strFile, _T("PROXY") ); //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv // プロキシ DWORD dwLineCnt = 0; pr.QueryValue( dwLineCnt, _T("MAX") ); for (int ii = 0; ii < (int) dwLineCnt; ii++) { CString strKey; strKey.Format(_T("%d"), ii); CString strProxy = pr.GetString( strKey ); //*+++ ここをGetStringUWにするかは後で. if ( strProxy.IsEmpty() ) continue; AddString(strProxy); } pr.Close(); //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // プロキシ設定 SetProxy(); }
void Opal::Sip::EndPoint::set_outbound_proxy (const std::string & uri) { outbound_proxy = uri; SetProxy (SIPURL (outbound_proxy)); }
DOWNERROR CDownLoader::DownLoadFile( __in PCTSTR lpszServerName, __in INTERNET_PORT nServerPort, __in PCTSTR lpSrcFile, __in PCTSTR lpDstFile) { if (NULL == m_hSession) return DownDisconnected; HINTERNET hConnect = ::InternetConnect(m_hSession, lpszServerName, nServerPort, NULL, NULL, INTERNET_SERVICE_HTTP, 0, 0); if (NULL == hConnect) return DownDisconnected; PCTSTR accept[] = { _T("accept: */*"), NULL }; HINTERNET hRequest = ::HttpOpenRequest(hConnect, _T("GET"), lpSrcFile, NULL, NULL, accept, 0, 0); if (NULL == hRequest) { ::InternetCloseHandle(hConnect); return DownDisconnected; } if (UseProxy == m_proxyType) SetProxy(hRequest); if (!::HttpSendRequest(hRequest, NULL, 0, NULL, 0)) { ::InternetCloseHandle(hRequest); ::InternetCloseHandle(hConnect); return DownDisconnected; } DWORD dwCode = 0; DWORD dwSize = 0; if (UnknownProxy == m_proxyType) { dwSize = sizeof(DWORD); HttpQueryInfo (hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &dwCode, &dwSize, NULL); if (HTTP_STATUS_PROXY_AUTH_REQ == dwCode) m_proxyType = UseProxy; else m_proxyType = NoProxy; SaveProxy(hRequest); SetProxy(hRequest); ::HttpSendRequest(hRequest, NULL, 0, NULL, 0); } HttpQueryInfo (hRequest, HTTP_QUERY_STATUS_CODE | HTTP_QUERY_FLAG_NUMBER, &dwCode, &dwSize, NULL); if (HTTP_STATUS_NOT_FOUND == dwCode) { ::InternetCloseHandle(hRequest); ::InternetCloseHandle(hConnect); return DownFileNotExists; } HANDLE hFile = CreateFile(lpDstFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_ARCHIVE, NULL); if (INVALID_HANDLE_VALUE == hFile) { ::InternetCloseHandle(hRequest); ::InternetCloseHandle(hConnect); return DownCannotOpenFile; } PBYTE buf = new BYTE[BUF_SIZE]; DWORD dw, dwWritten; while (::InternetReadFile(hRequest, buf, BUF_SIZE, &dw) && dw > 0) { ::WriteFile(hFile, buf, dw, &dwWritten, NULL); } ::CloseHandle(hFile); ::InternetCloseHandle(hRequest); ::InternetCloseHandle(hConnect); delete [] buf; return DownOK; }
void SubprocessNetworkAccessManager::Received(const QString& value) { QXmlStreamReader xmlReader(value); while(!xmlReader.atEnd() && !xmlReader.hasError()) { QXmlStreamReader::TokenType token = xmlReader.readNext(); if(xmlReader.name() == "AddCacheMaskAllow" && token == QXmlStreamReader::StartElement) { emit AddCacheMaskAllow(); }else if(xmlReader.name() == "SetProxy" && token == QXmlStreamReader::StartElement) { emit SetProxy(); }else if(xmlReader.name() == "AddHeader" && token == QXmlStreamReader::StartElement) { emit AddHeader(); }else if(xmlReader.name() == "CleanHeader" && token == QXmlStreamReader::StartElement) { emit CleanHeader(); }else if(xmlReader.name() == "AddCacheMaskDeny" && token == QXmlStreamReader::StartElement) { emit AddCacheMaskDeny(); }else if(xmlReader.name() == "AddRequestMaskAllow" && token == QXmlStreamReader::StartElement) { emit AddRequestMaskAllow(); }else if(xmlReader.name() == "AddRequestMaskDeny" && token == QXmlStreamReader::StartElement) { emit AddRequestMaskDeny(); }else if(xmlReader.name() == "ClearCacheMask" && token == QXmlStreamReader::StartElement) { emit ClearCacheMask(); }else if(xmlReader.name() == "ClearRequestMask" && token == QXmlStreamReader::StartElement) { emit ClearRequestMask(); }else if(xmlReader.name() == "ClearLoadedUrl" && token == QXmlStreamReader::StartElement) { emit ClearLoadedUrl(); }else if(xmlReader.name() == "ClearCachedData" && token == QXmlStreamReader::StartElement) { emit ClearCachedData(); }else if(xmlReader.name() == "ClearAll" && token == QXmlStreamReader::StartElement) { emit ClearAll(); }else if(xmlReader.name() == "ClearMasks" && token == QXmlStreamReader::StartElement) { emit ClearMasks(); }else if(xmlReader.name() == "ClearData" && token == QXmlStreamReader::StartElement) { emit ClearData(); }else if(xmlReader.name() == "FindCacheByMaskBase64" && token == QXmlStreamReader::StartElement) { xmlReader.readNext(); Worker->SetAsyncResult(QScriptValue(xmlReader.text().toString())); emit FindCacheByMaskBase64(); }else if(xmlReader.name() == "FindCacheByMaskString" && token == QXmlStreamReader::StartElement) { xmlReader.readNext(); Worker->SetAsyncResult(QScriptValue(xmlReader.text().toString())); emit FindCacheByMaskString(); }else if(xmlReader.name() == "FindStatusByMask" && token == QXmlStreamReader::StartElement) { xmlReader.readNext(); Worker->SetAsyncResult(QScriptValue(xmlReader.text().toInt())); emit FindStatusByMask(); }else if(xmlReader.name() == "IsUrlLoadedByMask" && token == QXmlStreamReader::StartElement) { xmlReader.readNext(); Worker->SetAsyncResult(QScriptValue(xmlReader.text().toString().toInt())); emit IsUrlLoadedByMask(); } } if (xmlReader.hasError()) { return; } }
int main(int argc, char **argv) { signal(SIGPIPE, SIG_IGN); setbuf(stdout, nullptr); CDnsSeedOpts opts; opts.ParseCommandLine(argc, argv); printf("Supporting whitelisted filters: "); for (std::set<uint64_t>::const_iterator it = opts.filter_whitelist.begin(); it != opts.filter_whitelist.end(); it++) { if (it != opts.filter_whitelist.begin()) { printf(","); } printf("0x%lx", (unsigned long)*it); } printf("\n"); if (opts.tor) { CService service(LookupNumeric(opts.tor, 9050)); if (service.IsValid()) { printf("Using Tor proxy at %s\n", service.ToStringIPPort().c_str()); SetProxy(NET_TOR, service); } } if (opts.ipv4_proxy) { CService service(LookupNumeric(opts.ipv4_proxy, 9050)); if (service.IsValid()) { printf("Using IPv4 proxy at %s\n", service.ToStringIPPort().c_str()); SetProxy(NET_IPV4, service); } } if (opts.ipv6_proxy) { CService service(LookupNumeric(opts.ipv6_proxy, 9050)); if (service.IsValid()) { printf("Using IPv6 proxy at %s\n", service.ToStringIPPort().c_str()); SetProxy(NET_IPV6, service); } } bool fDNS = true; if (opts.fUseTestNet) { printf("Using testnet.\n"); netMagic[0] = 0xf4; netMagic[1] = 0xe5; netMagic[2] = 0xf3; netMagic[3] = 0xf4; seeds = testnet_seeds; fTestNet = true; } if (!opts.ns) { printf("No nameserver set. Not starting DNS server.\n"); fDNS = false; } if (fDNS && !opts.host) { fprintf(stderr, "No hostname set. Please use -h.\n"); exit(1); } if (fDNS && !opts.mbox) { fprintf(stderr, "No e-mail address set. Please use -m.\n"); exit(1); } FILE *f = fopen("dnsseed.dat", "r"); if (f) { printf("Loading dnsseed.dat..."); CAutoFile cf(f, SER_DISK, CLIENT_VERSION); cf >> db; if (opts.fWipeBan) db.banned.clear(); if (opts.fWipeIgnore) db.ResetIgnores(); printf("done\n"); } pthread_t threadDns, threadSeed, threadDump, threadStats; if (fDNS) { printf("Starting %i DNS threads for %s on %s (port %i)...", opts.nDnsThreads, opts.host, opts.ns, opts.nPort); dnsThread.clear(); for (int i = 0; i < opts.nDnsThreads; i++) { dnsThread.push_back(new CDnsThread(&opts, i)); pthread_create(&threadDns, nullptr, ThreadDNS, dnsThread[i]); printf("."); Sleep(20); } printf("done\n"); } printf("Starting seeder..."); pthread_create(&threadSeed, nullptr, ThreadSeeder, nullptr); printf("done\n"); printf("Starting %i crawler threads...", opts.nThreads); pthread_attr_t attr_crawler; pthread_attr_init(&attr_crawler); pthread_attr_setstacksize(&attr_crawler, 0x20000); for (int i = 0; i < opts.nThreads; i++) { pthread_t thread; pthread_create(&thread, &attr_crawler, ThreadCrawler, &opts.nThreads); } pthread_attr_destroy(&attr_crawler); printf("done\n"); pthread_create(&threadStats, nullptr, ThreadStats, nullptr); pthread_create(&threadDump, nullptr, ThreadDumper, nullptr); void *res; pthread_join(threadDump, &res); return 0; }