From 09f6818fb4e8f209d1a80425c9f99c34b42e0a46 Mon Sep 17 00:00:00 2001 From: ltguillaume Date: Sat, 19 Aug 2023 09:02:29 +0200 Subject: [PATCH] Fork for Thorium - No checksum verification of the download yet - Scheduled task checks once every 24 hours (not 4) - Defaults to the AVX2 build (can be set via `Build` in .ini file) - Migrates to LocalAppData instead of AppData if can't write to .ini --- LibreWolf-WinUpdater.ico | Bin 10376 -> 0 bytes LibreWolf-WinUpdaterBlue.ico | Bin 9221 -> 0 bytes README.md | 41 +++-- SCREENSHOT.png | Bin 7809 -> 9628 bytes ScheduledTask-Create.ps1 | 10 +- ScheduledTask-Remove.ps1 | 4 +- ...f-WinUpdater.ahk => Thorium-WinUpdater.ahk | 164 +++++++++--------- Thorium-WinUpdater.ico | Bin 0 -> 7416 bytes Thorium-WinUpdaterBlue.ico | Bin 0 -> 10385 bytes Thorium-WinUpdaterLogo.ico | Bin 0 -> 19279 bytes 10 files changed, 115 insertions(+), 104 deletions(-) delete mode 100644 LibreWolf-WinUpdater.ico delete mode 100644 LibreWolf-WinUpdaterBlue.ico rename LibreWolf-WinUpdater.ahk => Thorium-WinUpdater.ahk (79%) create mode 100644 Thorium-WinUpdater.ico create mode 100644 Thorium-WinUpdaterBlue.ico create mode 100644 Thorium-WinUpdaterLogo.ico diff --git a/LibreWolf-WinUpdater.ico b/LibreWolf-WinUpdater.ico deleted file mode 100644 index ec4a721becb926960da2b0cfa18ff77696a7fc25..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10376 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 ar(fzvD>h>;;n3fErTRVXNB@5X^Zx+5-_|Ao diff --git a/LibreWolf-WinUpdaterBlue.ico b/LibreWolf-WinUpdaterBlue.ico deleted file mode 100644 index 548ff85be4d18e553d61bcc4e559fa75d7a4111a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9221 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 b*>d + -# LibreWolf WinUpdater +# Thorium WinUpdater by ltGuillaume: [Codeberg](https://codeberg.org/ltGuillaume) | [GitHub](https://github.com/ltGuillaume) | [Buy me a beer](https://buymeacoff.ee/ltGuillaume) 🍺 -An attempt to make updating LibreWolf for Windows much easier. +An attempt to make updating [Thorium for Windows](https://github.com/Alex313031/Thorium-Win-AVX2) much easier. This is a fork of [LibreWolf WinUpdater](https://codeberg.org/ltGuillaume/librewolf-winupdater). -![LibreWolf WinUpdater](SCREENSHOT.png) +![Thorium WinUpdater](SCREENSHOT.png) ## Getting started -- If you want to run the portable version of LibreWolf, download and extract [`librewolf-xxx.x.x-windows-x86_64-portable.zip`](https://librewolf.net/installation/windows/) (second blue button). It already contains a compiled version of the project hosted here. - LibreWolf will be updated automatically whenever you run `LibreWolf-Portable.exe` (checks for new versions happen once a day). If you wish to perform update checks manually instead, just rename WinUpdater to e.g. `LibreWolf-ManualUpdater.exe` and run it when needed. -- When installing LibreWolf, the [official installer](https://librewolf.net/installation/windows/) will show an option to install WinUpdater. - Alternatively, you can download and extract the latest [`LibreWolf-WinUpdater_x.x.x.zip`](https://codeberg.org/ltGuillaume/LibreWolf-WinUpdater/releases) to a folder you like, e.g. `%AppData%\LibreWolf`. Run `LibreWolf-WinUpdater.exe` to check for an update. If one is available, it will be downloaded immediately. +- If you want to run the portable version of Thorium, download and extract [`Thorium_AVX2_xxx.x.xxxx.x.zip`](https://github.com/Alex313031/Thorium-Win-AVX2/releases). Put `Thorium-WinUpdater.exe` in the same folder. + Then, if you wish to perform an update, just run `Thorium-WinUpdater.exe`. +- When you have installed Thorium using the [Thorium_AVX2_mini_installer.exe](https://github.com/Alex313031/Thorium-Win-AVX2/releases), just run `Thorium-WinUpdater.exe` from any place you like to check for updates. If one is available, it will be downloaded immediately. ## Scheduled updates -- Run LibreWolf WinUpdater and select the option to automatically check for updates. This will prompt for administrator permissions and a blue (PowerShell) window will notify you of the result. The scheduled task will run while the current user account is logged on (at start-up and every 4 hours). -- If your account has administrator permissions, the update will be fully automatic. If not, the update will be downloaded and you will be asked by WinUpdater to start the update (administrator permissions required). -- If LibreWolf is already running, the updater will notify you of the new version. The update will start as soon as you close the browser. +- Run Thorium WinUpdater and select the option to automatically check for updates. This will prompt for administrator permissions and a blue (PowerShell) window will notify you of the result. The scheduled task will run while the current user account is logged on (at start-up and every 24 hours). +- If your account has administrator permissions, the update will be fully automatic. If not, the update will be downloaded and you will be asked by WinUpdater to start the update. +- If Thorium is already running, the updater will notify you of the new version. The update will start as soon as you close the browser. ## Remarks -- If you're having issues with the updater on __Windows 7__ (not officially supported by LibreWolf anymore), please have a look at [these instructions](https://codeberg.org/ltGuillaume/LibreWolf-WinUpdater/issues/15). -- The updater needs to be able to write to `LibreWolf-WinUpdater.ini` in its own folder, (so make sure it has permission to do so), otherwise WinUpdater will copy itself to `%AppData%\LibreWolf\WinUpdater` and run from there. -- `LibreWolf-WinUpdater.ini` contains a `[Log]` section that shows the results of the last update check and update action. -- LibreWolf WinUpdater also updates itself automatically, so you won't have to check for new releases here. If you prefer to update WinUpdater yourself, add the following to the .ini file: +- The updater needs to be able to write to `Thorium-WinUpdater.ini` in its own folder, (so make sure it has permission to do so), otherwise WinUpdater will copy itself to `%LocalAppData%\Thorium\WinUpdater` and run from there. +- `Thorium-WinUpdater.ini` contains a `[Log]` section that shows the results of the last update check and update action. +- Thorium WinUpdater also updates itself automatically, so you won't have to check for new releases here. If you prefer to update WinUpdater yourself, add the following to the .ini file: ```ini [Settings] UpdateSelf=0 ``` +- Thorium by default downloads the AVX2 build. You can change the build to `Win` or `Win7` by adding the following to the .ini file: + ```ini + [Settings] + Build=Win7 + ``` + _Obviously, don't add the line `[Settings]` twice_. + ## Credits -* [LibreWolf](https://librewolf.net) by [ohfp](https://gitlab.com/ohfp), [stanzabird](https://stanzabird.nl), [fxbrit](https://gitlab.com/fxbrit), [maltejur](https://gitlab.com/maltejur), [bgstack15](https://bgstack15.wordpress.com) et al. -* Original icon by the [LibreWolf Community](https://gitlab.com/librewolf-community/branding/-/tree/master/icon) +* [Thorium](https://thorium.rocks) by [Alex Frick](https://github.com/Alex313031) +* The Chromium Project +* Original icon by the [Alex Frick](https://github.com/Alex313031/thorium/blob/main/logos/NEW/win/thorium.ico) +* Original logo by the [Alex Frick](https://github.com/Alex313031/thorium/blob/main/logos/STAGING/Thorium90_252.jpg) diff --git a/SCREENSHOT.png b/SCREENSHOT.png index d2d643f3d9dc76a7a29b585f2a6352880f3a494c..23a028f761877035f450fbeef2e7020fdfc29e98 100644 GIT binary patch literal 9628 zcmYj$WmFu%vgXX-?(R;44essy?gA*V?f(3U89$;W__u%eMa0{}z_q{#4 zU8k$-t3D-N-KYL^w1%1@7CJdP006*JR+7^K0Dw~e-Yjs zW3Ib1-dBbjhoMy+4)oc2xtE3UwJKq)zC$-%%IR)7!OW(J5F1qFhTrQmQ^ z)E2d#_DZ|)+c@g$@6cw;%^H-RKV@M zs3C^xfTlrMI(btKzQ5lC!{KQ9D6~>N?=6LK@o?S7Ljh(X`zLnxL`_a5u-B%U5gQwR zB2m53)6>zhz87!XJ91C1k)9P(ts}`o{JV)9y9m7s(TR<-%i;B-8ag6}zz2WEvfnn| zThc4N+os^l?;K4&G!i-XuRO^E16<1AFM?(qTq1z?yT^jDefh;+Jm0QA!Gby^DX~jt z4ljHIJa%Re0tc08IzqJA(Hn{NMv}M~0;MbHI|yzLIZfy-QTi-6M)|+>uSD?;Fh5F&aTsqja6zOc}+>TDnL?)==h- ze2>Vi86v9w`OiYZ(@2r z5>jN9s~k?FYltLWQzil_X4qOSAjMfA(+zO-@GgbAFoauTx`04r9eKtTc2i_NfpQTf z7?gUPrJ~yH{3Ym1ifbW!j)e(CNeM}vWGt9swMGjRhelV(u`)jKn3s75)K&3x_d`UB z@gNy+B4>BOvm`4tsvX=4WCPTxQ}0z-c2B=UI%2Qp@I4(V6zbIBCm=J<5>*)1{u}7e zFeY~8W(Ud$&MjBgJnf;kAB3WEQQgFP(J#q{x-lXLwl6T)6oe_U(*qS8OR1MNOFNSz6F=WEL7_rXNUuct$sCodMl8)6eAH^p2vZGRO(E|zcu+fwou?x=e9zasvb z#x+p9^DPMz8Nz8%XVl53uCKZHV4TJF3>g%+a+D0&X%FTKRgu;#N=wdpo!(c7MDMN4UD zT<2Iad(?10hEBNDj4Py)^ z5@AgH(@PWv`9Gd~5Y~3IqBu$uAjM}>OGh!SI$h2%DU6w!?~}0&qw0Fe58ewcUmtHD z`g=8yQ+6}Ylq!njH;p?V^Zw(AmlN}5@X9ZLyGeXdL1lZY7HfM-OkBCwP55W>?(8@gR)r`vg>G(K&|bUP&8wnl<|tf%;~hHFO~Ij z8y7J(oH{5PPVXC(RhJlNkaxcaMr?1^k6%S5$K9YI>sA84G2U5gysUdl22RKa&}@AG zbTa5Z1>?x0z4L-#LuSYc!VC?5cf%}oj15@&i0S?5uJ2%+iHexLH}_2PFbd zB*II7f@bBS0e9{|N;_~3cReaDlE-VHY~JzgLl@KZ%~yrR86tE35hueqgbbO*kwyl! zRCS5>0ZYk79SjUNG0bjZbpftsE7d2nxP2SNs>9PMMCP)zv8^7-dcM26bJg$RU_fQU zY!wl}zzd>D4@W~z_SsmDDIrPn+-M-8Gky8R>pvS3iiG*Dp7fWQ*`59>g+B(#G$|!d zm}hm0t|>33xTb)+BJr?C#P6y6jH+`o7Q=9BFelM~Tbruv4{AywY(Uy72B0lI^c)@} z9}PfotrEwTIG~C7}M{yHS zxQMQn0G9HIZNGHw_wlyf(s1dCPuB?|wEelMbGCxXX8X7Ql@0xa<3zY0bQW-Ky;$R3 z-z-Bs&_plb9o@N~X^=1HCk(IETtVNM+i4(P3|*#=jC!~wzj)H-QesSgl;hv#u}EFX ziO8xT3)B_&djF|Qo_;d4-gxG#;Afv2{W}M>vO@4t{_vf`GyG%OS8(H6#+TvHi{Yvo z$vdNkTJ@Zut#2+hfd@(TXB?M|v4B^{XnY`Z_K4{;oz;6{qV~s8wmWy6=)}U5pkE;f zq(7x}cwL@i&ra)gbL%~>9*$`7>#2t`AJw1hUn_%Oq|PWYY&(qv+nI{?Tq6Z>2q*Hn zlNH8(8_k57(j>c;1(^At-4I8F$&X<=Mm8<+1fWonzLVK78n2R}*TWM&xaBoF#J6EL z|5np!K)%H_nfvqI9hz7;+h@I1Ph$kOqUK|3Q7066Yf+9%syz(0=u)PqgL~Of1d`on zfafT!pxwB4)_86vZ+W^aORn181rEShYk`os03JklB)51!X1H*+vh)69p1z}^k%nV- z{+8A*oNc!Q``1#Wpjr9VvN@r@F2Ap2vzP#x-Ym*BPLdS4S~5zT1S=Jz>Gi4DGkT+` z0yinz$|d8vFtpS4N;iW{LSty3L~D0TS`q<_V-^JzYq~*mAlQ1EaI_=LZzqQc9?!5; zNFLqcfsqSW^GP}+F5wK~YX`-j(?aZ)rus+9H3>oBOo5V}*VXfJW*amPhSN(0a;p$n ze9Uk#U%PLEGkvUJHbWudFlVgEd08e@;8T>OItpN}_V~88=SXk-196q|N{1!|qOz#l-csW*dEstbA;>L3ekZmU!8fN_*`M|DFL2#s}Vz9YB@u!c)9J(j+ z*DHaPc&(w|*9kNs>}ENDfax3F5_M(9h>1)YiW@|Xz9`mL)&oQ)xZRfx4_KHbmWyT% zxC5$mJB?>$MbY>o2H>4=2l%#d{#xT~UUDan`=T&9TJ^x8b~dKG^bMBWt$fyj9Venk z{)@Bf#9*ipV|JRYToWb6&b$=OofWNi-FC$-Eoqu`tTk;>FeQl(B&^&PXW?!nf#rYt zOFu9mz%1x?H>POUjj$I0r}_iev|2W##sK!bb|4kpe=PyStBAk7g#B2e!31XkyHd8( zv|A|h+le9jqu-=Qzst?eB#L8UtParliCHO>W0mAhqSOBR@d2h7pOUF{l}I?=M9Usl zyRrP&gP^)x!Q}V9OhsNm7l(^Se_rzs7ujcAHFUBWBvx}8)B1#5mQgp~`DO^;1UJ(( zyj*Wj{AR>egAOI2w7`_P5-qJ$-HbN93;Hj2CHI}F>Y|bGNs;7MVWL;`a7r1W+3m5M z+Jn=jBB$F?l^{EVdozr4g;KXV%hA5?pE2YRo%OOSpPpK)6RBoqTE58`apG^X3=d?N zyNC0j6P?LV|-c#MjA9*ti=Li0TtU=w&NVCNEnv^j4R?4OS|L- zm916!A$Bv4us_hvKKXBo*e~fYPpC)5@|N%FMAL`NvJcDNZ5=h_zbWfUtCspxmHVsX zEs}?XhICu+*Cc#O{7U{<&sF)=y|5kctrT?qISYfStG(5V)_&tNtY^rYh8W9EJd$jf zrV?YqE`lyU#TZR2|I^GpP4p}Jpr8Dk2r(O`bS|?&VK3i_13Wt3v{S5 zGe9LARs`34IcEi8w2%9X0|Gh?Hz<}-`W0M>AZc38c+*p1F$hnCpmqb-Ysn|q<~NWF zzy_74cS}^`&`|^N+DwlY`SZfY^&w^yOsO_gF3Ql$V8fK?ffa3!zoNiyEDM{2$mZ8_ zQ*{mdL{C-&ZJ!037NgV8U5~3sRc%?5gJ}Ru6k~$3AV{pi%x{m#4HVt^3b0k0xh!ti zg*JvU(HKG>a6fgfspIU79&KX)dYmq5<==!v5;|IAEZ0*6%&R{5greTw2KO4BQ+UmPD07&xtk*%Nsk`x*7mQc((hx}~j8Q1eMsXiLi=TvJ*Zh-@E9+{^O(G&IrZ zG<&pOY5vaM^66O+W$w1vI*ZSR3UWJ;7hDZYJfX~(2*C=n?sAw|IR&Fc78R^_K2bdh z4h{-TV%1vMu9F=LR^pb&tng`RsaEu)ezgdAh21%SWp=Fz4wVf>#y-FT6u8^+ik?L5 zkK1C|a~~{;zpcw85@ae?I~7Ts4RpTC%2t+kD;$4rjPDhYmOuX?V8MrP+Y%3GLmmw* zE9oCq#oHi%P~x(@(6t9-WF>yNJahUJf`YWLIVAo{*Rup+0LOV@xk%jal&M6G5y0(@ zJ`|5->Q$LiAuy9L_kVisupB|UJNQ0^(~Rh^nci z+t@HYcXTC^_q#NlwP1bmny9R*nKotDuvh6iXJXLG*4E-jV+bcFHh4G1Sw+vsODB1T zZlh!K4;DP{=m_*R`rZncsH+W1(j?z(}Z%0#+g(rD?wkA~7YYSu^`fa>n#? zV3Kn;EYJ$@uToHlU#ofb3_K!D2LQD%sAi$=>fYWmjz?V#!pbb_g}c@)@Mp_H#ChhKddLo&4*s538uZl@9qNc3%O}J|qDp158f(4Z8*SPT7 z`6iO_o8ZS*)WdamAF6^~u`J^FU=4OmDEGF#eZXQ)R86-S)7W)m=z7Fah6R~`7gYPr z*Uv;8sYo*$(t&hMA@@qlDpQ)9#!b#pXRyWi_`3wuE0jdGVfXKsWeu4~UDGfJoCRwI z=;6RX72s(K#q9C5w5EL_L7$+cCHb;oxkpiCN+`m_i7|+8QR&?=to#Fpi(0YERJ>O9 zA?a83>cgE<7cVBS85Q@|RhKEhq<60x&cS>~eyn{!Pc*(NK4c|q z(_T-*M0Lcft+?!{+!4=UzT=QB94#t@ih;9d8t?GO5;o5b-2sfoxh)mWvU zXL$iLlXX&Bwz-b!dE*ST-}}V97p#IC+BSm@VFx8&+gNbgh2XU;D|PnKYS2 z+3CmAsp{!3u+S>jH-{S5*0k7FZ=f9dsaqk>{-&*7=(HrdCOthME$ti93C1#A>E7V& zKNKl+UguQ61^%|!m@(~FJXa7z3n4+x6$qJI`(zuIgP?Do)p)Lvs29BO$pCujwD;y} zBN`zNwM?_?yb+V?^-RYwC-{_d!Mf({LT7LZ`Z>Sm-%!BCGgIKBSIRC=7r(JUl@Xa0 z-pIUp&R<&sJDk zsA6!goSE!T*!s+URKrlyI(<4tS$L+2o)<)|-52?SwbR>E&h?Q5Fv;sQGGDFpt1Gt8 zY^qs|u;i_xUZZ|rMVX>M<;5gso-q7JA?5uBd4dz&R4`;|4hQIo-Ra3QHs z3UR@=;$J7_-U6g>sRJ2)*)F~P%xTiZs6@!#!r6xoEN%`xe6}!b2>pueG8^rs>8!%2 z)6!)pPTBI&p94%nf|B7~#MnU@-PKQ$>sO|hEmCjm-(yW`85W`-a(f^WVK=OxfGmD% z5cpY(j~+$|sTO6xcB9WxMf(|KC6Z8Gmh)uR?2?@u^cZxx6CH(p)qa2N6x4f z^_GQJDfJ~gmIC#0ooQu7RwCp+TR(F7>*uWq;ma{Zk)^$f8}Y3j{qIo0W*NY=aHHfK zaJ$Fx@AMG=vdmv{ob91yL_Hfz|6PwF$N!+rZX%~Ehu{ZmrmgEEtoL-L5sRHJBnfe@ z9Aou71N%l(G~}a>&hN=QS%vt~Tz;perA9WN)0IzK_jy)|cjhf_b#>hfmgO&pQCu}< z!kso(k7e4D)Di)tgrSzTn95`)0hVai;ID{jzWhmeq!BlhUu{}VCBY6*I=MDhag3*u z#BJ}5dwA~)zkcv->F-%d(0e5%5JM8&(Wha=tHi+s4&{W5h1nQQEC z`1`1JK`s`?M&HK~w8Kr-pYGGf(?WD&g^Gh6o3@em#eVKqgV*7_z*_d2N-06#5t46L zPf)Tmt(O#jcw4`KL6IPH{e2*wYGNb6az zOZrn1 zjLwlUj%|~o=Mvkd7&^4dkWBIO)o1^*iI?6w_uEgj4!-sV17S_KidDMv6&*rXeS-U) zRh_!79m`ri^|#Y|v5wEeJnZFLI*YH4<9s3O?O924*N0pzJ0n|7aG_I<4_P@=%0kL- z$Tp~sQ))x*i9DBP*Lfr|oJ?gZ!UxnJ6;NEWTmU2!tVt&Y$F{#?fl|2t3AmzQrKvMw=*JAO0 zyW?8Jz!Mt9oxADX;_xUP4quOHqgw=3X9uVI>Z_XOd3)MmjWtL(pybG2(4skmKs28a zJY-~IOWLxMFamw=BnUFVYG^o(B=v3QbLUuca~8%>S}-MHpIw8L9&1aOPMG0|Wa?MM zmkhiNrh9BT$agiq_%Cpjw0ksXBoIm4J9Sd^N{J4uwWbeOO&@Zbv2t$P9nOk(b2&4) zZCkfo@!5`Tt3&uW&FG?LwW;Ia6WB1IFdf<4bvnT%Rv*cWHjD-QA&Zb&3vut>yDJ!X zdtcDImAf*VvidNFVaLRT8+>6P6jDr7dCdj#bTTX37sD-G8%%mqQ#Vyn+a z`g4FZ!}-(Q@p3g#cst*UN+GIkfuGhLV11`bl_g=R;du1p_h_CWK^;qi3Jub)_w|uB z>QwwU*N?mjC3=wJ_0NM6@I@fmqw7a8$!p}D@Ni=FU}3t`UkgHq91dCd)cDy3zfmct zrl`b1kf_F&svXYe2HjjTZ_T|efgy@@sLmZTvlnnnKkG&b#06(*gld!p>O~w*;mYt@ z)RmXo`sW~H6}gk&UwB*NCH`ucJV%eb{NDB5YLYxf79!1RQq&ufjs4p7=&>y@BFhG- zc4)&uJmaJ042F5g7{!)!W+jzi`ItCoU8nK=dlEwyjE@hQE56P(s4AEb9%HsE{q>=L z%?h8=dz3J@73&1tMyk}Vs<7>?Wy)X7w!IaXKa9*Rissp1eAsw&VxEal%NV?;F#aRk ztUdBUPcn+XSN&C>O`oOGVji<)hEo7repCb3t-i;%{aUx(3I7i@*^V4`rHp!6tCo3S zQ36n)S^yD?wNJzISI6dehxyP|DTwUn%h|F&!7!a{Zr1uE533uS+BZ@NQf}Hp5%aaj z6`b?pqI!%&%ycDMFDQ$K(5XNKax!6SB}XN7;^~zvZZ|QO%&L!3Pf#YtkdF#xXA38l zU!u{Jk4}b0X4ycr*!3`j$)WrQ+88AQZwZ_!9M_#s32k{fm6nsI{e3PZC`FLD81AP<;~bU$=ErGu%!r^#PJ)n?VWZGDZS zLyR-{Qrvt`;me=X@A9{Z_p5Pudpt1Xr`N!G7C0IhCq{%BZoWvcfq3ub-_VFjF=}7) z?I#4%4$&)~AB8Pdv}8n+BTl)U%wVGP1_ z>tqBV)9f_9pNf1Pq@-d;sTrddUqY8`EaU@9pt`-Lw(-4dQg3=#l1v|fa-YU0aKAB zqsoIpq!9mJdA~(i_qWj$!;gG`){UGj01KSvk*F1u$9C)|{V7v@YK%K(Z2>da&;~jc zh|)X{fy7fh;nLD>rz$P73YW@Mtv0c_J8_1lGzgRhsQfik*?Y`d#IOq2r1Vo%(%XalZH2xlpLQb2lSNH50033Ci|2OYU_b7MuNx6H zt3ORGbf^dl#i1+Eq1K-x0Q2wZ9moFr>qGz{BVzt%qLL!AL;l}is8qcjQgb{4_hcjG zZ>1+?yo#s}eJEBbn&tbJiE{Lh+cE)o|Gf0rGomITAQ4|LXqb4k^!#+#ZANWT_6soi z^*pz!Zny0gNFaSpeBpIxyeD&7BuP`H`MtU0NAL4;M+@mcx(>l{xReq6< z+&I&*5Hm+kjKbI4R3dz!_dv_AOlg?`@cAqo+edf&vNZ1L((*ARsjoTdM?fW2jNFFj z3Rz~M2C)jfQE!~$E_&Mh!#uqdI|53OzDBWbklPNQY=z{;)bUY}ZS>SIoO3{<$#vaC zbQ!zRYSelIqCs!CLM+bs09~uM#N7(gG#9ZHx8&uR{DTiX9A4g2@#^^Joka7`LFO;q zVwwlRM6nX3E@yQvbrACO)CyW&*ZEW^jKVS>ZNsFc?+v!TspL2;48ZJYLJ|-J%laJl z*BIdnlF?=Zh-o|J=%ru??5(+yL#x7?*O{lOGiOxV^vi+14j+5BaiF&ZnMBK)oMdu< zh{vK7vFuTOQ;n$<^HP4MmNis?h~c*cV5TKmIR9lOlpiqkFI`KFnSrMuBS2k!l$U30 z{*ExKm^#sU;0r#;MeEP6R4bKA$<{u+$B}acD@^aJ^$`>981U{ zxs4kgSXtR|cmSZK3EqYSwKeoPN9W`ydnOPk$r~y&W69627j#Pyx?}v!PMmzO7{s z0qv*MgGP8*-P-;1Acp8j2~Lsl2YLx!w1i)d+?{=yxmbg%h%X1#g!lN|O^W{2Hlgqk z(1>-2WTNT39A47=+gcFY`2(EpD{B*dedsuLLh>|+y?gEav8Pyhk8jEOw|d0h`-CV; z(_%O!b%&&t50ur7&`$$kTLVfRETo!N>y7S~Yfs zNBLXyEcvxRn+xmT#_67Yxz~>STFd@I8ZzJy z>l#n+`SczBL`HaTLMRl=%X(Rh{a4dLqM0xwU%(*l?vrX&KWIShucCdzAKwMV^oMx~ zvESB6{acmH7i&n=d7GWHBqRj_2G=lZjDT9*fP(DeO+%1nKzh&5gSx@xH?^RVhaFii z9Qlx4n?-8(4a`VSJft*Vca4cPF+!vc4)fC);J>~F==t$dmAfrl8%hiQ520fIBT5ud h7##Xv`oG#N@|e?~x}^pbivMf?%JOP*)iRLK{{yNkS_l9D literal 7809 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 R@p!ciD9ETvS4x?E{2$gw{dE8U diff --git a/ScheduledTask-Create.ps1 b/ScheduledTask-Create.ps1 index ff7f4a4..0d235ef 100644 --- a/ScheduledTask-Create.ps1 +++ b/ScheduledTask-Create.ps1 @@ -1,5 +1,5 @@ -Write-Output "Creating scheduled task for LibreWolf WinUpdater..." -$Title = "LibreWolf WinUpdater" +Write-Output "Creating scheduled task for Thorium WinUpdater..." +$Title = "Thorium WinUpdater" $Host.UI.RawUI.WindowTitle = $Title If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { @@ -10,13 +10,13 @@ If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdent Exit } -$Action = New-ScheduledTaskAction -Execute "$PSScriptRoot\LibreWolf-WinUpdater.exe" -Argument "/Scheduled" +$Action = New-ScheduledTaskAction -Execute "$PSScriptRoot\Thorium-WinUpdater.exe" -Argument "/Scheduled" $Settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -RunOnlyIfNetworkAvailable -$4Hours = New-ScheduledTaskTrigger -Once -At (Get-Date -Minute 0 -Second 0).AddHours(1) -RepetitionInterval (New-TimeSpan -Hours 4) +$24Hours = New-ScheduledTaskTrigger -Once -At (Get-Date -Minute 0 -Second 0).AddHours(1) -RepetitionInterval (New-TimeSpan -Hours 24) $AtLogon = New-ScheduledTaskTrigger -AtLogOn $AtLogon.Delay = 'PT1M' $User = If ($Args[0]) {$Args[0]} Else {[Environment]::UserName} -Register-ScheduledTask -TaskName "$Title ($User)" -Action $Action -Settings $Settings -Trigger $4Hours,$AtLogon -User $User -RunLevel Highest -Force +Register-ScheduledTask -TaskName "$Title ($User)" -Action $Action -Settings $Settings -Trigger $24Hours,$AtLogon -User $User -RunLevel Highest -Force Write-Output "Done. Press any key to close this window." [Console]::ReadKey() \ No newline at end of file diff --git a/ScheduledTask-Remove.ps1 b/ScheduledTask-Remove.ps1 index 4a31f5f..e029d7c 100644 --- a/ScheduledTask-Remove.ps1 +++ b/ScheduledTask-Remove.ps1 @@ -1,5 +1,5 @@ -Write-Output "Removing scheduled task for LibreWolf WinUpdater..." -$Title = "LibreWolf WinUpdater" +Write-Output "Removing scheduled task for Thorium WinUpdater..." +$Title = "Thorium WinUpdater" $Host.UI.RawUI.WindowTitle = $Title If (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { diff --git a/LibreWolf-WinUpdater.ahk b/Thorium-WinUpdater.ahk similarity index 79% rename from LibreWolf-WinUpdater.ahk rename to Thorium-WinUpdater.ahk index eb44c0e..570c32c 100644 --- a/LibreWolf-WinUpdater.ahk +++ b/Thorium-WinUpdater.ahk @@ -1,12 +1,12 @@ -; LibreWolf WinUpdater - https://codeberg.org/ltguillaume/librewolf-winupdater +; Thorium WinUpdater - https://codeberg.org/ltguillaume/thorium-winupdater ;@Ahk2Exe-SetFileVersion 1.7.11 ;@Ahk2Exe-Base Unicode 32* -;@Ahk2Exe-SetCompanyName LibreWolf Community -;@Ahk2Exe-SetDescription LibreWolf WinUpdater -;@Ahk2Exe-SetMainIcon LibreWolf-WinUpdater.ico -;@Ahk2Exe-AddResource LibreWolf-WinUpdaterBlue.ico, 160 -;@Ahk2Exe-SetOrigFilename LibreWolf-WinUpdater.exe +;@Ahk2Exe-SetCompanyName The Chromium Authors and Alex313031 +;@Ahk2Exe-SetDescription Thorium WinUpdater +;@Ahk2Exe-SetMainIcon Thorium-WinUpdater.ico +;@Ahk2Exe-AddResource Thorium-WinUpdaterLogo.ico, 160 +;@Ahk2Exe-SetOrigFilename Thorium-WinUpdater.exe ;@Ahk2Exe-PostExec ResourceHacker.exe -open "%A_WorkFileName%" -save "%A_WorkFileName%" -action delete -mask ICONGROUP`,206`, ,,,,1 ;@Ahk2Exe-PostExec ResourceHacker.exe -open "%A_WorkFileName%" -save "%A_WorkFileName%" -action delete -mask ICONGROUP`,207`, ,,,,1 ;@Ahk2Exe-PostExec ResourceHacker.exe -open "%A_WorkFileName%" -save "%A_WorkFileName%" -action delete -mask ICONGROUP`,208`, ,,,,1 @@ -15,25 +15,25 @@ #SingleInstance, Off Global Args := "" -, ExtractDir := A_Temp "\LibreWolf-Extracted" -, LibreWolfExe := "librewolf.exe" -, PortableExe := A_ScriptDir "\LibreWolf-Portable.exe" -, SelfUpdateZip := "LibreWolf-WinUpdater.zip" +, ExtractDir := A_Temp "\Thorium-Extracted" +, ThoriumExe := "thorium.exe" +, PortableExe := A_ScriptDir "\Thorium-Portable.exe" +, SelfUpdateZip := "Thorium-WinUpdater.zip" , TaskCreateFile := "ScheduledTask-Create.ps1" , TaskRemoveFile := "ScheduledTask-Remove.ps1" -, UpdaterFile := "LibreWolf-WinUpdater.exe" -, IsPortable := FileExist(A_ScriptDir "\LibreWolf-Portable.exe") +, UpdaterFile := "Thorium-WinUpdater.exe" +, IsPortable := FileExist(A_ScriptDir "\bin\thorium.exe") , RunningPortable := A_Args[1] = "/Portable" , Scheduled := A_Args[1] = "/Scheduled" , SettingTask := A_Args[1] = "/CreateTask" Or A_Args[1] = "/RemoveTask" , ChangesMade := False , Done := False -, IniFile, Path, ProgramW6432, Build, UpdateSelf, Task, CurrentUpdaterVersion, ReleaseInfo, CurrentVersion, NewVersion, SetupFile, GuiHwnd, LogField, ProgField, VerField, TaskSetField, UpdateButton +, IniFile, LocalAppData, Path, ProgramW6432, Build, UpdateSelf, Task, CurrentUpdaterVersion, ReleaseInfo, CurrentVersion, NewVersion, SetupFile, GuiHwnd, LogField, ProgField, VerField, TaskSetField, UpdateButton ; Strings -Global _LibreWolf := "LibreWolf" -, _Updater := "LibreWolf WinUpdater" -, _NoConnectionError := "Could not establish a connection to GitLab." +Global _Thorium := "Thorium" +, _Updater := "Thorium WinUpdater" +, _NoConnectionError := "Could not establish a connection to GitHub." , _IsRunningError := _Updater " is already running." , _IsElevated := "To set up scheduled tasks properly, please do not run WinUpdater as administrator." , _NoDefaultBrowser := "Could not open your default browser." @@ -41,11 +41,11 @@ Global _LibreWolf := "LibreWolf" , _SetTask := "Schedule a task for automatic update checks while`nuser {} is logged on." , _SettingTask := (A_Args[1] = "/CreateTask" ? "Creating" : "Removing") " scheduled task..." , _Done := " Done." -, _GetPathError := "Could not find the path to LibreWolf.`nBrowse to " LibreWolfExe " in the following dialog." -, _SelectFileTitle := _Updater " - Select " LibreWolfExe "..." +, _GetPathError := "Could not find the path to Thorium.`nBrowse to " ThoriumExe " in the following dialog." +, _SelectFileTitle := _Updater " - Select " ThoriumExe "..." , _WritePermError := "Could not write to`n{}. Please check the current user account's write permissions for this folder." , _CopyError := "Could not copy {}" -, _GetBuildError := "Could not determine the build architecture (32/64-bit) of LibreWolf." +;, _GetBuildError := "Could not determine the build architecture (32/64-bit) of Thorium." , _GetVersionError := "Could not determine the current version of`n{}" , _DownloadJsonError := "Could not download the {Task} releases file." , _JsonVersionError := "Could not get version info from the {Task} releases file." @@ -58,17 +58,17 @@ Global _LibreWolf := "LibreWolf" , _FindChecksumError := "Could not find the checksum for the downloaded file." , _ChecksumMatchError := "The file checksum did not match, so it's possible the download failed." , _ChangesMade := "However, new files were written to the target folder!" -, _NoChangesMade := "No changes were made to your LibreWolf folder." +, _NoChangesMade := "No changes were made to your Thorium folder." , _Extracting := "Extracting portable version..." , _StartUpdate := " &Start update " , _Installing := "Installing new version..." , _UpdateError := "Error while updating." , _SilentUpdateError := "Silent update did not complete.`nDo you want to run the interactive installer?" -, _NewVersionFound := "A new version is available.`nClose LibreWolf to start updating..." +, _NewVersionFound := "A new version is available.`nClose Thorium to start updating..." , _NoNewVersion := "No new version found." -, _ExtractionError := "Could not extract the {Task} archive.`nMake sure LibreWolf is not running and restart the updater." +, _ExtractionError := "Could not extract the {Task} archive.`nMake sure Thorium is not running and restart the updater." , _MoveToTargetError := "Could not move the following file into the target folder:`n{}" -, _IsUpdated := "LibreWolf has been updated." +, _IsUpdated := "Thorium has been updated." , _To := "to" , _GoToWebsite := "Restart WinUpdater or visit the project website for help." @@ -91,16 +91,18 @@ Exit() Init() { EnvGet, ProgramW6432, ProgramW6432 + EnvGet, LocalAppData, LocalAppData SplitPath, A_ScriptFullPath,,,, BaseName IniFile := A_ScriptDir "\" BaseName ".ini" IniRead, UpdateSelf, %IniFile%, Settings, UpdateSelf, 1 ; Using "False" in .ini causes If (UpdateSelf) to be True + IniRead, Build, %IniFile%, Settings, Build, Win-AVX2 ; Win-AVX2, Win, Win7 FileGetVersion, CurrentUpdaterVersion, %A_ScriptFullPath% CurrentUpdaterVersion := SubStr(CurrentUpdaterVersion, 1, -2) SetWorkingDir, %A_Temp% Menu, Tray, Tip, %_Updater% %CurrentUpdaterVersion% Menu, Tray, NoStandard Menu, Tray, Add, Show, TrayAction - Menu, Tray, Add, Portable, TrayAction +; Menu, Tray, Add, Portable, TrayAction Menu, Tray, Add, WinUpdater, TrayAction Menu, Tray, Add, Exit, TrayAction Menu, Tray, Default, Show @@ -109,12 +111,12 @@ Init() { Gui, +HwndGuiHwnd -MaximizeBox Gui, Color, 23222B Gui, Add, Picture, x12 y10 w64 h64 Icon2, %A_ScriptFullPath% - Gui, Font, c00ACFF s22 w700, Segoe UI - Gui, Add, Text, x85 y4 BackgroundTrans, LibreWolf + Gui, Font, cC58FC1 s22 w700, Segoe UI + Gui, Add, Text, x85 y4 BackgroundTrans, Thorium Gui, Font, cFFFFFF s9 w700 - Gui, Add, Text, vVerField x86 y42 w222 BackgroundTrans + Gui, Add, Text, vVerField x86 y42 w222 BackgroundTrans, `n Gui, Font, w400 - Gui, Add, Progress, vProgField w217 h20 c00ACFF, 10 + Gui, Add, Progress, vProgField w217 h20 cB483BB, 10 Gui, Add, Text, vLogField w222 Gui, Margin,, 15 Gui, Show, Hide, %_Updater% %CurrentUpdaterVersion% @@ -147,7 +149,7 @@ TrayAction(ItemName, GuiEvent, LinkIndex) { If (LinkIndex = 2) ItemName := "WinUpdater" - Url := "https://codeberg.org/ltguillaume/librewolf-" ItemName + Url := "https://codeberg.org/ltguillaume/thorium-" ItemName Try Run, %Url% Catch { RegRead, DefBrowser, HKCR, .html @@ -160,25 +162,25 @@ TrayAction(ItemName, GuiEvent, LinkIndex) { CheckPaths() { If (IsPortable) - Path := A_ScriptDir "\LibreWolf\librewolf.exe" + Path := A_ScriptDir "\bin\thorium.exe" Else { IniRead, Path, %IniFile%, Settings, Path, 0 ; Need to use 0, because False would become a string If (!Path) { - RegRead, Path, HKLM\SOFTWARE\Clients\StartMenuInternet\LibreWolf\shell\open\command + RegRead, Path, HKLM\SOFTWARE\Clients\StartMenuInternet\Thorium\shell\open\command If (ErrorLevel) - Path = %ProgramW6432%\LibreWolf\%LibreWolfExe% + Path = %LocalAppData%\Thorium\Application\%ThoriumExe% } Path := Trim(Path, """") ; FileExist chokes on double quotes - If (!FileExist(Path)) - Path = %A_ProgramFiles%\LibreWolf\%LibreWolfExe% +; If (!FileExist(Path)) +; Path = %A_ProgramFiles%\Thorium\%ThoriumExe% } ;MsgBox, Path = %Path% CheckPath: If (!FileExist(Path)) { MsgBox, 48, %_Updater%, %_GetPathError% - FileSelectFile, Path, 3, %Path%, %_SelectFileTitle%, %LibreWolfExe% + FileSelectFile, Path, 3, %Path%, %_SelectFileTitle%, %ThoriumExe% If (ErrorLevel) ExitApp Else { @@ -215,7 +217,7 @@ SelfUpdate() { If (GetLatestVersion() = CurrentUpdaterVersion) Return - RegExMatch(ReleaseInfo, "i)name"":""librewolf-winupdater.+?\.zip"".*?browser_download_url"":""(.*?)""", DownloadUrl) + RegExMatch(ReleaseInfo, "i)name"":""thorium-winupdater.+?\.zip"".*?browser_download_url"":""(.*?)""", DownloadUrl) If (!DownloadUrl1) Return Log("SelfUpdate", _FindUrlError, True) @@ -243,13 +245,13 @@ SelfUpdate() { } CheckWriteAccess() { - If (!FileExist(A_ScriptDir "\" LibreWolfExe)) { + If (!FileExist(A_ScriptDir "\" ThoriumExe)) { FileAppend,, %IniFile% If (!ErrorLevel) Return } - AppData := A_AppData "\LibreWolf\WinUpdater" + AppData := LocalAppData "\Thorium\WinUpdater" If (IsPortable Or A_ScriptDir = AppData) Die(_WritePermError, A_ScriptDir) @@ -272,19 +274,19 @@ CheckWriteAccess() { GetCurrentVersion() { ; by SKAN and Drugwash https://www.autohotkey.com/board/topic/70777-how-to-get-autohotkeyexe-build-information-from-file/?p=448263 - Call := DllCall("GetBinaryTypeW", "Str", "\\?\" Path, "UInt *", Build) - If (Call And Build = 6) - Build := "x86_64" - Else If (Call And Build = 0) - Build := "i686" - Else - Die(_GetBuildError) +; Call := DllCall("GetBinaryTypeW", "Str", "\\?\" Path, "UInt *", Build) +; If (Call And Build = 6) +; Build := "x86_64" +; Else If (Call And Build = 0) +; Build := "i686" +; Else +; Die(_GetBuildError) ; FileVersion() by SKAN https://www.autohotkey.com/boards/viewtopic.php?&t=4282 If (Sz := DllCall("Version\GetFileVersionInfoSizeW", "WStr", Path, "Int", 0)) If (DllCall("Version\GetFileVersionInfoW", "WStr", Path, "Int", 0, "UInt", VarSetCapacity(V, Sz), "Str", V)) - If (DllCall("Version\VerQueryValueW", "Str", V, "WStr", "\StringFileInfo\000004B0\ProductVersion", "PtrP", pInfo, "Int", 0)) - CurrentVersion := StrGet(pInfo, "UTF-16") + If (DllCall("Version\VerQueryValueW", "Str", V, "WStr", "\StringFileInfo\040904B0\ProductVersion", "PtrP", pInfo, "Int", 0)) + CurrentVersion := "M" StrGet(pInfo, "UTF-16") If (!CurrentVersion) Die(_GetVersionError, Path) @@ -293,13 +295,13 @@ GetCurrentVersion() { } CheckConnection() { - If (!Download("https://gitlab.com/manifest.json")) + If (!Download("https://github.com/manifest.json")) Die(_NoConnectionError,, False) ; Don't show this if not Scheduled } GetNewVersion() { Progress(_Checking) - Task := _LibreWolf + Task := _Thorium NewVersion := GetLatestVersion() ;MsgBox, ReleaseInfo = %ReleaseInfo%`nCurrentVersion = %CurrentVersion%`nNewVersion = %NewVersion% IniRead, LastUpdateTo, %IniFile%, Log, LastUpdateTo, False @@ -312,7 +314,7 @@ GetNewVersion() { } StartUpdate() { - GuiControl,, VerField, %CurrentVersion% %_To% %NewVersion% (%Build%) + GuiControl,, VerField, %CurrentVersion% %_To%`n%NewVersion% (%Build%) If (Portable Or !Scheduled) GuiShow() @@ -320,7 +322,7 @@ StartUpdate() { } WaitForClose() { - ; Notify and wait if LibreWolf is running + ; Notify and wait if Thorium is running PathDS := StrReplace(Path, "\", "\\") Wait: For Proc in ComObjGet("winmgmts:").ExecQuery("Select ProcessId from Win32_Process where ExecutablePath=""" PathDS """") { @@ -342,8 +344,8 @@ WaitForClose() { DownloadUpdate() { ; Get setup file URL - FilenameEnd := Build (IsPortable ? "-portable\.zip" : "-setup\.exe") - RegExMatch(ReleaseInfo, "i)""name"":""(librewolf-.{1,30}?" FilenameEnd ")"",\s*""url"":""(.+?)""", DownloadUrl) + FilenameEnd := IsPortable ? "\.zip" : "installer\.exe" + RegExMatch(ReleaseInfo, "i)""name"":""(thorium.{1,30}?" FilenameEnd ")"",.*?""browser_download_url"":""(.+?)""", DownloadUrl) ;MsgBox, Downloading`n%DownloadUrl2%`nto`n%DownloadUrl1% If (!DownloadUrl1 Or !DownloadUrl2) Die(_FindUrlError) @@ -355,36 +357,36 @@ DownloadUpdate() { If (!FileExist(SetupFile)) Die(_DownloadSetupError) - VerifyChecksum() -} +; VerifyChecksum() +;} -VerifyChecksum() { +;VerifyChecksum() { ; Get checksum file - RegExMatch(ReleaseInfo, "i)""name"":""sha256sums\.txt"",\s*""url"":""(.+?)""", ChecksumUrl) - If (!ChecksumUrl1) - Die(_FindSumsUrlError) - Checksum := Download(ChecksumUrl1) +; RegExMatch(ReleaseInfo, "i)""name"":""sha256sums\.txt"",.*?""browser_download_url"":""(.+?)""", ChecksumUrl) +; If (!ChecksumUrl1) +; Die(_FindSumsUrlError) +; Checksum := Download(ChecksumUrl1) ; Get checksum for downloaded file - RegExMatch(Checksum, "i)(\S+?)\s+\*?\Q" SetupFile "\E", Checksum) - If (!Checksum1) - Die(_FindChecksumError) +; RegExMatch(Checksum, "i)(\S+?)\s+\*?\Q" SetupFile "\E", Checksum) +; If (!Checksum1) +; Die(_FindChecksumError) ; Compare checksum with downloaded file - If (Checksum1 <> Hash(SetupFile)) - Die(_ChecksumMatchError) +; If (Checksum1 <> Hash(SetupFile)) +; Die(_ChecksumMatchError) If (IsPortable) ExtractPortable() Else { - If (A_IsAdmin) +; If (A_IsAdmin) Install() - Else { - Progress(_Downloaded) - Gui, Add, Button, vUpdateButton gInstall w148 x86 y110 Default, %_StartUpdate% - GuiControl, Move, TaskSetField, y146 - GuiShow(True) ; Wait for user action - } +; Else { +; Progress(_Downloaded) +; Gui, Add, Button, vUpdateButton gInstall w148 x86 y125 Default, %_StartUpdate% +; GuiControl, Move, TaskSetField, y161 +; GuiShow(True) ; Wait for user action +; } } } @@ -394,10 +396,11 @@ ExtractPortable() { If (!Extract(A_Temp "\" SetupFile, ExtractDir)) Die(_ExtractionError) - Loop, Files, %ExtractDir%\*, D - { +; Loop, Files, %ExtractDir%\*, D +; { ;MsgBox, Traversing %A_LoopFilePath% - SetWorkingDir, %A_LoopFilePath% ; Enter the first folder of the extracted archive +; SetWorkingDir, %A_LoopFilePath% ; Enter the first folder of the extracted archive + SetWorkingDir, %ExtractDir% Loop, Files, *, R { If (A_LoopFileName = UpdaterFile) @@ -414,8 +417,9 @@ ExtractPortable() { ChangesMade := True } } - } +; } SetWorkingDir, %A_Temp% + FileRemoveDir, % A_ScriptDir "\bin\" SubStr(CurrentVersion, 2), 1 WriteReport() } @@ -425,7 +429,7 @@ Install() { Progress(_Installing) If (Scheduled) Notify(_Installing, CurrentVersion " " _To " v" NewVersion, 3000) - Folder := StrReplace(Path, LibreWolfExe, "") + Folder := StrReplace(Path, ThoriumExe, "") ;MsgBox, %SetupFile% /S /D=%Folder% ; Run silent setup RunWait, %SetupFile% /S /D=%Folder%,, UseErrorLevel @@ -481,7 +485,7 @@ Exit(Restart = False) { FileDelete, %SetupFile% } If (IsPortable) - FileRemoveDir, LibreWolf-Extracted, 1 + FileRemoveDir, Thorium-Extracted, 1 FileDelete, %A_ScriptFullPath%.pbak FileDelete, %SelfUpdateZip% @@ -548,8 +552,8 @@ Extract(From, To) { GetLatestVersion() { ReleaseUrl := (Task = _Updater - ? "https://codeberg.org/api/v1/repos/ltguillaume/librewolf-winupdater/releases/latest" - : "https://gitlab.com/api/v4/projects/44042130/releases/permalink/latest") + ? "https://codeberg.org/api/v1/repos/ltguillaume/thorium-winupdater/releases/latest" + : "https://api.github.com/repos/Alex313031/Thorium-" Build "/releases/latest") ReleaseInfo := Download(ReleaseUrl) If (!ReleaseInfo) Die(_DownloadJsonError) diff --git a/Thorium-WinUpdater.ico b/Thorium-WinUpdater.ico new file mode 100644 index 0000000000000000000000000000000000000000..d28bad8f91e5a2a83b4dd9dc480c048f3a89b994 GIT binary patch literal 7416 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 DRW~i) literal 0 HcmV?d00001 diff --git a/Thorium-WinUpdaterBlue.ico b/Thorium-WinUpdaterBlue.ico new file mode 100644 index 0000000000000000000000000000000000000000..7d8c256635781cb4e4f264475178db788573a730 GIT binary patch literal 10385 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