Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sess = new libtorrent::session(libtorrent::fingerprint("AT", 0, 0, 0, 1), std::pair<int, int>(cfg->torrent_port_low(), cfg->torrent_port_high()));
- libtorrent::session_settings s = libtorrent::min_memory_usage();
- sess->set_alert_mask(libtorrent::alert::error_notification | libtorrent::alert::storage_notification | libtorrent::alert::progress_notification);
- sess->set_alert_dispatch(libtorrent_alert_dispatcher);
- if(cfg->torrent_seed())
- {
- if(cfg->torrent_speed_up() > 0)
- s.upload_rate_limit = cfg->torrent_speed_up()*1024;
- }
- else
- s.upload_rate_limit = 1024*30;
- if(cfg->torrent_speed_down() > 0)
- s.download_rate_limit = cfg->torrent_speed_down() * 1024;
- QNetworkProxyQuery npq(QUrl("http://www.google.com"));
- QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery(npq);
- if(!listOfProxies.empty())
- {
- libtorrent::proxy_settings ps;
- ps.hostname = listOfProxies.begin()->hostName().toStdString();
- ps.port = listOfProxies.begin()->port();
- ps.password = listOfProxies.begin()->password().toStdString();
- ps.username = listOfProxies.begin()->user().toStdString();
- if(listOfProxies.begin()->type() == QNetworkProxy::NoProxy)
- ps.type = ps.none;
- else if(listOfProxies.begin()->type() == QNetworkProxy::Socks5Proxy)
- {
- if(!ps.username.empty() && !ps.password.empty())
- ps.type = ps.socks5_pw;
- else
- ps.type = ps.socks5;
- }
- else if(listOfProxies.begin()->type() == QNetworkProxy::HttpProxy)
- {
- if(!ps.username.empty() && !ps.password.empty())
- ps.type = ps.http_pw;
- else
- ps.type = ps.http;
- }
- sess->set_proxy(ps);
- }
- if(cfg->torrent_pex())
- sess->add_extension(&libtorrent::create_ut_pex_plugin);
- sess->add_extension(&libtorrent::create_ut_metadata_plugin);
- if(cfg->torrent_dht())
- sess->start_dht();
- else
- sess->stop_dht();
- if(cfg->torrent_upnp())
- {
- up = sess->start_upnp();
- npmp = sess->start_natpmp();
- sess->start_lsd();
- }
- else
- {
- sess->stop_upnp();
- sess->stop_natpmp();
- sess->stop_lsd();
- }
- sess->set_settings(s);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement