mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-06-25 14:50:54 -04:00
added a button to clear the IP address list. Also started to add diagnostic for TOR status. This is unfinished so it does not work yet.
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@8268 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
bcf0c9a9ed
commit
789b76f7b4
8 changed files with 198 additions and 54 deletions
|
@ -460,7 +460,19 @@ bool p3PeerMgrIMPL::setProxyServerAddress(const struct sockaddr_storage &proxy_a
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool p3PeerMgrIMPL::resetOwnExternalAddressList()
|
||||||
|
{
|
||||||
|
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
||||||
|
|
||||||
|
mOwnState.ipAddrs.mLocal.mAddrs.clear() ;
|
||||||
|
mOwnState.ipAddrs.mExt.mAddrs.clear() ;
|
||||||
|
|
||||||
|
IndicateConfigChanged(); /**** INDICATE MSG CONFIG CHANGED! *****/
|
||||||
|
|
||||||
|
return true ;
|
||||||
|
}
|
||||||
|
|
||||||
bool p3PeerMgrIMPL::getProxyServerStatus(uint32_t& proxy_status)
|
bool p3PeerMgrIMPL::getProxyServerStatus(uint32_t& proxy_status)
|
||||||
{
|
{
|
||||||
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
RsStackMutex stack(mPeerMtx); /****** STACK LOCK MUTEX *******/
|
||||||
|
|
|
@ -135,6 +135,8 @@ virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo)
|
||||||
virtual bool getGroupInfoList(std::list<RsGroupInfo> &groupInfoList) = 0;
|
virtual bool getGroupInfoList(std::list<RsGroupInfo> &groupInfoList) = 0;
|
||||||
virtual bool assignPeersToGroup(const std::string &groupId, const std::list<RsPgpId> &peerIds, bool assign) = 0;
|
virtual bool assignPeersToGroup(const std::string &groupId, const std::list<RsPgpId> &peerIds, bool assign) = 0;
|
||||||
|
|
||||||
|
virtual bool resetOwnExternalAddressList() = 0 ;
|
||||||
|
|
||||||
virtual ServicePermissionFlags servicePermissionFlags(const RsPgpId& gpg_id) =0;
|
virtual ServicePermissionFlags servicePermissionFlags(const RsPgpId& gpg_id) =0;
|
||||||
virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) =0;
|
virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) =0;
|
||||||
virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) =0;
|
virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) =0;
|
||||||
|
@ -237,7 +239,7 @@ virtual bool getGroupInfo(const std::string &groupId, RsGroupInfo &groupInfo)
|
||||||
virtual bool getGroupInfoList(std::list<RsGroupInfo> &groupInfoList);
|
virtual bool getGroupInfoList(std::list<RsGroupInfo> &groupInfoList);
|
||||||
virtual bool assignPeersToGroup(const std::string &groupId, const std::list<RsPgpId> &peerIds, bool assign);
|
virtual bool assignPeersToGroup(const std::string &groupId, const std::list<RsPgpId> &peerIds, bool assign);
|
||||||
|
|
||||||
virtual ServicePermissionFlags servicePermissionFlags(const RsPgpId& gpg_id) ;
|
virtual ServicePermissionFlags servicePermissionFlags(const RsPgpId& gpg_id) ;
|
||||||
virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) ;
|
virtual ServicePermissionFlags servicePermissionFlags(const RsPeerId& ssl_id) ;
|
||||||
virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) ;
|
virtual void setServicePermissionFlags(const RsPgpId& gpg_id,const ServicePermissionFlags& flags) ;
|
||||||
|
|
||||||
|
@ -263,6 +265,7 @@ virtual bool updateCurrentAddress(const RsPeerId& id, const pqiIpAddress &add
|
||||||
virtual bool updateLastContact(const RsPeerId& id);
|
virtual bool updateLastContact(const RsPeerId& id);
|
||||||
virtual bool updateAddressList(const RsPeerId& id, const pqiIpAddrSet &addrs);
|
virtual bool updateAddressList(const RsPeerId& id, const pqiIpAddrSet &addrs);
|
||||||
|
|
||||||
|
virtual bool resetOwnExternalAddressList() ;
|
||||||
|
|
||||||
// THIS MUST ONLY BE CALLED BY NETMGR!!!!
|
// THIS MUST ONLY BE CALLED BY NETMGR!!!!
|
||||||
virtual bool UpdateOwnAddress(const struct sockaddr_storage &local_addr, const struct sockaddr_storage &ext_addr);
|
virtual bool UpdateOwnAddress(const struct sockaddr_storage &local_addr, const struct sockaddr_storage &ext_addr);
|
||||||
|
|
|
@ -349,7 +349,8 @@ class RsPeers
|
||||||
|
|
||||||
virtual void getIPServersList(std::list<std::string>& ip_servers) = 0;
|
virtual void getIPServersList(std::list<std::string>& ip_servers) = 0;
|
||||||
virtual void allowServerIPDetermination(bool) = 0;
|
virtual void allowServerIPDetermination(bool) = 0;
|
||||||
virtual bool getAllowServerIPDetermination() = 0 ;
|
virtual bool resetOwnExternalAddressList() = 0;
|
||||||
|
virtual bool getAllowServerIPDetermination() = 0 ;
|
||||||
|
|
||||||
/* Auth Stuff */
|
/* Auth Stuff */
|
||||||
virtual std::string GetRetroshareInvite(const RsPeerId& ssl_id,bool include_signatures) = 0;
|
virtual std::string GetRetroshareInvite(const RsPeerId& ssl_id,bool include_signatures) = 0;
|
||||||
|
|
|
@ -725,7 +725,11 @@ void p3Peers::getIPServersList(std::list<std::string>& ip_servers)
|
||||||
{
|
{
|
||||||
mNetMgr->getIPServersList(ip_servers) ;
|
mNetMgr->getIPServersList(ip_servers) ;
|
||||||
}
|
}
|
||||||
void p3Peers::allowServerIPDetermination(bool b)
|
bool p3Peers::resetOwnExternalAddressList()
|
||||||
|
{
|
||||||
|
return mPeerMgr->resetOwnExternalAddressList();
|
||||||
|
}
|
||||||
|
void p3Peers::allowServerIPDetermination(bool b)
|
||||||
{
|
{
|
||||||
mNetMgr->setIPServersEnabled(b) ;
|
mNetMgr->setIPServersEnabled(b) ;
|
||||||
}
|
}
|
||||||
|
|
|
@ -101,6 +101,7 @@ virtual bool isProxyAddress(const sockaddr_storage&);
|
||||||
virtual void getIPServersList(std::list<std::string>& ip_servers) ;
|
virtual void getIPServersList(std::list<std::string>& ip_servers) ;
|
||||||
virtual void allowServerIPDetermination(bool) ;
|
virtual void allowServerIPDetermination(bool) ;
|
||||||
virtual bool getAllowServerIPDetermination() ;
|
virtual bool getAllowServerIPDetermination() ;
|
||||||
|
virtual bool resetOwnExternalAddressList() ;
|
||||||
|
|
||||||
/* Auth Stuff */
|
/* Auth Stuff */
|
||||||
// Get the invitation (GPG cert + local/ext address + SSL id for the given peer)
|
// Get the invitation (GPG cert + local/ext address + SSL id for the given peer)
|
||||||
|
|
|
@ -31,6 +31,7 @@
|
||||||
#include <retroshare/rsturtle.h>
|
#include <retroshare/rsturtle.h>
|
||||||
|
|
||||||
#include <QTcpSocket>
|
#include <QTcpSocket>
|
||||||
|
#include <QNetworkProxy>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
|
||||||
#define ICON_STATUS_UNKNOWN ":/images/ledoff1.png"
|
#define ICON_STATUS_UNKNOWN ":/images/ledoff1.png"
|
||||||
|
@ -46,6 +47,7 @@ ServerPage::ServerPage(QWidget * parent, Qt::WindowFlags flags)
|
||||||
|
|
||||||
connect( ui.netModeComboBox, SIGNAL( activated ( int ) ), this, SLOT( toggleUPnP( ) ) );
|
connect( ui.netModeComboBox, SIGNAL( activated ( int ) ), this, SLOT( toggleUPnP( ) ) );
|
||||||
connect( ui.allowIpDeterminationCB, SIGNAL( toggled( bool ) ), this, SLOT( toggleIpDetermination(bool) ) );
|
connect( ui.allowIpDeterminationCB, SIGNAL( toggled( bool ) ), this, SLOT( toggleIpDetermination(bool) ) );
|
||||||
|
connect( ui.cleanKnownIPs_PB, SIGNAL( clicked( ) ), this, SLOT( clearKnownAddressList() ) );
|
||||||
//connect( ui.allowTunnelConnectionCB, SIGNAL( toggled( bool ) ), this, SLOT( toggleTunnelConnection(bool) ) );
|
//connect( ui.allowTunnelConnectionCB, SIGNAL( toggled( bool ) ), this, SLOT( toggleTunnelConnection(bool) ) );
|
||||||
//connect( ui._turtle_enabled_CB, SIGNAL( toggled( bool ) ), this, SLOT( toggleTurtleRouting(bool) ) );
|
//connect( ui._turtle_enabled_CB, SIGNAL( toggled( bool ) ), this, SLOT( toggleTurtleRouting(bool) ) );
|
||||||
|
|
||||||
|
@ -86,7 +88,12 @@ ServerPage::ServerPage(QWidget * parent, Qt::WindowFlags flags)
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ServerPage::clearKnownAddressList()
|
||||||
|
{
|
||||||
|
rsPeers->resetOwnExternalAddressList() ;
|
||||||
|
|
||||||
|
load() ;
|
||||||
|
}
|
||||||
|
|
||||||
void ServerPage::toggleIpDetermination(bool b)
|
void ServerPage::toggleIpDetermination(bool b)
|
||||||
{
|
{
|
||||||
|
@ -225,6 +232,7 @@ void ServerPage::load()
|
||||||
ui.torpage_proxyPort -> setValue(proxyport);
|
ui.torpage_proxyPort -> setValue(proxyport);
|
||||||
|
|
||||||
updateTorOutProxyIndicator();
|
updateTorOutProxyIndicator();
|
||||||
|
updateTorInProxyIndicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
//void ServerPage::toggleTurtleRouting(bool b)
|
//void ServerPage::toggleTurtleRouting(bool b)
|
||||||
|
@ -296,6 +304,7 @@ void ServerPage::updateStatus()
|
||||||
|
|
||||||
// check for TOR
|
// check for TOR
|
||||||
updateTorOutProxyIndicator();
|
updateTorOutProxyIndicator();
|
||||||
|
updateTorInProxyIndicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerPage::toggleUPnP()
|
void ServerPage::toggleUPnP()
|
||||||
|
@ -538,6 +547,7 @@ void ServerPage::loadHiddenNode()
|
||||||
ui.torpage_proxyPort -> setValue(proxyport);
|
ui.torpage_proxyPort -> setValue(proxyport);
|
||||||
|
|
||||||
updateTorOutProxyIndicator();
|
updateTorOutProxyIndicator();
|
||||||
|
updateTorInProxyIndicator();
|
||||||
|
|
||||||
QString expected = "HiddenServiceDir </your/path/to/hidden/directory/service>\n";
|
QString expected = "HiddenServiceDir </your/path/to/hidden/directory/service>\n";
|
||||||
expected += "HiddenServicePort ";
|
expected += "HiddenServicePort ";
|
||||||
|
@ -604,6 +614,7 @@ void ServerPage::updateStatusHiddenNode()
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
updateTorOutProxyIndicator();
|
updateTorOutProxyIndicator();
|
||||||
|
updateTorInProxyIndicator();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerPage::saveAddressesHiddenNode()
|
void ServerPage::saveAddressesHiddenNode()
|
||||||
|
@ -664,25 +675,70 @@ void ServerPage::saveAddressesHiddenNode()
|
||||||
rsConfig->SetMaxDataRates( ui.totalDownloadRate->value(), ui.totalUploadRate->value() );
|
rsConfig->SetMaxDataRates( ui.totalDownloadRate->value(), ui.totalUploadRate->value() );
|
||||||
load();
|
load();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerPage::updateTorOutProxyIndicator()
|
void ServerPage::updateTorOutProxyIndicator()
|
||||||
{
|
{
|
||||||
QTcpSocket socket ;
|
QTcpSocket socket ;
|
||||||
socket.connectToHost(ui.torpage_proxyAddress->text(),ui.torpage_proxyPort->text().toInt());
|
socket.connectToHost(ui.torpage_proxyAddress->text(),ui.torpage_proxyPort->text().toInt());
|
||||||
|
|
||||||
if(socket.waitForConnected(500))
|
if(socket.waitForConnected(500))
|
||||||
{
|
{
|
||||||
//std::cerr << "connected !" << std::endl;
|
socket.disconnectFromHost();
|
||||||
|
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_OK)) ;
|
||||||
|
ui.iconlabel_tor_outgoing->setToolTip(tr("Proxy seems to work.")) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ;
|
||||||
|
ui.iconlabel_tor_outgoing->setToolTip(tr("TOR proxy is not enabled")) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void ServerPage::updateLocInProxyIndicator()
|
||||||
|
{
|
||||||
|
QTcpSocket socket ;
|
||||||
|
socket.connectToHost(ui.torpage_localAddress->text(),ui.torpage_localPort->text().toInt());
|
||||||
|
|
||||||
|
if(socket.waitForConnected(1000))
|
||||||
|
{
|
||||||
|
socket.disconnectFromHost();
|
||||||
|
ui.iconlabel_local_incoming->setPixmap(QPixmap(ICON_STATUS_OK)) ;
|
||||||
|
ui.iconlabel_local_incoming->setToolTip(tr("You are reachable through TOR.")) ;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ui.iconlabel_local_incoming->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ;
|
||||||
|
ui.iconlabel_local_incoming->setToolTip(tr("TOR proxy is not enabled or broken.\nAre you running a TOR hidden service?\nCheck your ports!")) ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void ServerPage::updateTorInProxyIndicator()
|
||||||
|
{
|
||||||
|
QTcpSocket socket ;
|
||||||
|
|
||||||
|
QNetworkProxy proxy ;
|
||||||
|
|
||||||
|
proxy.setType(QNetworkProxy::Socks5Proxy);
|
||||||
|
proxy.setHostName(ui.torpage_proxyAddress->text());
|
||||||
|
proxy.setPort(ui.torpage_proxyPort->text().toInt());
|
||||||
|
|
||||||
|
std::cerr << "Setting proxy hostname+port to " << ui.torpage_proxyAddress->text().toStdString() << ":" << ui.torpage_proxyPort->text().toInt() << std::endl;
|
||||||
|
socket.setProxy(proxy) ;
|
||||||
|
|
||||||
|
std::cerr << "Connecting to " << ui.torpage_onionAddress->text().toStdString() << ":" << ui.torpage_onionPort->text().toInt() << std::endl;
|
||||||
|
|
||||||
|
socket.connectToHost(ui.torpage_onionAddress->text(),ui.torpage_onionPort->text().toInt(),QAbstractSocket::ReadOnly);
|
||||||
|
|
||||||
|
if(socket.waitForConnected(5000))
|
||||||
|
{
|
||||||
|
std::cerr <<"Connected!" << std::endl;
|
||||||
socket.disconnectFromHost();
|
socket.disconnectFromHost();
|
||||||
|
ui.iconlabel_tor_incoming->setPixmap(QPixmap(ICON_STATUS_OK)) ;
|
||||||
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_OK)) ;
|
ui.iconlabel_tor_incoming->setToolTip(tr("You are reachable through TOR.")) ;
|
||||||
ui.iconlabel_tor_outgoing->setToolTip(tr("Proxy seems to work.")) ;
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ui.iconlabel_tor_outgoing->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ;
|
std::cerr <<"Failed!" << std::endl;
|
||||||
ui.iconlabel_tor_outgoing->setToolTip(tr("TOR proxy is not enabled")) ;
|
std::cerr << "Error: " << socket.errorString().toStdString() << std::endl;
|
||||||
|
ui.iconlabel_tor_incoming->setPixmap(QPixmap(ICON_STATUS_UNKNOWN)) ;
|
||||||
|
ui.iconlabel_tor_incoming->setToolTip(tr("TOR proxy is not enabled or broken.\nAre you running a TOR hidden service?\nCheck your ports!")) ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -40,9 +40,9 @@ public:
|
||||||
/** Loads the settings for this page */
|
/** Loads the settings for this page */
|
||||||
virtual void load();
|
virtual void load();
|
||||||
|
|
||||||
virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; }
|
virtual QPixmap iconPixmap() const { return QPixmap(":/images/server_24x24.png") ; }
|
||||||
virtual QString pageName() const { return tr("Network") ; }
|
virtual QString pageName() const { return tr("Network") ; }
|
||||||
virtual QString helpText() const { return ""; }
|
virtual QString helpText() const { return ""; }
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void updateStatus();
|
void updateStatus();
|
||||||
|
@ -52,20 +52,22 @@ private slots:
|
||||||
void toggleUPnP();
|
void toggleUPnP();
|
||||||
void toggleIpDetermination(bool) ;
|
void toggleIpDetermination(bool) ;
|
||||||
void toggleTunnelConnection(bool) ;
|
void toggleTunnelConnection(bool) ;
|
||||||
|
void clearKnownAddressList() ;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
// Alternative Versions for HiddenNode Mode.
|
// Alternative Versions for HiddenNode Mode.
|
||||||
void loadHiddenNode();
|
void loadHiddenNode();
|
||||||
void updateStatusHiddenNode();
|
void updateStatusHiddenNode();
|
||||||
void saveAddressesHiddenNode();
|
void saveAddressesHiddenNode();
|
||||||
void updateTorOutProxyIndicator();
|
void updateTorOutProxyIndicator();
|
||||||
|
void updateLocInProxyIndicator();
|
||||||
|
void updateTorInProxyIndicator();
|
||||||
|
|
||||||
Ui::ServerPage ui;
|
Ui::ServerPage ui;
|
||||||
|
|
||||||
|
|
||||||
bool mIsHiddenNode;
|
bool mIsHiddenNode;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // !SERVERPAGE_H
|
#endif // !SERVERPAGE_H
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
<string>Network Configuration</string>
|
<string>Network Configuration</string>
|
||||||
</attribute>
|
</attribute>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_9">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
<item>
|
<item>
|
||||||
|
@ -317,11 +317,38 @@
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_7">
|
<layout class="QHBoxLayout" name="horizontalLayout_7">
|
||||||
<property name="text">
|
<item>
|
||||||
<string>Known / Previous IPs:</string>
|
<widget class="QLabel" name="label_7">
|
||||||
</property>
|
<property name="text">
|
||||||
</widget>
|
<string>Known / Previous IPs:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<spacer name="horizontalSpacer">
|
||||||
|
<property name="orientation">
|
||||||
|
<enum>Qt::Horizontal</enum>
|
||||||
|
</property>
|
||||||
|
<property name="sizeHint" stdset="0">
|
||||||
|
<size>
|
||||||
|
<width>40</width>
|
||||||
|
<height>20</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</spacer>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="cleanKnownIPs_PB">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>This clears the list of known addresses. This action is useful if for some reason your address list contains an invalid/irrelevant/expired address that you want to avoid passing to your friends as a contact address.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QListWidget" name="ipAddressList">
|
<widget class="QListWidget" name="ipAddressList">
|
||||||
|
@ -471,6 +498,8 @@ behind a firewall or a VPN.</string>
|
||||||
<zorder>label_7</zorder>
|
<zorder>label_7</zorder>
|
||||||
<zorder></zorder>
|
<zorder></zorder>
|
||||||
<zorder></zorder>
|
<zorder></zorder>
|
||||||
|
<zorder>cleanKnownIPs_PB</zorder>
|
||||||
|
<zorder>horizontalSpacer</zorder>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="TorTAB">
|
<widget class="QWidget" name="TorTAB">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
@ -530,7 +559,7 @@ behind a firewall or a VPN.</string>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_9">
|
<widget class="QLabel" name="label_9">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Outgoing Okay</string>
|
<string>TOR outgoing Okay</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -577,16 +606,6 @@ are running a standard Node, so why not setup TOR? </string>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_7">
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="0" column="0">
|
|
||||||
<widget class="QLabel" name="label_10">
|
|
||||||
<property name="text">
|
|
||||||
<string>Local Address</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="QLineEdit" name="torpage_localAddress"/>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="2">
|
<item row="0" column="2">
|
||||||
<widget class="QSpinBox" name="torpage_localPort">
|
<widget class="QSpinBox" name="torpage_localPort">
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
|
@ -600,7 +619,7 @@ are running a standard Node, so why not setup TOR? </string>
|
||||||
<item row="0" column="3">
|
<item row="0" column="3">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
<layout class="QHBoxLayout" name="horizontalLayout_9">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="iconlabel_tor_incoming">
|
<widget class="QLabel" name="iconlabel_local_incoming">
|
||||||
<property name="maximumSize">
|
<property name="maximumSize">
|
||||||
<size>
|
<size>
|
||||||
<width>16</width>
|
<width>16</width>
|
||||||
|
@ -618,22 +637,12 @@ are running a standard Node, so why not setup TOR? </string>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_13">
|
<widget class="QLabel" name="label_13">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Incoming Okay</string>
|
<string>Local incoming Okay</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_11">
|
|
||||||
<property name="text">
|
|
||||||
<string>Onion Address</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
|
||||||
<widget class="QLineEdit" name="torpage_onionAddress"/>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="2">
|
<item row="1" column="2">
|
||||||
<widget class="QSpinBox" name="torpage_onionPort">
|
<widget class="QSpinBox" name="torpage_onionPort">
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
|
@ -644,6 +653,61 @@ are running a standard Node, so why not setup TOR? </string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>Onion Address</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="label_10">
|
||||||
|
<property name="text">
|
||||||
|
<string>Local Address</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QLineEdit" name="torpage_onionAddress">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>This is your onion address. It should look like <span style=" font-weight:600;">[something].onion. </span>If you configured a hidden service with TOR, the onion address is generated automatically by TOR. You can get it in e.g. <span style=" font-weight:600;">/var/lib/tor/[service name]/hostname</span></p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QLineEdit" name="torpage_localAddress">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>This is the local address to which the TOR hidden service points at your localhost. Most of the time, <span style=" font-weight:600;">127.0.0.1</span> is the right answer.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="3">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="iconlabel_tor_incoming">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>16</width>
|
||||||
|
<height>16</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="pixmap">
|
||||||
|
<pixmap resource="../images.qrc">:/images/ledoff1.png</pixmap>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QLabel" name="label_16">
|
||||||
|
<property name="text">
|
||||||
|
<string>TOR incoming ok</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
@ -752,6 +816,7 @@ If you have issues connecting over TOR check the TOR logs too.</string>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="../images.qrc"/>
|
<include location="../images.qrc"/>
|
||||||
|
<include location="gui/images.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue