From dab6e10881c25af13e5e4b96490c5a68fb9456f4 Mon Sep 17 00:00:00 2001 From: pokamest Date: Sat, 30 Jul 2022 16:20:41 +0300 Subject: [PATCH] Wordpress site in the Tor network --- client/configurators/vpn_configurator.cpp | 9 ++-- client/containers/containers_defs.cpp | 4 +- client/protocols/protocols_defs.cpp | 2 +- client/resources.qrc | 1 + client/server_scripts/website_tor/Dockerfile | 3 ++ .../website_tor/configure_container.sh | 2 +- .../website_tor/run_container.sh | 11 ++-- .../Pages/Protocols/PageProtoTorWebSite.qml | 54 +++++++++++-------- .../Pages/Share/PageShareProtoTorWebSite.qml | 2 +- 9 files changed, 50 insertions(+), 38 deletions(-) create mode 100644 client/server_scripts/website_tor/Dockerfile diff --git a/client/configurators/vpn_configurator.cpp b/client/configurators/vpn_configurator.cpp index 28669168..c2b128f0 100644 --- a/client/configurators/vpn_configurator.cpp +++ b/client/configurators/vpn_configurator.cpp @@ -109,12 +109,9 @@ void VpnConfigurator::updateContainerConfigAfterInstallation(DockerContainer con qDebug() << "amnezia-tor onions" << stdOut; - QStringList l = stdOut.split(","); - for (QString s : l) { - if (s.contains(":80")) { - protocol.insert(config_key::site, s); - } - } + QString onion = stdOut; + onion.replace("\n", ""); + protocol.insert(config_key::site, onion); containerConfig.insert(ProtocolProps::protoToString(mainProto), protocol); } diff --git a/client/containers/containers_defs.cpp b/client/containers/containers_defs.cpp index ab665fbb..54721a2e 100644 --- a/client/containers/containers_defs.cpp +++ b/client/containers/containers_defs.cpp @@ -77,7 +77,7 @@ QMap ContainerProps::containerHumanNames() {DockerContainer::WireGuard, "WireGuard"}, {DockerContainer::Ipsec, QObject::tr("IPsec")}, - {DockerContainer::TorWebSite, QObject::tr("Web site in TOR network")}, + {DockerContainer::TorWebSite, QObject::tr("Web site in Tor network")}, {DockerContainer::Dns, QObject::tr("DNS Service")}, //{DockerContainer::FileShare, QObject::tr("SMB file sharing service")}, {DockerContainer::Sftp, QObject::tr("Sftp file sharing service")} @@ -94,7 +94,7 @@ QMap ContainerProps::containerDescriptions() {DockerContainer::WireGuard, QObject::tr("WireGuard container")}, {DockerContainer::Ipsec, QObject::tr("IPsec container")}, - {DockerContainer::TorWebSite, QObject::tr("Web site in TOR network")}, + {DockerContainer::TorWebSite, QObject::tr("Web site in Tor network")}, {DockerContainer::Dns, QObject::tr("DNS Service")}, //{DockerContainer::FileShare, QObject::tr("SMB file sharing service - is Window file sharing protocol")}, {DockerContainer::Sftp, QObject::tr("Sftp file sharing service - is secure FTP service")} diff --git a/client/protocols/protocols_defs.cpp b/client/protocols/protocols_defs.cpp index 93578d12..549c3774 100644 --- a/client/protocols/protocols_defs.cpp +++ b/client/protocols/protocols_defs.cpp @@ -76,7 +76,7 @@ QMap ProtocolProps::protocolHumanNames() {Proto::Ikev2, "IKEv2"}, {Proto::L2tp, "L2TP"}, - {Proto::TorWebSite, "Web site in TOR network"}, + {Proto::TorWebSite, "Web site in Tor network"}, {Proto::Dns, "DNS Service"}, {Proto::FileShare, "File Sharing Service"}, {Proto::Sftp, QObject::tr("Sftp service")} diff --git a/client/resources.qrc b/client/resources.qrc index db61db33..a48a98f7 100644 --- a/client/resources.qrc +++ b/client/resources.qrc @@ -158,5 +158,6 @@ images/svg/settings_suggest_black_24dp.svg ui/qml/Controls/SvgButtonType.qml ui/qml/Pages/PageQrDecoderIos.qml + server_scripts/website_tor/Dockerfile diff --git a/client/server_scripts/website_tor/Dockerfile b/client/server_scripts/website_tor/Dockerfile new file mode 100644 index 00000000..ba408716 --- /dev/null +++ b/client/server_scripts/website_tor/Dockerfile @@ -0,0 +1,3 @@ +FROM amneziavpn/torpress:latest + +LABEL maintainer="AmneziaVPN" diff --git a/client/server_scripts/website_tor/configure_container.sh b/client/server_scripts/website_tor/configure_container.sh index 31c9eb93..70fc8c37 100644 --- a/client/server_scripts/website_tor/configure_container.sh +++ b/client/server_scripts/website_tor/configure_container.sh @@ -1,3 +1,3 @@ sleep 5 # get onions list -onions +cat /var/lib/tor/hidden_service/hostname diff --git a/client/server_scripts/website_tor/run_container.sh b/client/server_scripts/website_tor/run_container.sh index e5dfce98..df62f865 100644 --- a/client/server_scripts/website_tor/run_container.sh +++ b/client/server_scripts/website_tor/run_container.sh @@ -1,6 +1,5 @@ -# Run container -sudo docker stop amnezia-tor -sudo docker rm amnezia-tor -sudo docker run -d -p 80:80 --restart always --name $CONTAINER_NAME tutum/wordpress -sudo docker run -d --link $CONTAINER_NAME --name amnezia-tor goldy/tor-hidden-service -sudo docker exec -i amnezia-tor apk add bash +sudo docker run -d \ +--log-driver none \ +--restart always \ +--name $CONTAINER_NAME \ +$CONTAINER_NAME diff --git a/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml b/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml index 9959e5fa..1285e8bb 100644 --- a/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml +++ b/client/ui/qml/Pages/Protocols/PageProtoTorWebSite.qml @@ -1,5 +1,6 @@ import QtQuick 2.12 import QtQuick.Controls 2.12 +import QtQuick.Layouts 1.15 import ProtocolEnum 1.0 import "../" import "../../Controls" @@ -16,43 +17,54 @@ PageProtocolBase { Caption { id: caption - text: qsTr("TOR Web site settings") + text: qsTr("Tor Web Site settings") } - Rectangle { - id: frame_settings - width: parent.width + + ColumnLayout { + id: content + enabled: logic.pageEnabled anchors.top: caption.bottom + anchors.left: root.left + anchors.right: root.right + anchors.bottom: pb_save.top + anchors.margins: 20 anchors.topMargin: 10 - border.width: 1 - border.color: "lightgray" - anchors.bottomMargin: 5 - anchors.horizontalCenter: parent.horizontalCenter - radius: 2 - Grid { - id: grid - anchors.fill: parent - columns: 2 - horizontalItemAlignment: Grid.AlignHCenter - verticalItemAlignment: Grid.AlignVCenter - topPadding: 5 - leftPadding: 30 - rightPadding: 30 - spacing: 5 + RowLayout { + Layout.fillWidth: true + LabelType { - width: 130 + id: lbl_onion + Layout.preferredWidth: 0.3 * root.width - 10 text: qsTr("Web site onion address") } TextFieldType { id: tf_site_address - width: parent.width - 130 - parent.spacing - parent.leftPadding * 2 + Layout.fillWidth: true text: logic.labelTorWebSiteAddressText readOnly: true } + } + ShareConnectionButtonCopyType { + Layout.fillWidth: true + Layout.topMargin: 5 + copyText: tf_site_address.text + } + + RichLabelType { + Layout.fillWidth: true + Layout.topMargin: 15 + text: qsTr("Notes:
    +
  • Use Tor Browser to open this url.
  • +
  • After installation it takes several minutes while your onion site will become available in the Tor Network.
  • +
  • When configuring WordPress set the domain as this onion address.
  • +
+") } } + } diff --git a/client/ui/qml/Pages/Share/PageShareProtoTorWebSite.qml b/client/ui/qml/Pages/Share/PageShareProtoTorWebSite.qml index 59a96345..35caf05b 100644 --- a/client/ui/qml/Pages/Share/PageShareProtoTorWebSite.qml +++ b/client/ui/qml/Pages/Share/PageShareProtoTorWebSite.qml @@ -15,6 +15,6 @@ PageShareProtocolBase { Caption { id: caption - text: qsTr("Share TOR Web site") + text: qsTr("Share Tor Web site") } }