19#define SETTING_FASCIST_FIREWALL "FascistFirewall"
20#define SETTING_REACHABLE_ADDRESSES "ReachableAddresses"
23#define SETTING_PROXY_TYPE "ProxyType"
24#define SETTING_PROXY_ADDRESS "ProxyAddress"
25#define SETTING_PROXY_USERNAME "ProxyUsername"
26#define SETTING_PROXY_PASSWORD "ProxyPassword"
29#define SETTING_HTTPS_PROXY "HttpsProxy"
30#define SETTING_HTTPS_PROXY_AUTH "HttpsProxyAuthenticator"
31#define SETTING_SOCKS4_PROXY "Socks4Proxy"
32#define SETTING_SOCKS5_PROXY "Socks5Proxy"
33#define SETTING_SOCKS5_USERNAME "Socks5ProxyUsername"
34#define SETTING_SOCKS5_PASSWORD "Socks5ProxyPassword"
36#define SETTING_USE_BRIDGES "UseBridges"
37#define SETTING_BRIDGE_LIST "Bridge"
38#define SETTING_UPDATE_BRIDGES "UpdateBridgesFromAuthority"
39#define SETTING_TUNNEL_DIR_CONNS "TunnelDirConns"
40#define SETTING_PREFER_TUNNELED_DIR_CONNS "PreferTunneledDirConns"
56 QStringList() <<
"*:80" <<
"*:443");
65 QMultiHash<QString, QString> conf;
72 QString socks4, socks5, http, https;
73 QString addr, user, pass, auth;
79 if (!user.isEmpty() || !pass.isEmpty())
80 auth = QString(
"%1:%2").arg(user).arg(pass);
97 if (torVersion >= 0x020201) {
113 }
else if (torVersion <= 0x020021) {
120 if (torVersion >= 0x020003) {
126 foreach (QString bridge, bridges) {
159 QList<quint16> reachablePorts;
160 QStringList lineList;
164 foreach (QString line, lineList) {
165 foreach (QString address, line.split(
",", QString::SkipEmptyParts)) {
166 QStringList parts = address.split(
":");
167 if (parts.size() >= 2) {
168 quint16 port = parts.at(1).toUInt(&ok);
170 reachablePorts << port;
174 return reachablePorts;
182 if (!reachablePorts.isEmpty()) {
183 QStringList portList;
184 foreach (quint16 port, reachablePorts) {
185 portList <<
"*:" + QString::number(port);
317 QString str = type.toLower();
323 if (str ==
"httphttps")
#define SETTING_TUNNEL_DIR_CONNS
#define SETTING_PROXY_ADDRESS
#define SETTING_BRIDGE_LIST
#define SETTING_SOCKS4_PROXY
#define SETTING_REACHABLE_ADDRESSES
#define SETTING_SOCKS5_PASSWORD
#define SETTING_HTTPS_PROXY
#define SETTING_USE_BRIDGES
#define SETTING_PREFER_TUNNELED_DIR_CONNS
#define SETTING_PROXY_TYPE
#define SETTING_FASCIST_FIREWALL
#define SETTING_UPDATE_BRIDGES
#define SETTING_SOCKS5_PROXY
#define SETTING_PROXY_PASSWORD
#define SETTING_HTTPS_PROXY_AUTH
#define SETTING_PROXY_USERNAME
#define SETTING_SOCKS5_USERNAME
virtual void setValue(const QString &key, const QVariant &value)
TorControl * torControl() const
virtual QVariant localValue(const QString &key) const
virtual QVariant value(const QString &key) const
QString getProxyAddress()
bool getFascistFirewall()
QList< quint16 > getReachablePorts()
QStringList getBridgeList()
void setProxyUsername(const QString &user)
void setReachablePorts(const QList< quint16 > &reachablePorts)
NetworkSettings(TorControl *torControl)
QString getProxyUsername()
bool apply(QString *errmsg=0)
void setBridgeList(const QStringList &bridgeList)
QString proxyTypeToString(ProxyType type)
void setUseBridges(bool useBridges)
ProxyType proxyTypeFromString(const QString &type)
QString getProxyPassword()
void setProxyAddress(const QString &addr)
void setFascistFirewall(bool fascistFirewall)
void setProxyPassword(const QString &pass)
void setProxyType(ProxyType type)
bool setConf(QHash< QString, QString > map, QString *errmsg=0)
void setDefault(const QString &key, const QVariant &val)