[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[vidalia-svn] r2443: * Added services.html * Linking from the service widget to t (in vidalia/branches/hidden-services/src/vidalia: config help/content help/content/en i18n)
Author: borkdomenik
Date: 2008-03-22 13:49:49 -0400 (Sat, 22 Mar 2008)
New Revision: 2443
Added:
vidalia/branches/hidden-services/src/vidalia/help/content/en/services.html
Modified:
vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp
vidalia/branches/hidden-services/src/vidalia/config/servicepage.h
vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui
vidalia/branches/hidden-services/src/vidalia/help/content/content.qrc
vidalia/branches/hidden-services/src/vidalia/help/content/en/contents.xml
vidalia/branches/hidden-services/src/vidalia/i18n/vidalia_en.ts
Log:
* Added services.html
* Linking from the service widget to the correct help entry
* some more smaller changes/bugfixes
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.cpp 2008-03-22 17:49:49 UTC (rev 2443)
@@ -56,6 +56,8 @@
connect(ui.browseButton, SIGNAL(clicked()), this, SLOT(browseDirectory()));
connect(ui.serviceWidget, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(serviceSelectionChanged()));
connect(ui.serviceWidget, SIGNAL(itemChanged(QTableWidgetItem*)), this, SLOT(valueChanged()));
+ connect(ui.lblHelpServices, SIGNAL(linkActivated(QString)),
+ this, SLOT(onLinkActivated(QString)));
}
/** Destructor */
@@ -447,6 +449,8 @@
index++;
}
}
+ /* TODO validation needs to accept <domain-name-or-ip-address>:<port>,
+ * <domain-name-or-ip-address>, and <port>;
} else if(ui.serviceWidget->currentColumn() == 2) {
QTableWidgetItem* item = ui.serviceWidget->item(currentRow,2);
if(item != NULL) {
@@ -468,6 +472,7 @@
}
}
}
+ */
} else if(ui.serviceWidget->currentColumn() == 1) {
QString eingabe = ui.serviceWidget->item(currentRow,1)->text();
if(eingabe.length() > 0) {
@@ -480,6 +485,11 @@
}
}
+/** Called when a link in a label is clicked. <b>url</b> is the target of
+ * the clicked link. */
+void
+ServicePage::onLinkActivated(const QString &url)
+{
+ emit helpRequested(url);
+}
-
-
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.h
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.h 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.h 2008-03-22 17:49:49 UTC (rev 2443)
@@ -61,7 +61,9 @@
void valueChanged();
+ void onLinkActivated(const QString &url);
+
private:
/** A TorControl object used to talk to Tor. */
TorControl* _torControl;
Modified: vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/config/servicepage.ui 2008-03-22 17:49:49 UTC (rev 2443)
@@ -21,16 +21,14 @@
<widget class="QGroupBox" name="groupBox" >
<property name="geometry" >
<rect>
- <x>10</x>
- <y>10</y>
+ <x>9</x>
+ <y>9</y>
<width>671</width>
<height>281</height>
</rect>
</property>
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -48,12 +46,21 @@
</rect>
</property>
<layout class="QVBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QToolButton" name="addButton" >
<property name="toolTip" >
@@ -96,9 +103,7 @@
<item>
<widget class="QPushButton" name="browseButton" >
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>0</hsizetype>
- <vsizetype>0</vsizetype>
+ <sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -139,16 +144,25 @@
</rect>
</property>
<layout class="QHBoxLayout" >
- <property name="margin" >
- <number>0</number>
- </property>
<property name="spacing" >
<number>6</number>
</property>
+ <property name="leftMargin" >
+ <number>0</number>
+ </property>
+ <property name="topMargin" >
+ <number>0</number>
+ </property>
+ <property name="rightMargin" >
+ <number>0</number>
+ </property>
+ <property name="bottomMargin" >
+ <number>0</number>
+ </property>
<item>
<widget class="QLabel" name="lblAddBridge" >
<property name="text" >
- <string>Configure hidden services to be provided by this Tor client or relay.</string>
+ <string>Configure hidden services to be provided by this Tor client or relay</string>
</property>
</widget>
</item>
@@ -166,15 +180,12 @@
</spacer>
</item>
<item>
- <widget class="QLabel" name="lblHelpFindBridges" >
+ <widget class="QLabel" name="lblHelpServices" >
<property name="cursor" >
- <cursor>13</cursor>
+ <cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text" >
- <string><html><head><meta name="qrichtext" content="1" /><style type="text/css">
-p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'Sans Serif'; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;">
-<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><a href="bridges.finding"><span style=" text-decoration: underline; color:#0000ff;">How does all this work?</span></a></p></body></html></string>
+ <string><a href="services">How does this all work?</a></string>
</property>
</widget>
</item>
@@ -190,9 +201,7 @@
</rect>
</property>
<property name="sizePolicy" >
- <sizepolicy>
- <hsizetype>5</hsizetype>
- <vsizetype>5</vsizetype>
+ <sizepolicy vsizetype="Preferred" hsizetype="Preferred" >
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -221,7 +230,7 @@
</column>
<column>
<property name="text" >
- <string>Phys. Address:Port</string>
+ <string>Target</string>
</property>
</column>
<column>
Modified: vidalia/branches/hidden-services/src/vidalia/help/content/content.qrc
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/help/content/content.qrc 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/help/content/content.qrc 2008-03-22 17:49:49 UTC (rev 2443)
@@ -11,6 +11,7 @@
<file>en/netview.html</file>
<file>en/links.html</file>
<file>en/bridges.html</file>
+ <file>en/services.html</file>
<!-- Finnish -->
<file>fi/contents.xml</file>
<file>fi/index.html</file>
Modified: vidalia/branches/hidden-services/src/vidalia/help/content/en/contents.xml
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/help/content/en/contents.xml 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/help/content/en/contents.xml 2008-03-22 17:49:49 UTC (rev 2443)
@@ -42,6 +42,14 @@
<Topic id="about" name="What are bridge relays?" html="bridges.html" section="about"/>
<Topic id="finding" name="How do I find a bridge relay?" html="bridges.html" section="finding"/>
</Topic>
+ <Topic id="services" name="Hidden Services" html="services.html">
+ <Topic id="about" name="What is a hidden service?" html="services.html" section="about"/>
+ <Topic id="provide" name="How do I provide a hidden service?" html="services.html" section="provide"/>
+ <Topic id="data" name="What data do I need to provide?" html="services.html" section="data"/>
+ <Topic id="buttons" name="What are the five buttons used for?" html="services.html" section="buttons"/>
+ <Topic id="advanced" name="How can I configure advanced hidden service settings?" html="services.html" section="advanced"/>
+ <Topic id="client" name="How does Vidalia help me to access other hidden services?" html="services.html" section="client"/>
+ </Topic>
<Topic id="troubleshooting" name="Troubleshooting" html="troubleshooting.html">
<Topic id="start" name="I Can't Start Tor" html="troubleshooting.html" section="start"/>
<Topic id="connect" name="Vidalia Can't Connect to Tor" html="troubleshooting.html" section="connect"/>
Added: vidalia/branches/hidden-services/src/vidalia/help/content/en/services.html
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/help/content/en/services.html (rev 0)
+++ vidalia/branches/hidden-services/src/vidalia/help/content/en/services.html 2008-03-22 17:49:49 UTC (rev 2443)
@@ -0,0 +1,146 @@
+<!--
+** $Id $
+**
+** This file is part of Vidalia, and is subject to the license terms in the
+** LICENSE file, found in the top level directory of this distribution. If
+** you did not receive the LICENSE file with this file, you may obtain it
+** from the Vidalia source package distributed by the Vidalia Project at
+** http://www.vidalia-project.net/. No part of Vidalia, including this file,
+** may be copied, modified, propagated, or distributed except according to
+** the terms described in the LICENSE file.
+-->
+
+<html>
+<body>
+
+<h1>Hidden Services</h1>
+<hr />
+
+Remark: Support for hidden services is new in Vidalia. You should expect it
+to have bugs, some of which possibly corrupting your hidden service
+configuration. So, don't rely on it, or rather, don't blame us if something
+goes wrong. If you find bugs or have comments on this new feature, please
+let us know! We need your feedback.
+
+<a name="about"/>
+<h3>What is a hidden service?</h3>
+<p>
+Hidden services allow you to provide any kind of TCP-based service, e.g. an
+HTTP service, to others without revealing your IP address. The protocol
+to provide a hidden service is built on top of the same circuits that Tor
+uses for anonymous browsing and roughly has similar anonymity properties.
+</p>
+
+<p>
+For more information on hidden service you may want to read section 5 of
+Tor's design paper (doc/design-paper/tor-design.pdf) or the Rendezvous
+Specification (doc/spec/rend-spec.txt).
+</p>
+
+<a name="provide"/>
+<h3>How do I provide a hidden service?</h3>
+<p>
+Providing a hidden service consists of at least two steps:
+<ol>
+ <li>Install a web server locally (or a server for whatever service you
+ want to provide, e.g. IRC) to listen for local requests.</li>
+ <li>Configure your hidden service, so that Tor relays requests coming
+ from Tor users to your local server.</li>
+</ol>
+There is a fine tutorial on the Tor website
+(https://www.torproject.org/docs/tor-hidden-service.html) that describes
+these steps in more detail.
+</p>
+
+<a name="data"/>
+<h3>What data do I need to provide?</h3>
+<p>
+The services table contains five columns containing data about configured
+hidden services:
+<ul>
+ <li>Onion Address (generated): The service (or onion) address is
+ generated by Tor to uniquely identify your service. Give this onion
+ address to the people who shall be able to access your service. You
+ may use the "Copy to clipboard" button for that to avoid typos. If
+ you have just created a hidden service, the field says "[Created by
+ Tor]"; in order to make it display the real onion address, you need
+ to save your configuration and re-open the settings window.</li>
+ <li>Virtual Port (required): This is the TCP port that clients will need
+ to know in order to access your service. Typically, you will want to
+ use the service-specific port here, e.g. port 80 for HTTP. Note that
+ the virtual port usually has nothing to do with firewall settings,
+ because it is only used Tor-internally.</li>
+ <li>Target (optional): Usually you want Tor to relay connection requests
+ to localhost on a different port than the one you specified in
+ "Virtual Port". Therefore, you can specify a target consisting of
+ physical address and port to which requests to your hidden service
+ are redirected, e.g. to localhost:5222 (or on whatever port your
+ server is listening). If you don't specify any target, Tor will
+ redirect requests to the port specified in "Virtual Port" on
+ localhost.</li>
+ <li>Service Directory (required): Tor needs to store some hidden-service
+ specific files in a separate directory, e.g. a private key and a
+ hostname file containing the onion address. This directory should be
+ distinct from a directory containing content that the service
+ provides. A good place for a service directory might be a sub
+ directory in Tor's data directory. -- Note that you cannot change the
+ directory of a running service (it wouldn't make much sense to allow
+ it, because Vidalia is not supposed to move directories on your hard
+ disk!). If you want to move a hidden service to another directory,
+ please proceed as follows: Start by disabling the service in Vidalia
+ and save the configuration. Then move the directory on your hard disk
+ to the new place. Finally, change the directory in Vidalia to the new
+ location, enable the service again, and save the new
+ configuration.</li>
+ <li>Enabled: If this checkbox is disabled, Vidalia will not configure the
+ given hidden service in Tor. This can be useful for keeping the
+ configuration of a currently unused service for later use. All
+ non-enabled services are stored in the Vidalia-specific configuration
+ file vidalia.conf.</li>
+</ul>
+</p>
+
+<a name="buttons"/>
+<h3>What are the five buttons used for?</h3>
+<p>
+<ul>
+ <li>Add service: Creates a new empty service configuration.</li>
+ <li>Remove service: Permanently removes a hidden service configuration.
+ (If you want to temporarily remove a service, uncheck its Enabled
+ checkbox.)</li>
+ <li>Copy to clipboard: Copies the onion address to the clipboard, so
+ that you can tell it to whoever shall be able to use your
+ service.</li>
+ <li>Browse: Lets you browse to find a local hidden service
+ directory.</li>
+</ul>
+</p>
+
+<a name="advanced"/>
+<h3>How can I configure advanced hidden service settings?</h3>
+<p>
+Tor allows configuration of more specific settings for hidden services,
+e.g. forcing to use (or avoiding) certain nodes as introduction points, or
+providing multiple virtual ports for the same service.
+</p>
+
+<p>
+However, we decided to simplify things in Vidalia and provide only the most
+common settings. If you want to configure advanced settings, you need to do
+so in Tor's torrc file. Vidalia will not remove those settings even when
+you are editing your hidden services. If you specify more than one virtual
+port, only the first will be displayed and be editable.
+</p>
+
+<a name="client"/>
+<h3>How does Vidalia help me to access other hidden services?</h3>
+<p>
+Not at all. There is no need to do so. If you want to access another hidden
+service, type the service's onion address in your browser (or appropriate
+client application if it's not a web service), and Tor does the rest for
+you. There is no need to specifically configure Tor for that.
+</p>
+
+</body>
+</html>
+
Modified: vidalia/branches/hidden-services/src/vidalia/i18n/vidalia_en.ts
===================================================================
--- vidalia/branches/hidden-services/src/vidalia/i18n/vidalia_en.ts 2008-03-22 14:39:19 UTC (rev 2442)
+++ vidalia/branches/hidden-services/src/vidalia/i18n/vidalia_en.ts 2008-03-22 17:49:49 UTC (rev 2443)
@@ -2417,4 +2417,11 @@
<translation type="unfinished"></translation>
</message>
</context>
+<context>
+ <message>
+ <location filename="../config/servicepage.ui" line="174"/>
+ <source><a href="services.about">How does this all work?</a></source>
+ <translation type="unfinished"></translation>
+ </message>
+</context>
</TS>