From 9bce4435ff6e1fa64dc53a593ea369508fe3f322 Mon Sep 17 00:00:00 2001 From: xchacha20-poly1305 <139959885+xchacha20-poly1305@users.noreply.github.com> Date: Sun, 15 Oct 2023 08:08:00 +0800 Subject: [PATCH] add naive plugin --- .github/workflows/release.yml | 36 +- .gitignore | 2 + app_naive/.gitignore | 3 + app_naive/build.gradle.kts | 18 + app_naive/src/main/AndroidManifest.xml | 47 ++ .../moe/matsuri/exe/naive/BinaryProvider.kt | 42 ++ .../res/drawable/ic_launcher_foreground.xml | 25 ++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1720 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 3685 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1160 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2325 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2371 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 5334 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 3726 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 8363 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5173 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 12120 bytes .../res/values/ic_launcher_background.xml | 4 + download.sh | 19 + get_version.sh | 13 + js/make.sh | 1 + js/package-lock.json | 408 ++++++++++-------- settings.gradle | 1 + 25 files changed, 446 insertions(+), 185 deletions(-) create mode 100644 app_naive/.gitignore create mode 100644 app_naive/build.gradle.kts create mode 100644 app_naive/src/main/AndroidManifest.xml create mode 100644 app_naive/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt create mode 100644 app_naive/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app_naive/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app_naive/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app_naive/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app_naive/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app_naive/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app_naive/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app_naive/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app_naive/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app_naive/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app_naive/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app_naive/src/main/res/values/ic_launcher_background.xml create mode 100755 get_version.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0f41b6f..600cd04 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -17,9 +17,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Gradle cache - uses: actions/cache@v2 + uses: actions/cache@v3 with: path: ~/.gradle key: gradle-${{ hashFiles('**/*.gradle.kts') }} @@ -31,7 +31,7 @@ jobs: APK=$(find . -name '*arm64-v8a*.apk') APK=$(dirname $APK) echo "APK=$APK" >> $GITHUB_ENV - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: APKs path: ${{ env.APK }} @@ -42,17 +42,29 @@ jobs: needs: build steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v4 - name: Donwload Artifacts - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v3 with: name: APKs path: artifacts - - name: Release + - name: Find APKs run: | - wget -O ghr.tar.gz https://github.com/tcnksm/ghr/releases/download/v0.13.0/ghr_v0.13.0_linux_amd64.tar.gz - tar -xvf ghr.tar.gz - mv ghr*linux_amd64/ghr . - mkdir apks - find artifacts -name "*.apk" -exec cp {} apks \; - ./ghr -delete -t "${{ github.token }}" -n "${{ github.event.inputs.tag }}" "${{ github.event.inputs.tag }}" apks + mkdir -p apks/ + find artifacts/ -name "*.apk" -exec cp {} apks/ \; + - name: Release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + tag: ${{ github.event.inputs.tag }} + file: ./apks/* + file_glob: true + prerelease: true + # - name: Release + # run: | + # wget -O ghr.tar.gz https://github.com/tcnksm/ghr/releases/download/v0.16.0/ghr_v0.16.0_linux_amd64.tar.gz + # tar -xvf ghr.tar.gz + # mv ghr*linux_amd64/ghr . + # mkdir apks + # find artifacts -name "*.apk" -exec cp {} apks \; + # ./ghr -delete -prerelease -t "${{ github.token }}" -n "${{ github.event.inputs.tag }}" "${{ github.event.inputs.tag }}" apks diff --git a/.gitignore b/.gitignore index 8b153f1..69c071e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,3 +13,5 @@ local.properties /app_*/build /app_*/libs /app_*/html + +/tmp diff --git a/app_naive/.gitignore b/app_naive/.gitignore new file mode 100644 index 0000000..08b2899 --- /dev/null +++ b/app_naive/.gitignore @@ -0,0 +1,3 @@ +/build +/libs +/html diff --git a/app_naive/build.gradle.kts b/app_naive/build.gradle.kts new file mode 100644 index 0000000..9375a27 --- /dev/null +++ b/app_naive/build.gradle.kts @@ -0,0 +1,18 @@ +plugins { + id("com.android.application") + id("org.jetbrains.kotlin.android") +} + +setupAll() + +android { + defaultConfig { + applicationId = "moe.matsuri.exe.naive" + versionCode = 1 + versionName = "118.0.5993.65-1" + splits.abi { + reset() + include("arm64-v8a", "x86_64") + } + } +} diff --git a/app_naive/src/main/AndroidManifest.xml b/app_naive/src/main/AndroidManifest.xml new file mode 100644 index 0000000..1f4ce5f --- /dev/null +++ b/app_naive/src/main/AndroidManifest.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app_naive/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt b/app_naive/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt new file mode 100644 index 0000000..2776e4c --- /dev/null +++ b/app_naive/src/main/java/moe/matsuri/exe/naive/BinaryProvider.kt @@ -0,0 +1,42 @@ +/****************************************************************************** + * * + * Copyright (C) 2021 by nekohasekai * + * * + * This program is free software: you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation, either version 3 of the License, or * + * (at your option) any later version. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program. If not, see . * + * * + ******************************************************************************/ + +package moe.matsuri.exe.naive + +import android.net.Uri +import android.os.ParcelFileDescriptor +import io.nekohasekai.sagernet.plugin.NativePluginProvider +import io.nekohasekai.sagernet.plugin.PathProvider +import java.io.File +import java.io.FileNotFoundException + +class BinaryProvider : NativePluginProvider() { + override fun populateFiles(provider: PathProvider) { + provider.addPath("naive-plugin", 0b111101101) + } + + override fun getExecutable() = context!!.applicationInfo.nativeLibraryDir + "/libnaive.so" + override fun openFile(uri: Uri): ParcelFileDescriptor = when (uri.path) { + "/naive-plugin" -> ParcelFileDescriptor.open( + File(getExecutable()), + ParcelFileDescriptor.MODE_READ_ONLY + ) + else -> throw FileNotFoundException() + } +} diff --git a/app_naive/src/main/res/drawable/ic_launcher_foreground.xml b/app_naive/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..ef0ca55 --- /dev/null +++ b/app_naive/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..7005cb8 --- /dev/null +++ b/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..7005cb8 --- /dev/null +++ b/app_naive/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app_naive/src/main/res/mipmap-hdpi/ic_launcher.png b/app_naive/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..db5767033e2c8b9558239e4f837145db6eb247ef GIT binary patch literal 1720 zcma)-jXx6z1IITn+t3C`Sjcn1E&G-CL@cv|B46sKEqh{To+mO>|?zAwx=82xY6wY@CCPXb{Pw z`~7knh_t~t&t5D!GVAV`fy=4Xt}T1-&QiY3f#gtwc>!_c?BdmJYVc^G|K1q?mL+rB zMfhtWoIKgNZP~cZ9JV?Ev5Wcgq51qMkghEM_K&$N!(-?bOSXQJb@uBE=zTI-C@Y?B zJ-K+@Q$1zvnaf`zIjbUSYUzw{zDx`h$Zd?2WMYjyEBGgq=E6SVfR}XhN@G0CTKb`z zy+gu)B^}|0rxp{3Xb!>oXBkMmN{@Ot8{=%CT$E1>1+NJ&Z&b%-o?;QR4n<6)>p&lH zXB>n@OGk>jJ)*6isyP|yOT0ACg0M9@H8O&SGMv%n5tXpAW*O6xNEJ8OG(w|z@|I0pVgS%pG(+Z2%ik(tZxO%cIQ1VlM>D?S1enp zNDk)uEM^WgFMO0CI{V5oNDn^LQT2?+A17{&TCG}4;4Pb8ZrIqEP69U=_uy>(K<6{* zz97?hL-AyhLb*biD1RF;BEdm-3on3=T6CMT?!qK5rQBStZ zXFCPVv&z%N-bkLJ#=qy1+EQ-O6vA? zWmTz&)~d`OHjmi2Y!d$AH!&?D5F-JFS+b0RZ1&Z2BR%hFzjgX4%0BkSw9DZ?-Y_TI zAfdz0JLLBkmI(IubRV5R6H?6m3Ey;o-^hom{dCw-G&1#aNzUg^S`&4KK6PG^TMkI} zti0Y1bH`r;_16tb^0hNVC5jyW7)o#jyPck-p48z5{Te;r7ytXXSM|Y_LyUwH+;c7A^o^o!`!bO*eC7-%VC$@)D17HTO778S8!K7I zC)OOU{CEg+r+t7Hx5;e-WX1ct;quA3Zz=%0COn7w70Z%{p&(n6&Y$Ps!M*)yk@lhi z0T0~2V;!kC#rP_`BPJKz=9g=lliN@9uhH;Juy^sKV0drIO*CS5jm^Mxm;PO;M%tE5 zj%xAPhkIf0ZefRnfBT0B4T(t_f-OLUdJSb=LW0e*$%R4 z)yr=btdhPg*h*Cd%R@h7vyb~?GU9%T>EVsiQXa8`KH^Ga7jAQ$ukKargypl^1%G@I zn7P@nhizP{1F$^&*2a3KKv@G?3#8S}B1N?AVTlxII zCmkq8H(XPZzPMPl_%vN?ZGae#0m;J@dS|JBGMv7Gqu!7}MAmR7VArk!&(@95^;7|~e^mt{&BO~SMhnN+I1W7M zSB`pMgSiHf|5<%P=$&Y^JMG#9Y07Cy%r%x!(qevMqw5Dw*$QE?1*arcQptMyByun0 zrN{SC{v+Jh=PxW)No}d9&hCu62~Jpyv{2Zdfs*W*O!3IYP8KI`N56~1c3y;u-y>loQ%kxJc0|-*-iK~gi^C4odhM|&u qodB|F)((ZRbrhzXlfbYGEsZUBZq#3~_Uhk?1VCNDI#wYG^#1`_V=bZp literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app_naive/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..11b071c7d471648cba931edff64a0df028d63ccb GIT binary patch literal 3685 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 DMQ;Q$ literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-mdpi/ic_launcher.png b/app_naive/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7d028abe1323fc56afb886e87957f9560371cc5a GIT binary patch literal 1160 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 literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-xhdpi/ic_launcher.png b/app_naive/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce8151d0bb7f192ff7a51c1ecc21c656f1473b0 GIT binary patch literal 2371 zcmbtWdpOezAOCHW%fupwj@gumTn;LC&E*UcQAQ}2Zj#$33ESLnC&MZv_MYKr5mLx< z*=F(zQ7ZQeJ1(2-$lQ(Lc;EMV|9_w7{XEa-`+c78=Xt*WeLmmsJ-2fXGEikG001(M zXV4e+dceOZDZW=HA4i)4fE3gbZG(yNoBv(<4yNPh&KCis`)EA)*5U4O;8!>6TNLQN zS|97@4QdM4fKm-9SDL4dEEJ^%%lG+|Z08m$2|YFBX{Y9JgiibI40xl&(iVffqB^>+ z(?aoW{a_Nk5a@s8zHT9HD~>1X8)Ft)L@w-_EWhui=0;lPwzBYZeK~h_KqKx|lRH7POfdQhvZD6LAwnjtrfE1& zb#{Q}`hCE?DyoTwUmJaQT}ma_ap`0v?6Fes!IfhJRgG!39%aA$=u1$orI+f^Iv(jVk3;?@2KOs3j&1W~~-}pQhHb+!nql zIBDGU=pfBd{U>i^$0?0M&S*>+CNRo9+)K3iRGuv}BucBNDwFZm;&+b%B>K(%RDJs? z^5r=Z^4N-u-ed$ku4TmF!6b5xnw>I zMP^o3nf=*-q8zLy?Y?Whq!gBBUnbKFdqLLzigeNfw8o-ZCHj(l1cmdQ$mTXnf(z#7 zys#N#T-dJe9P#XDu8TxFf@Dot)fH|T)tBthHEq6P12Lm(Znj`t!fmn8o(WL#pwxIS z{?T17I=_Bf$c%){8hIG!Bg%H}$~~F4fShVl+JR|FNwd8g_y1L;&7PQrbaE3;9Bo(q zkvWCodqq)-@&kBZMQIgbN7p zwwQ(GD>GL?2IpdAm0gT+2FuyG1t}4qZwHM;{l+7Ts`KhkPDSjnW8W@*$yjQrj_;(X zrc5kItnW+(1m@O*$8f_Ja4cpdnwRLUA&0_LhOwD@A9T4qN!a4^^yn zP$bkU1#zMw{PU9ROI3eb=iNRJc)bW2iM|;$7HzkG>nxf> zpj5vVBY5AlC#LRajEbg#;g;g`!F#vEzIG}dNHD}naLf!vrI2Mo*G*Bc&s$o#M zzUN{?Wl7C14mGO-CHvP!a>N{Qfr^>TX6f=(Fq@`PG&AlG`H(;abDKh9f2`Lsh%CV1 zHNjhXacCgvY2T?|*2j+$A?107ecnAFPS=1;AzY6h+&&W?#C-q#At+HtWor&WMBx~I z-I2Iy6;9EMdiSdhv4RT~c+mBZ6l0Q}mG1658@8ims>F(C$s(v@mGlyd9l z8iRn3baDm=UEw)=KX+%$O3K{u<$BwZeAy{)gfG!dk{s`#?CE(QBYtw*3x z8z?bRk_KkyO_>ohDZw|N`Y47@J1AYMI%=@ax<<@T75`pS+-?%m_@(WA(GHK?B}6?z z@ZB#>Pn3;+L97xKpasR$lm?=DBgzsOs?!rG53g+#?@W##St|0{GyS7jzA(`K!L|09 ziW6Fw1I>r#r(p;@GU2BVJ`O>)xboNbWBOk@69xS1EmxgA=r^z#uj_x5aef$&h^M4d z^uIZv>8iTzbN2la1F@AMrlCD$aACY!U1;Rq?(Y9TANLZqN{WppTm~@;BYMb^);&-J z$h91X%pC97$8KJEub(9?)H~>H z=eaW3@Z%_b|Jn0nnaCN(XB%p-HyDok2hP;FTRkHvT5t`03kJ>R(=FV$vUHkHBoMC* zi~hK-fU>}|8HaNA4lsypzR!{r!pWS?9KYZccnqojOuygAd4pAbT@n9L>9h@Ygr}oE zT1ApS^ONRGUg+`Xm-LU*9BKw=Z%NRnIJ zQjriz@*q-T0|mzW%7-W?dDz$EmP!gI@qPuy`|QtGR=7fVJ&6tM&%1?-GQ%lZQ4>AO zBRp9<(c2X9LQrz^_^{OGajjAe&qo6IjAQH^En|P35Oo{w6(Xr;s4W@CBaID{!xCDX z!xDy>!s6dD8{(Il4RQaWe~(gJrO2SjGaC}}72tDxhQ$znMJdC|E@RiyI#3ttRJXy+ zT8&m%y%lEzPnF}eCOKgwCGJy-Lln6b#H2!sA+FL;U&rhE4Rxapw54uaOa%3@yHbRs z6yH-@#WgX9#XU#y6(z@{CfrJ<99LqJ<30oLjG!~~ z@09dRK|BaD8RCio!0qkSyvzoUPuH=-s!%P`5`5*9y;4l>J1 zJU17DggbSs|H%|zrVd3gB8*eo;j)SjT5atO=AZ!eDEXw$lOxt$Ubwt!o%Mz9_ zz^ugUY*1om)hDP|1M&-u$=O)zgs5#~N?6?A>}LI)wDC0s3lK!alw^o~TjFM@&iDn< z5zLAdL;MP>lhxP1S?>~jEEv}{L;M%pr5=3DcUTF+*&>;tGi3`mIU+f797z2J8<(Pl zn5_p|7=6_o+;$P#&kT?8Gs$s#+04K5Vdbp`3tORttNNII$MwblH5a!{M1!XS>CBho z_pq6NH<_G@pjVV|MIWIg|(UCd^ zrj0MZN6d~ZFmselKcCT$`%)^4j&5C^AT)eUj>R55I&r)9Z|W*&m>OS7`5;HN(TQq~ zYF&i4Pu9oxvxb^?XS7pQu*m4L97FbNM-5hURcj&~%mtc~(}?HFT^Hxq5Xo|E2{<{c z8+&z=ZkS%pS&c>6QfBteBSnr|bqd@Ob60H<4&^+}`sflni)Du8=A>~q3}vS1lz!~_ue3b^)f`q! z_{ARAcN0_WMH^^KU zIM>xZqI8sBpTZ(%iGZY5-T@?4*87 z`qE~79t4*Mq$=bF!uDU0W7y4=6gT-*2IZ|3$=NTV!`}m!mG%W{u+3?HXeUb-vf!&bMX|A?a~_bn+*a7 z-^KGdr5iKcZGLJFwHf+eGjIa9wSP?BM!2VLa7m8A0K3(Eb1pS8pP32t3RL&E$- zNs?!h9J}AGfZBoJ@Hg$qLt05kd@w*qPorhs$Q53CL9I}RK>4M&CjKdl@0hU#`>r5$k2hu@OxYj#rBKP_80mys(gzWap9G&$qDernXZ^{`dPx@wHTv+AqXq1#D5n5$^~cwvuwp9&@+J2UIC?!^`r7t<_NgYpCT!Hk(TeiQir7k3s2~Q$HuBKmN&~{GCH=2_9eB6FPi{ z#2vBCwgms;VU!{pUzKBi$3-S}ek;2p0NNI72Vu~W3cPtA9>^e~+1=JS^E)Qr& z9(zpEV_(R_CK3|6pYww{2PYZgE~qc63WNgkmi|aGr~QK|pxBf_XXR|ivK1+yc>*y# zIEk2}rjgYC?+{DZ*NCar3r$Y`2VS7%C)psSMcG6^Uv19Q?>2SP zvZ&9}{dHpL{EE_cxRbUk0dNUNd`LIy@JrD9?iRU-njDgdNL z(9aw9lG2hAQuy0>N{FpVC{F>FC*L4>i?^~>RCF$x6rQ|FN^TUgzZvlhY|5q$eU}CR z8%e?5Q;M>m`5$)t#?GUp=t7DOV4B2r@K@?{xu0xOwf`o$zHS#OPEIF9m(8RkD~}YN zNg`P@mO5R{6+wieM|IJbH~k-J<4OSyR)-F3om_()z(xV|duq?WlA^Q8ObOZVePh#k zR|>$aFFbyk6sPAf!YrL<5Ob&LBy-AVq$KA$CCfxiZT@U6pY{53lKa z3V=h#HCTmk^yy^MTwhP+EGkG;z3ghESl z@=4~4pE_TK@H5rA?YLEx48yD z=$yZ4zhYkKcQXxR5g3%@<}>2eWz$B?sW7l`1)+cwy6D{Znsw>yN&)wM5!APRN-Zk@ zGdge8PNnm7aOUIcrJLDa9FAMFHqj!Jd z{Kikelbrb*ZOYx)euS0Fr@=$^JFA=`>&-7%RAk@Z@*os&SU1`-#jj&~mkO8?&`y8F z5Oa}TRFg2&38@GZudn%q4G<0uk&ZJ3z(k=O$V4Q9+0P;363lDk;hTdF-MT<#4u9t)RzLcq0MBBtC2rf7Oj9=ENgTM@1l0D?1LTFmxuSlCGY zg1Rhbf59)u83~z_7CBsBT?JqTiPe`qb2YQ^8L=NZl*^pHghg4!S5ujZv_D^cC|eQR zL!aG2IYuVjAW`AFOaY0?l4yKP7rnIF3gBkOr2+st(-5~KHvl0v5fgQYH-0+Ij$@Wu zGf(>0((QFpc;ZU66ab`C!clJ#CAaY86}q}6JCrd$GK~}*Jg4+)`A^o|zFS_ z4vkK*1B+c*w(SsR+a}5(ghWWnoUe;*1>_+`7tKu32mrFF^Us{Rm`;fGEEqsuVV{ST z2Yz4p=0$k|`6{Rn9@zDEdP9aE^x7CaU^G_%Q0Yi0XWj;uq^Obo_DY9x0vXiAurf5V zusKJwW!T_C8u4IOV`C3y!`yBPbB?0!{4EFBmH~^D?Apy+_8*pi*teNI`x~~xD%$$C zJnqIBjv;G;2H$H9>dEdX=i{N%?cn>do-mSuugGR>2Eg!n9pKwK~#Jvit z3t|6hWSP{Zu?m6?YDcbO6}cbItrl4PFUJ>i^Rt0+8qB#ZUlOHA zgh+m01oa({N_d5CGgL(g^K()^hRpJRd@?vK*ZvFPX2@HXd?U`tV~?}Ss*x4Dp>Vb{ z^x4y)Qe(WV=Ut)s5i(JV!lM>S5oT=BuDe4{6=&;IqHke2{%Jc zjg207^nyIWU~aDG)#Hu3sPY%sjk!>|O=sL(G0`ye(?hb0N6n99C`i3o$CbAV6-|xXtgnk*8Qg z?!2HJC^ufVg$y~X_4G#K6;P?zzZ~%xEVY6LbsseAI{AV;p8cM3irW-9AX!#S&k@~d z@|ItxSHKx1zbQDhB0L09s^fBBu&*LpK_!@SIK~X zXkd8LuT#tk?HKmMrS7PxEb7@GI-+<=*-mQnybJ8rGD{de%-t+?9{2Xrqf0b|9O@#f=dO~0Qg7wy0a z=f?T%##)s7+Dg96AJBEyVN1x6-S?6b1o>F~>w*XD^JMR~O9swKt=oNP!rrFrD1~U~ z-*9iqGwO$sL3@NbO1X=D0=N04?494>{=YVoJRb!IoD24zwGC6ZP}ma`+~G8*=(r(x z;5Oly5gDj%=G1#&EF#*0&0neM3$ugA%$uv6?rkGq2pVkIMhe1z7{Y&{Yrj(S^w-B} zM8KjW9vj;aroKVM`54ntI=01{o^ZJM$$=Jp?AWfk?c@t#N@yuH#uCIzX!~(skGThR zBa84XB+r=ZH<*XFbNSIe75J$-ZroWJO|(7%Rri$6hCdDS?IozTuKzIQ`tZMI-;N zD}(xMIIJ5@l+{4<1zFiGv>$L?fimma&kwUzdq_8mEDd~WV{ zB3}qPgfPq}LJE-S-#=2cd&4hk`nHfEr%qAlh3yMIxH^@*p)cqY`i5DLzWxw0`1Gs3 z9cEw*7z-bh4BAW58H2CO)=$A*>aa@EIB24&S` zi3u4BfxLf_Cw^p*FyUK4LGu%B4UKCr1gT7qecq$ISD@bc?9 zgF5UbK~H`8eaJHh_iBx)$8=-Z4Q|XF`U~PI`q(n;DOs$XnL>y zh+aG0uj5qIg*rLu__dN&XcKMom>yfmcRlg;B76jUCjmAWP7lwd((ibg89)0Dvf5GN zI#5KxT!eZx?%u&C=;^NBhCzLs$U^{p#<5VZCf!hmm&JAgY&z;dT`f^J+Tivbw+zvC zy|?i-6$~CT4>lKs`1neaKVE1?><#n4R|pgXlZBN6LIFJVDuC}ehcXek2G=Te_=KQN z)Xm#KTWIs1Cf=2(6@tB%Mif5Cvhk#WR%#Nc_z<5EHE;~)PzGgj4Zjw3xCyU;fHa{L ofc>t8q>!qHI4;VG>*}=p7XX2x1SFtXIRF3v07*qoM6N<$f@6C&wg3PC literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app_naive/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5181adaae71c3233b3c1b8418b97f9f11eed5b65 GIT binary patch literal 3726 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 ITF=7&1MadTod5s; literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app_naive/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..4feac43c28d607badb99dc6df95085ae26544978 GIT binary patch literal 8363 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 B>?QyJ literal 0 HcmV?d00001 diff --git a/app_naive/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app_naive/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b535a085dc76e2458026feeaca9a103c7d7c6c7e GIT binary patch literal 5173 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 + + #E91E63 + \ No newline at end of file diff --git a/download.sh b/download.sh index 22c0a3d..4e0db62 100755 --- a/download.sh +++ b/download.sh @@ -29,6 +29,15 @@ unzip_juicity() { rm -rf tmp tmp.zip } +unzip_naive() { + rm -rf tmp + mkdir -p tmp + tar -xf tmp.tar.xz -C tmp + + mv tmp/*/naive "$1"/libnaive.so + rm -rf tmp* +} + download_xray() { VERSION="v1.7.5" mkdir_libs "app_xray/libs" @@ -100,4 +109,14 @@ download_juicity() { unzip_juicity arm64-v8a } +download_naive() { + source ./get_version.sh naive + mkdir_libs "app_naive/libs" + + curl -Lso tmp.tar.xz "https://github.com/klzgrad/naiveproxy/releases/download/${VERSION}/naiveproxy-${VERSION}-android-arm64.tar.xz" + unzip_naive arm64-v8a + curl -Lso tmp.tar.xz "https://github.com/klzgrad/naiveproxy/releases/download/${VERSION}/naiveproxy-${VERSION}-android-x64.tar.xz" + unzip_naive x86_64 +} + download_"$1" diff --git a/get_version.sh b/get_version.sh new file mode 100755 index 0000000..e2591ae --- /dev/null +++ b/get_version.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -x + +# Version store + +naive_version="v$(curl -s https://data.jsdelivr.com/v1/package/gh/klzgrad/naiveproxy | sed -n 4p | tr -d ',"' | awk '{print $1}')" + +######################### + +version_name="${1}_version" + +eval "export VERSION=\$$version_name" diff --git a/js/make.sh b/js/make.sh index 8da52ae..967f4ff 100755 --- a/js/make.sh +++ b/js/make.sh @@ -4,6 +4,7 @@ set -e [ $1 == "hysteria" ] && exit [ $1 == "tuic" ] && exit [ $1 == "tuic5" ] && exit +[ $1 == "naive" ] && exit HTML=../app_$1/html SRC=./plugin_$1 diff --git a/js/package-lock.json b/js/package-lock.json index 25dfcae..17757b1 100644 --- a/js/package-lock.json +++ b/js/package-lock.json @@ -20,12 +20,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.13", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -76,28 +77,20 @@ } }, "node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@babel/helper-annotate-as-pure": { "version": "7.16.7", "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", @@ -198,13 +191,10 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, "engines": { "node": ">=6.9.0" } @@ -222,38 +212,25 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -378,21 +355,30 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -437,13 +423,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -451,9 +437,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.16.12", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.16.12.tgz", - "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -1542,33 +1528,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", + "version": "7.23.2", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -1577,12 +1563,13 @@ } }, "node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -1598,6 +1585,54 @@ "node": ">=10.0.0" } }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "node_modules/@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.1.tgz", @@ -2666,9 +2701,9 @@ } }, "node_modules/loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "dependencies": { "big.js": "^5.2.2", @@ -3474,12 +3509,13 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.13", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" } }, "@babel/compat-data": { @@ -3520,22 +3556,15 @@ } }, "@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "dev": true - } + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, "@babel/helper-annotate-as-pure": { @@ -3611,13 +3640,10 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" - } + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true }, "@babel/helper-explode-assignable-expression": { "version": "7.16.7", @@ -3629,32 +3655,22 @@ } }, "@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "requires": { - "@babel/types": "^7.16.7" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -3749,18 +3765,24 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { @@ -3793,20 +3815,20 @@ } }, "@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.16.12", - "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.16.12.tgz", - "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -4532,41 +4554,42 @@ } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", + "version": "7.23.2", + "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "version": "7.23.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -4576,6 +4599,45 @@ "integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==", "dev": true }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, "@types/eslint": { "version": "8.4.1", "resolved": "https://registry.npmmirror.com/@types/eslint/-/eslint-8.4.1.tgz", @@ -5462,9 +5524,9 @@ "peer": true }, "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "version": "1.4.2", + "resolved": "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", "dev": true, "requires": { "big.js": "^5.2.2", diff --git a/settings.gradle b/settings.gradle index f069f6c..4c54900 100644 --- a/settings.gradle +++ b/settings.gradle @@ -17,3 +17,4 @@ include ':app_hysteria' include ':app_tuic' include ':app_tuic5' include ':app_juicity' +include ':app_naive' \ No newline at end of file