Advertisement
Guest User

Untitled

a guest
May 20th, 2012
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.59 KB | None | 0 0
  1. sess = new libtorrent::session(libtorrent::fingerprint("AT", 0, 0, 0, 1), std::pair<int, int>(cfg->torrent_port_low(), cfg->torrent_port_high()));
  2. libtorrent::session_settings s = libtorrent::min_memory_usage();
  3. sess->set_alert_mask(libtorrent::alert::error_notification | libtorrent::alert::storage_notification | libtorrent::alert::progress_notification);
  4. sess->set_alert_dispatch(libtorrent_alert_dispatcher);
  5. if(cfg->torrent_seed())
  6. {
  7. if(cfg->torrent_speed_up() > 0)
  8. s.upload_rate_limit = cfg->torrent_speed_up()*1024;
  9. }
  10. else
  11. s.upload_rate_limit = 1024*30;
  12. if(cfg->torrent_speed_down() > 0)
  13. s.download_rate_limit = cfg->torrent_speed_down() * 1024;
  14. QNetworkProxyQuery npq(QUrl("http://www.google.com"));
  15. QList<QNetworkProxy> listOfProxies = QNetworkProxyFactory::systemProxyForQuery(npq);
  16. if(!listOfProxies.empty())
  17. {
  18. libtorrent::proxy_settings ps;
  19. ps.hostname = listOfProxies.begin()->hostName().toStdString();
  20. ps.port = listOfProxies.begin()->port();
  21. ps.password = listOfProxies.begin()->password().toStdString();
  22. ps.username = listOfProxies.begin()->user().toStdString();
  23. if(listOfProxies.begin()->type() == QNetworkProxy::NoProxy)
  24. ps.type = ps.none;
  25. else if(listOfProxies.begin()->type() == QNetworkProxy::Socks5Proxy)
  26. {
  27. if(!ps.username.empty() && !ps.password.empty())
  28. ps.type = ps.socks5_pw;
  29. else
  30. ps.type = ps.socks5;
  31. }
  32. else if(listOfProxies.begin()->type() == QNetworkProxy::HttpProxy)
  33. {
  34. if(!ps.username.empty() && !ps.password.empty())
  35. ps.type = ps.http_pw;
  36. else
  37. ps.type = ps.http;
  38. }
  39. sess->set_proxy(ps);
  40. }
  41. if(cfg->torrent_pex())
  42. sess->add_extension(&libtorrent::create_ut_pex_plugin);
  43. sess->add_extension(&libtorrent::create_ut_metadata_plugin);
  44. if(cfg->torrent_dht())
  45. sess->start_dht();
  46. else
  47. sess->stop_dht();
  48. if(cfg->torrent_upnp())
  49. {
  50. up = sess->start_upnp();
  51. npmp = sess->start_natpmp();
  52. sess->start_lsd();
  53. }
  54. else
  55. {
  56. sess->stop_upnp();
  57. sess->stop_natpmp();
  58. sess->stop_lsd();
  59. }
  60. sess->set_settings(s);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement