Skip to content

Commit

Permalink
Merge branch 'dev' into feature/app-update
Browse files Browse the repository at this point in the history
  • Loading branch information
aiamnezia committed Oct 30, 2024
2 parents 871037f + e7b2571 commit a71ca29
Show file tree
Hide file tree
Showing 685 changed files with 51,160 additions and 12,391 deletions.
71 changes: 58 additions & 13 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,16 @@ env:

jobs:
Build-Linux-Ubuntu:
name: 'Build-Linux-Ubuntu'
runs-on: ubuntu-20.04

env:
QT_VERSION: 6.6.2
QIF_VERSION: 4.7
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Install Qt'
Expand Down Expand Up @@ -65,16 +69,27 @@ jobs:
path: deploy/AppDir
retention-days: 7

- name: 'Upload translations artifact'
uses: actions/upload-artifact@v4
with:
name: AmneziaVPN_translations
path: client/translations
retention-days: 7

# ------------------------------------------------------

Build-Windows:
name: Build-Windows
runs-on: windows-latest

env:
QT_VERSION: 6.6.2
QIF_VERSION: 4.7
BUILD_ARCH: 64
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Get sources'
Expand Down Expand Up @@ -130,13 +145,17 @@ jobs:
# ------------------------------------------------------

Build-iOS:
name: 'Build-iOS'
runs-on: macos-13

env:
QT_VERSION: 6.6.2
CC: cc
CXX: c++
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Setup xcode'
Expand Down Expand Up @@ -171,7 +190,7 @@ jobs:
- name: 'Install go'
uses: actions/setup-go@v5
with:
go-version: '1.20'
go-version: '1.22.1'
cache: false

- name: 'Setup gomobile'
Expand Down Expand Up @@ -221,13 +240,17 @@ jobs:
# ------------------------------------------------------

Build-MacOS:
name: 'Build-MacOS'
runs-on: macos-latest

env:
# Keep compat with MacOS 10.15 aka Catalina by Qt 6.4
QT_VERSION: 6.4.3
QIF_VERSION: 4.6
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Setup xcode'
Expand Down Expand Up @@ -286,28 +309,32 @@ jobs:
# ------------------------------------------------------

Build-Android:
name: 'Build-Android'
runs-on: ubuntu-latest

env:
ANDROID_BUILD_PLATFORM: android-34
QT_VERSION: 6.6.2
QT_VERSION: 6.7.3
QT_MODULES: 'qtremoteobjects qt5compat qtimageformats qtshadertools'
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Install desktop Qt'
uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
host: 'linux'
target: 'desktop'
arch: 'gcc_64'
arch: 'linux_gcc_64'
modules: ${{ env.QT_MODULES }}
dir: ${{ runner.temp }}
extra: '--external 7z --base ${{ env.QT_MIRROR }}'

- name: 'Install android_x86_64 Qt'
uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
host: 'linux'
Expand All @@ -318,7 +345,7 @@ jobs:
extra: '--external 7z --base ${{ env.QT_MIRROR }}'

- name: 'Install android_x86 Qt'
uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
host: 'linux'
Expand All @@ -329,7 +356,7 @@ jobs:
extra: '--external 7z --base ${{ env.QT_MIRROR }}'

- name: 'Install android_armv7 Qt'
uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
host: 'linux'
Expand All @@ -340,7 +367,7 @@ jobs:
extra: '--external 7z --base ${{ env.QT_MIRROR }}'

- name: 'Install android_arm64_v8a Qt'
uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with:
version: ${{ env.QT_VERSION }}
host: 'linux'
Expand Down Expand Up @@ -432,3 +459,21 @@ jobs:
path: deploy/build/AmneziaVPN-release.aab
compression-level: 0
retention-days: 7

