diff --git a/client/client.pro b/client/client.pro index ec123479..85c0580e 100644 --- a/client/client.pro +++ b/client/client.pro @@ -78,7 +78,7 @@ HEADERS += \ loghandler.h \ loglevel.h \ constants.h \ - platforms/ios/QRCodeReader.h + platforms/ios/QRCodeReaderBase.h SOURCES += \ configurators/cloak_configurator.cpp \ @@ -132,7 +132,7 @@ SOURCES += \ protocols/vpnprotocol.cpp \ logger.cpp \ loghandler.cpp \ - platforms/ios/QRCodeReader.cpp + platforms/ios/QRCodeReaderBase.cpp RESOURCES += \ resources.qrc @@ -317,7 +317,7 @@ ios { platforms/ios/iosglue.mm \ platforms/ios/ipaddress.cpp \ platforms/ios/ipaddressrange.cpp \ - platforms/ios/QRCodeReader.mm \ + platforms/ios/QRCodeReaderBase.mm platforms/ios/QtAppDelegate.mm \ platforms/ios/MobileUtils.mm 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/main.cpp b/client/main.cpp index 2aa35a39..1283e839 100644 --- a/client/main.cpp +++ b/client/main.cpp @@ -37,7 +37,7 @@ #include "QZXing.h" -#include "platforms/ios/QRCodeReader.h" +#include "platforms/ios/QRCodeReaderBase.h" #include "debug.h" #include "defines.h" diff --git a/client/platforms/ios/QRCodeReader.cpp b/client/platforms/ios/QRCodeReaderBase.cpp similarity index 69% rename from client/platforms/ios/QRCodeReader.cpp rename to client/platforms/ios/QRCodeReaderBase.cpp index c422a0e7..c3148a85 100644 --- a/client/platforms/ios/QRCodeReader.cpp +++ b/client/platforms/ios/QRCodeReaderBase.cpp @@ -1,4 +1,4 @@ -#include "QRCodeReader.h" +#include "QRCodeReaderBase.h" QRCodeReader::QRCodeReader() { @@ -11,4 +11,4 @@ QRect QRCodeReader::cameraSize() { void QRCodeReader::startReading() {} void QRCodeReader::stopReading() {} -void QRCodeReader::setCameraSize(QRect) {}; +void QRCodeReader::setCameraSize(QRect) {} diff --git a/client/platforms/ios/QRCodeReader.h b/client/platforms/ios/QRCodeReaderBase.h similarity index 81% rename from client/platforms/ios/QRCodeReader.h rename to client/platforms/ios/QRCodeReaderBase.h index bc8c9925..29a4946d 100644 --- a/client/platforms/ios/QRCodeReader.h +++ b/client/platforms/ios/QRCodeReaderBase.h @@ -1,5 +1,5 @@ -#ifndef QRCODEREADER_H -#define QRCODEREADER_H +#ifndef QRCODEREADERBASE_H +#define QRCODEREADERBASE_H #include #include @@ -25,4 +25,4 @@ private: QRect m_cameraSize; }; -#endif // QRCODEREADER_H +#endif // QRCODEREADERBASE_H diff --git a/client/platforms/ios/QRCodeReader.mm b/client/platforms/ios/QRCodeReaderBase.mm similarity index 99% rename from client/platforms/ios/QRCodeReader.mm rename to client/platforms/ios/QRCodeReaderBase.mm index 85f71ba6..bd0dbac3 100644 --- a/client/platforms/ios/QRCodeReader.mm +++ b/client/platforms/ios/QRCodeReaderBase.mm @@ -1,4 +1,4 @@ -#include "QRCodeReader.h" +#include "QRCodeReaderBase.h" #import #import 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/dns/run_container.sh b/client/server_scripts/dns/run_container.sh index b3be2c22..f8ff0380 100644 --- a/client/server_scripts/dns/run_container.sh +++ b/client/server_scripts/dns/run_container.sh @@ -1,2 +1,7 @@ # Run container -sudo docker run -d --restart always --network amnezia-dns-net --ip=172.29.172.254 --name $CONTAINER_NAME $CONTAINER_NAME +sudo docker run -d \ +--log-driver none \ +--restart always \ +--network amnezia-dns-net \ +--ip=172.29.172.254 \ +--name $CONTAINER_NAME $CONTAINER_NAME diff --git a/client/server_scripts/ipsec/run_container.sh b/client/server_scripts/ipsec/run_container.sh index adb02353..a2fbbd34 100644 --- a/client/server_scripts/ipsec/run_container.sh +++ b/client/server_scripts/ipsec/run_container.sh @@ -1,8 +1,9 @@ -sudo docker run \ - --restart=always \ - -p 500:500/udp \ - -p 4500:4500/udp \ - -d --privileged \ - --name $CONTAINER_NAME $CONTAINER_NAME +sudo docker run -d \ +--privileged \ +--log-driver none \ +--restart=always \ +-p 500:500/udp \ +-p 4500:4500/udp \ +--name $CONTAINER_NAME $CONTAINER_NAME sudo docker network connect amnezia-dns-net $CONTAINER_NAME diff --git a/client/server_scripts/openvpn/run_container.sh b/client/server_scripts/openvpn/run_container.sh index 9012a386..5649dd21 100644 --- a/client/server_scripts/openvpn/run_container.sh +++ b/client/server_scripts/openvpn/run_container.sh @@ -1,9 +1,10 @@ # Run container -sudo docker run \ - -d --restart always \ - --cap-add=NET_ADMIN \ - -p $OPENVPN_PORT:$OPENVPN_PORT/$OPENVPN_TRANSPORT_PROTO \ - --name $CONTAINER_NAME $CONTAINER_NAME +sudo docker run -d \ +--log-driver none \ +--restart always \ +--cap-add=NET_ADMIN \ +-p $OPENVPN_PORT:$OPENVPN_PORT/$OPENVPN_TRANSPORT_PROTO \ +--name $CONTAINER_NAME $CONTAINER_NAME sudo docker network connect amnezia-dns-net $CONTAINER_NAME diff --git a/client/server_scripts/openvpn_cloak/run_container.sh b/client/server_scripts/openvpn_cloak/run_container.sh index c3ee3a15..bec8e889 100644 --- a/client/server_scripts/openvpn_cloak/run_container.sh +++ b/client/server_scripts/openvpn_cloak/run_container.sh @@ -1,9 +1,10 @@ # Run container -sudo docker run \ - -d --restart always \ - --cap-add=NET_ADMIN \ - -p $CLOAK_SERVER_PORT:443/tcp \ - --name $CONTAINER_NAME $CONTAINER_NAME +sudo docker run -d \ +--log-driver none \ +--restart always \ +--cap-add=NET_ADMIN \ +-p $CLOAK_SERVER_PORT:443/tcp \ +--name $CONTAINER_NAME $CONTAINER_NAME sudo docker network connect amnezia-dns-net $CONTAINER_NAME diff --git a/client/server_scripts/openvpn_shadowsocks/run_container.sh b/client/server_scripts/openvpn_shadowsocks/run_container.sh index 4d529b15..3714aa62 100644 --- a/client/server_scripts/openvpn_shadowsocks/run_container.sh +++ b/client/server_scripts/openvpn_shadowsocks/run_container.sh @@ -1,5 +1,6 @@ # Run container sudo docker run \ +--log-driver none \ -d --restart always \ --cap-add=NET_ADMIN \ -p $SHADOWSOCKS_SERVER_PORT:$SHADOWSOCKS_SERVER_PORT/tcp \ diff --git a/client/server_scripts/sftp/run_container.sh b/client/server_scripts/sftp/run_container.sh index 7184d0be..03944eb8 100644 --- a/client/server_scripts/sftp/run_container.sh +++ b/client/server_scripts/sftp/run_container.sh @@ -1 +1,7 @@ -sudo docker run -d --restart always -p $SFTP_PORT:22/tcp --name $CONTAINER_NAME $CONTAINER_NAME $SFTP_USER:$SFTP_PASSWORD:::upload +sudo docker run -d \ +--log-driver none \ +--restart always \ +-p $SFTP_PORT:22/tcp \ +--name $CONTAINER_NAME \ +$CONTAINER_NAME \ +$SFTP_USER:$SFTP_PASSWORD:::upload 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/server_scripts/wireguard/run_container.sh b/client/server_scripts/wireguard/run_container.sh index 0fdac541..2520525a 100644 --- a/client/server_scripts/wireguard/run_container.sh +++ b/client/server_scripts/wireguard/run_container.sh @@ -1,5 +1,6 @@ # Run container sudo docker run -d \ +--log-driver none \ --restart always \ --privileged \ --cap-add=NET_ADMIN \ 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") } } diff --git a/deploy/data/linux/post_install.sh b/deploy/data/linux/post_install.sh index 6ed7bc3e..12e7421a 100755 --- a/deploy/data/linux/post_install.sh +++ b/deploy/data/linux/post_install.sh @@ -26,6 +26,8 @@ if sudo systemctl is-active --quiet $APP_NAME; then fi sudo chmod +x $APP_PATH/client/bin/easyrsa >> $LOG_FILE +sudo chmod --- $APP_PATH/client/bin/update-resolv-conf.sh +sudo chmod +rx $APP_PATH/client/bin/update-resolv-conf.sh sudo cp $APP_PATH/service/$APP_NAME.service /etc/systemd/system/ >> $LOG_FILE