Extra:
runs-on: ubuntu-latest
steps:
- name: Search a corresponding PR
uses: octokit/[email protected]
id: pull_request
with:
route: GET /repos/${{ github.repository }}/pulls
head: ${{ github.repository_owner }}:${{ github.ref_name }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Add PR link to build summary
if: ${{ fromJSON(steps.pull_request.outputs.data)[0].number != '' }}
run: |
echo "Pull request:" >> $GITHUB_STEP_SUMMARY
echo "[[#${{ fromJSON(steps.pull_request.outputs.data)[0].number }}] ${{ fromJSON(steps.pull_request.outputs.data)[0].title }}](${{ fromJSON(steps.pull_request.outputs.data)[0].html_url }})" >> $GITHUB_STEP_SUMMARY
5 changes: 5 additions & 0 deletions .github/workflows/tag-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,11 @@ jobs:
env:
QT_VERSION: 6.4.1
QIF_VERSION: 4.5
PROD_AGW_PUBLIC_KEY: ${{ secrets.PROD_AGW_PUBLIC_KEY }}
PROD_S3_ENDPOINT: ${{ secrets.PROD_S3_ENDPOINT }}
DEV_AGW_PUBLIC_KEY: ${{ secrets.DEV_AGW_PUBLIC_KEY }}
DEV_AGW_ENDPOINT: ${{ secrets.DEV_AGW_ENDPOINT }}
DEV_S3_ENDPOINT: ${{ secrets.DEV_S3_ENDPOINT }}

steps:
- name: 'Install desktop Qt'
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,6 @@
[submodule "client/3rd/amneziawg-apple"]
path = client/3rd/amneziawg-apple
url = https://github.com/amnezia-vpn/amneziawg-apple
[submodule "client/3rd/QSimpleCrypto"]
path = client/3rd/QSimpleCrypto
url = https://github.com/amnezia-vpn/QSimpleCrypto.git
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 3.25.0 FATAL_ERROR)

set(PROJECT AmneziaVPN)

project(${PROJECT} VERSION 4.5.3.0
project(${PROJECT} VERSION 4.8.2.3
DESCRIPTION "AmneziaVPN"
HOMEPAGE_URL "https://amnezia.org/"
)
Expand All @@ -11,7 +11,7 @@ string(TIMESTAMP CURRENT_DATE "%Y-%m-%d")
set(RELEASE_DATE "${CURRENT_DATE}")

set(APP_MAJOR_VERSION ${CMAKE_PROJECT_VERSION_MAJOR}.${CMAKE_PROJECT_VERSION_MINOR}.${CMAKE_PROJECT_VERSION_PATCH})
set(APP_ANDROID_VERSION_CODE 52)
set(APP_ANDROID_VERSION_CODE 2069)

if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
set(MZ_PLATFORM_NAME "linux")
Expand Down
69 changes: 53 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,28 +6,48 @@

Amnezia is an open-source VPN client, with a key feature that enables you to deploy your own VPN server on your server.

![Image](https://github.com/amnezia-vpn/amnezia-client/blob/dev/metadata/img-readme/uipic4.png)

<br>

<a href="https://amnezia.org/downloads"><img src="https://github.com/amnezia-vpn/amnezia-client/blob/dev/metadata/img-readme/download.png" width="150" style="max-width: 100%;"></a>
<a href="https://play.google.com/store/search?q=amnezia+vpn&c=apps"><img src="https://github.com/amnezia-vpn/amnezia-client/blob/dev/metadata/img-readme/play.png" width="150" style="max-width: 100%;"></a>
<a href="https://apps.apple.com/us/app/amneziavpn/id1600529900"><img src="https://github.com/amnezia-vpn/amnezia-client/blob/dev/metadata/img-readme/apl.png" width="150" style="max-width: 100%;"></a>

[Alternative download link (mirror)](https://storage.googleapis.com/kldscp/amnezia.org/downloads)

[All releases](https://github.com/amnezia-vpn/amnezia-client/releases)

<br>

<a href="https://www.testiny.io"><img src="https://github.com/amnezia-vpn/amnezia-client/blob/dev/metadata/img-readme/testiny.png" height="28px"></a>

## Features

- Very easy to use - enter your IP address, SSH login, and password, and Amnezia will automatically install VPN docker containers to your server and connect to the VPN.
- OpenVPN, ShadowSocks, WireGuard, and IKEv2 protocols support.
- Masking VPN with OpenVPN over Cloak plugin
- Split tunneling support - add any sites to the client to enable VPN only for them (only for desktops)
- Very easy to use - enter your IP address, SSH login, password and Amnezia will automatically install VPN docker containers to your server and connect to the VPN.
- Classic VPN-protocols: OpenVPN, WireGuard and IKEv2 protocols.
- Protocols with traffic Masking (Obfuscation): OpenVPN over [Cloak](https://github.com/cbeuw/Cloak) plugin, Shadowsocks (OpenVPN over Shadowsocks), [AmneziaWG](https://docs.amnezia.org/documentation/amnezia-wg/) and XRay.
- Split tunneling support - add any sites to the client to enable VPN only for them or add Apps (only for Android and Desktop).
- Windows, MacOS, Linux, Android, iOS releases.
- Support for AmneziaWG protocol configuration on [Keenetic beta firmware](https://docs.keenetic.com/ua/air/kn-1611/en/6319-latest-development-release.html#UUID-186c4108-5afd-c10b-f38a-cdff6c17fab3_section-idm33192196168192-improved).

## Links

[https://amnezia.org](https://amnezia.org) - project website
[https://www.reddit.com/r/AmneziaVPN](https://www.reddit.com/r/AmneziaVPN) - Reddit
[https://t.me/amnezia_vpn_en](https://t.me/amnezia_vpn_en) - Telegram support channel (English)
[https://t.me/amnezia_vpn](https://t.me/amnezia_vpn) - Telegram support channel (Russian)
- [https://amnezia.org](https://amnezia.org) - project website | [Alternative link (mirror)](https://storage.googleapis.com/kldscp/amnezia.org)
- [https://www.reddit.com/r/AmneziaVPN](https://www.reddit.com/r/AmneziaVPN) - Reddit
- [https://t.me/amnezia_vpn_en](https://t.me/amnezia_vpn_en) - Telegram support channel (English)
- [https://t.me/amnezia_vpn_ir](https://t.me/amnezia_vpn_ir) - Telegram support channel (Farsi)
- [https://t.me/amnezia_vpn_mm](https://t.me/amnezia_vpn_mm) - Telegram support channel (Myanmar)
- [https://t.me/amnezia_vpn](https://t.me/amnezia_vpn) - Telegram support channel (Russian)
- [https://vpnpay.io/en/amnezia-premium/](https://vpnpay.io/en/amnezia-premium/) - Amnezia Premium

## Tech

AmneziaVPN uses several open-source projects to work:

- [OpenSSL](https://www.openssl.org/)
- [OpenVPN](https://openvpn.net/)
- [ShadowSocks](https://shadowsocks.org/)
- [Shadowsocks](https://shadowsocks.org/)
- [Qt](https://www.qt.io/)
- [LibSsh](https://libssh.org) - forked from Qt Creator
- and more...
Expand All @@ -44,6 +64,19 @@ git submodule update --init --recursive

Want to contribute? Welcome!

### Help with translations

Download the most actual translation files.

Go to ["Actions" tab](https://github.com/amnezia-vpn/amnezia-client/actions?query=is%3Asuccess+branch%3Adev), click on the first line.
Then scroll down to the "Artifacts" section and download "AmneziaVPN_translations".

Unzip this file.
Each *.ts file contains strings for one corresponding language.

Translate or correct some strings in one or multiple *.ts files and commit them back to this repository into the ``client/translations`` folder.
You can do it via a web-interface or any other method you're familiar with.

### Building sources and deployment

Check deploy folder for build scripts.
Expand All @@ -52,7 +85,7 @@ Check deploy folder for build scripts.

1. First, make sure you have [XCode](https://developer.apple.com/xcode/) installed, at least version 14 or higher.

2. We use QT to generate the XCode project. We need QT version 6.6.1. Install QT for MacOS [here](https://doc.qt.io/qt-6/macos.html) or [QT Online Installer](https://www.qt.io/download-open-source). Required modules:
2. We use QT to generate the XCode project. We need QT version 6.6.2. Install QT for MacOS [here](https://doc.qt.io/qt-6/macos.html) or [QT Online Installer](https://www.qt.io/download-open-source). Required modules:
- MacOS
- iOS
- Qt 5 Compatibility Module
Expand Down Expand Up @@ -119,9 +152,11 @@ The Android app has the following requirements:
* Android platform SDK 33
* CMake 3.25.0

After you have installed QT, QT Creator, and Android Studio, you need to configure QT Creator correctly. Click in the top menu bar on `QT Creator` -> `Preferences` -> `Devices` and select the tab `Android`.
* set path to JDK 11
* set path to Android SDK ($ANDROID_HOME)
After you have installed QT, QT Creator, and Android Studio, you need to configure QT Creator correctly.

- Click in the top menu bar on `QT Creator` -> `Preferences` -> `Devices` and select the tab `Android`.
- Set path to JDK 11
- Set path to Android SDK (`$ANDROID_HOME`)

In case you get errors regarding missing SDK or 'SDK manager not running', you cannot fix them by correcting the paths. If you have some spare GBs on your disk, you can let QT Creator install all requirements by choosing an empty folder for `Android SDK location` and clicking on `Set Up SDK`. Be aware: This will install a second Android SDK and NDK on your machine! 
Double-check that the right CMake version is configured:  Click on `QT Creator` -> `Preferences` and click on the side menu on `Kits`. Under the center content view's `Kits` tab, you'll find an entry for `CMake Tool`. If the default selected CMake version is lower than 3.25.0, install on your system CMake >= 3.25.0 and choose `System CMake at <path>` from the drop-down list. If this entry is missing, you either have not installed CMake yet or QT Creator hasn't found the path to it. In that case, click in the preferences window on the side menu item `CMake`, then on the tab `Tools` in the center content view, and finally on the button `Add` to set the path to your installed CMake. 
Expand All @@ -142,10 +177,12 @@ GPL v3.0

## Donate

Bitcoin: bc1qn9rhsffuxwnhcuuu4qzrwp4upkrq94xnh8r26u
Patreon: [https://www.patreon.com/amneziavpn](https://www.patreon.com/amneziavpn)

Bitcoin: bc1q26eevjcg9j0wuyywd2e3uc9cs2w58lpkpjxq6p <br>
USDT BEP20: 0x6abD576765a826f87D1D95183438f9408C901bE4 <br>
USDT TRC20: TELAitazF1MZGmiNjTcnxDjEiH5oe7LC9d <br>
XMR: 48spms39jt1L2L5vyw2RQW6CXD6odUd4jFu19GZcDyKKQV9U88wsJVjSbL4CfRys37jVMdoaWVPSvezCQPhHXUW5UKLqUp3
payeer.com: P2561305
ko-fi.com: [https://ko-fi.com/amnezia_vpn](https://ko-fi.com/amnezia_vpn)

## Acknowledgments

Expand Down
2 changes: 1 addition & 1 deletion client/3rd-prebuilt
Submodule 3rd-prebuilt updated 74 files
+ 3rd-prebuilt/openvpn/android/arm64-v8a/libck-ovpn-plugin.so
+1 −1 3rd-prebuilt/openvpn/android/arm64-v8a/libck-ovpn-plugin.so.sha256
+ 3rd-prebuilt/openvpn/android/arm64-v8a/libovpn3.so
+1 −1 3rd-prebuilt/openvpn/android/arm64-v8a/libovpn3.so.sha256
+ 3rd-prebuilt/openvpn/android/arm64-v8a/libovpnutil.so
+1 −1 3rd-prebuilt/openvpn/android/arm64-v8a/libovpnutil.so.sha256
+ 3rd-prebuilt/openvpn/android/armeabi-v7a/libck-ovpn-plugin.so
+1 −1 3rd-prebuilt/openvpn/android/armeabi-v7a/libck-ovpn-plugin.so.sha256
+ 3rd-prebuilt/openvpn/android/armeabi-v7a/libovpn3.so
+1 −1 3rd-prebuilt/openvpn/android/armeabi-v7a/libovpn3.so.sha256
+ 3rd-prebuilt/openvpn/android/armeabi-v7a/libovpnutil.so
+1 −1 3rd-prebuilt/openvpn/android/armeabi-v7a/libovpnutil.so.sha256
+ 3rd-prebuilt/openvpn/android/x86/libck-ovpn-plugin.so
+1 −1 3rd-prebuilt/openvpn/android/x86/libck-ovpn-plugin.so.sha256
+ 3rd-prebuilt/openvpn/android/x86/libovpn3.so
+1 −1 3rd-prebuilt/openvpn/android/x86/libovpn3.so.sha256
+ 3rd-prebuilt/openvpn/android/x86/libovpnutil.so
+1 −1 3rd-prebuilt/openvpn/android/x86/libovpnutil.so.sha256
+ 3rd-prebuilt/openvpn/android/x86_64/libck-ovpn-plugin.so
+1 −1 3rd-prebuilt/openvpn/android/x86_64/libck-ovpn-plugin.so.sha256
+ 3rd-prebuilt/openvpn/android/x86_64/libovpn3.so
+1 −1 3rd-prebuilt/openvpn/android/x86_64/libovpn3.so.sha256
+ 3rd-prebuilt/openvpn/android/x86_64/libovpnutil.so
+1 −1 3rd-prebuilt/openvpn/android/x86_64/libovpnutil.so.sha256
+ 3rd-prebuilt/wireguard/ios/arm64/libwg-go.a
+1 −1 3rd-prebuilt/wireguard/ios/arm64/libwg-go.a.sha256
+65 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/Info.plist
+90 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64/Headers/hev-main.h
+4 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64/Headers/module.modulemap
+ 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64/libhev-socks5-tunnel.a
+90 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64_x86_64-simulator/Headers/hev-main.h
+4 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64_x86_64-simulator/Headers/module.modulemap
+ 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/ios-arm64_x86_64-simulator/libhev-socks5-tunnel.a
+90 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/macos-arm64_x86_64/Headers/hev-main.h
+4 −0 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/macos-arm64_x86_64/Headers/module.modulemap
+ 3rd-prebuilt/xray/HevSocks5Tunnel.xcframework/macos-arm64_x86_64/libhev-socks5-tunnel.a
+ 3rd-prebuilt/xray/android/libxray.aar
+1 −0 3rd-prebuilt/xray/android/libxray.aar.sha256
+ deploy-prebuilt/linux/client/bin/openvpn
+1 −1 deploy-prebuilt/linux/client/bin/openvpn.sha256
+ deploy-prebuilt/macos/openvpn
+1 −1 deploy-prebuilt/macos/openvpn.sha256
+ deploy-prebuilt/windows/x32/openvpn/libcrypto-1_1.dll
+1 −1 deploy-prebuilt/windows/x32/openvpn/libcrypto-1_1.dll.sha256
+ deploy-prebuilt/windows/x32/openvpn/libpkcs11-helper-1.dll
+1 −1 deploy-prebuilt/windows/x32/openvpn/libpkcs11-helper-1.dll.sha256
+ deploy-prebuilt/windows/x32/openvpn/libssl-1_1.dll
+1 −1 deploy-prebuilt/windows/x32/openvpn/libssl-1_1.dll.sha256
+ deploy-prebuilt/windows/x32/openvpn/openvpn.exe
+1 −1 deploy-prebuilt/windows/x32/openvpn/openvpn.exe.sha256
+8 −4 deploy-prebuilt/windows/x32/tap/windows_10/OemVista.inf
+ deploy-prebuilt/windows/x32/tap/windows_10/devcon.exe
+ deploy-prebuilt/windows/x32/tap/windows_10/tap0901.cat
+ deploy-prebuilt/windows/x32/tap/windows_10/tap0901.sys
+14 −10 deploy-prebuilt/windows/x32/tap/windows_7/OemVista.inf
+ deploy-prebuilt/windows/x32/tap/windows_7/tap0901.cat
+ deploy-prebuilt/windows/x32/tap/windows_7/tap0901.sys
+ deploy-prebuilt/windows/x32/tap/windows_7/tapinstall.exe
+ deploy-prebuilt/windows/x64/openvpn/libcrypto-1_1-x64.dll
+1 −1 deploy-prebuilt/windows/x64/openvpn/libcrypto-1_1-x64.dll.sha256
+ deploy-prebuilt/windows/x64/openvpn/libpkcs11-helper-1.dll
+1 −1 deploy-prebuilt/windows/x64/openvpn/libpkcs11-helper-1.dll.sha256
+ deploy-prebuilt/windows/x64/openvpn/libssl-1_1-x64.dll
+1 −1 deploy-prebuilt/windows/x64/openvpn/libssl-1_1-x64.dll.sha256
+ deploy-prebuilt/windows/x64/openvpn/openvpn.exe
+1 −1 deploy-prebuilt/windows/x64/openvpn/openvpn.exe.sha256
+8 −4 deploy-prebuilt/windows/x64/tap/windows_10/OemVista.inf
+ deploy-prebuilt/windows/x64/tap/windows_10/devcon.exe
+ deploy-prebuilt/windows/x64/tap/windows_10/tap0901.cat
+ deploy-prebuilt/windows/x64/tap/windows_10/tap0901.sys
+12 −8 deploy-prebuilt/windows/x64/tap/windows_7/OemVista.inf
+ deploy-prebuilt/windows/x64/tap/windows_7/tap0901.cat
+ deploy-prebuilt/windows/x64/tap/windows_7/tap0901.sys
+ deploy-prebuilt/windows/x64/tap/windows_7/tapinstall.exe
2 changes: 2 additions & 0 deletions client/3rd/QJsonStruct/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.user
build/
19 changes: 19 additions & 0 deletions client/3rd/QJsonStruct/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
cmake_minimum_required(VERSION 3.5)

project(QJsonStruct LANGUAGES CXX)

set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

option(BUILD_TESTING ON)

include(QJsonStruct.cmake)
find_package(Qt5 COMPONENTS Core REQUIRED)

if(BUILD_TESTING)
include(CTest)
add_subdirectory(test)
endif()
21 changes: 21 additions & 0 deletions client/3rd/QJsonStruct/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2020 Qv2ray Workgroup

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading

0 comments on commit a71ca29

Please sign in to comment.