mkorthof / chrupd Goto Github PK
View Code? Open in Web Editor NEWSimple Chromium Updater
License: GNU General Public License v2.0
Simple Chromium Updater
License: GNU General Public License v2.0
Hi,
thank you for your script and work!
At the moment there is a problem with hash for installation the Ungoogled release from Marmaduke.
Command line
chrupd.cmd -editor Ungoogled -channel stable -arch 64bit
chrupd.log
2022-10-18 16:46:45 Start (pid:4200 name:powershell scheduler:0 v:20211002 )
2022-10-18 16:46:45 Could not find Chromium, initial installation will be done by the downloaded installer...
2022-10-18 16:46:45 Feed "chromium.woolyss.com" editor "Hibbiki" architecture "64-bit" channel "stable"
2022-10-18 16:46:46 New Chromium version "106.0.5249.119" from 2022-10-12 is available (6 days ago)
2022-10-18 16:46:46 Downloading "https://github.com/Hibbiki/chromium-win64/releases/download/v106.0.5249.119-r1036826/mini_installer.sync.exe"
2022-10-18 16:46:46 Saving as: "C:\Users\DANNYK~1\AppData\Local\Temp\mini_installer.sync.exe"
2022-10-18 16:54:52 Start (pid:7936 name:powershell scheduler:0 v:20211002 )
2022-10-18 16:54:52 Could not find Chromium, initial installation will be done by the downloaded installer...
2022-10-18 16:54:52 Feed "chromium.woolyss.com" title "Ungoogled" editor "Marmaduke" architecture "64-bit" channel "stable"
2022-10-18 16:54:52 No valid hash for installer/archive found, exiting...
2022-10-18 16:55:02 Start (pid:11784 name:powershell scheduler:0 v:20211002 )
2022-10-18 16:55:02 Could not find Chromium, initial installation will be done by the downloaded installer...
2022-10-18 16:55:02 Feed "chromium.woolyss.com" title "Ungoogled" editor "Marmaduke" architecture "64-bit" channel "stable"
2022-10-18 16:55:03 No valid hash for installer/archive found, exiting...
2022-10-18 16:57:43 Start (pid:14044 name:powershell scheduler:0 v:20211002 )
2022-10-18 16:57:43 Currently installed Chromium version: "106.0.5249.119"
2022-10-18 16:57:43 Feed "chromium.woolyss.com" title "Ungoogled" editor "Marmaduke" architecture "64-bit" channel "stable"
2022-10-18 16:57:43 No valid hash for installer/archive found, exiting...
Kind Regards
Running
chrupd -editor Marmaduke -channel stable -arch 64bit
Gives error
No matching Chromium versions found - set correct "channel" and "editor", exiting...
chrupd.log
C:\Users<user>\Desktop>chrupd.cmd
OS Detected: "Windows 10" (10.0, Workstation)
Task Scheduler Mode: 1, Normal
Logging to: "C:\Users<user>\Desktop\chrupd.log"
Currently installed Chromium version: "70.0.3526.0"
Using the folowing settings:
Checking: "chromium.woolyss.com", Editor: "Nik", Channel: "stable"
Invoke-WebRequest : Der Antwortinhalt kann nicht analysiert werden, da das Internet Explorer-Modul nicht verfügbar
ist, oder die Konfiguration beim ersten Start von Internet Explorer ist nicht abgeschlossen. Geben Sie den
UseBasicParsing-Parameter an, und wiederholen Sie den Vorgang.
In Zeile:616 Zeichen:14
~~~~~~~~~~~~~~~~~~~~~~~~~~
Es ist nicht möglich, einen Index auf ein NULL-Array anzuwenden.
In Zeile:616 Zeichen:58
~~~~~~~~~~~~~~~~~~~~~~~~~
No matching Chromium versions found - set correct "channel" and "getFile", exiting
Just errors out with 'powershell.exe' is not recognized as an internal or external command, operable program or batch file.
when started.
Hi all
Is this normal? Every time the script is executed, it says "Could not find Chromium, initial installation will be done by the downloaded installer...". Why is the script unable to detect the installation? Any ideas?
The script will be executed like this and with the default config.
D:\Data\Scripts\chrupd.cmd -sysLvl
It's also Windows Server 2022 and not Windows Server 2016.
C:\Users\Administrator\Downloads>D:\Data\Scripts\chrupd.cmd -sysLvl
Simple Chromium Updater ( chrupd.cmd 20230616 )
OS Detected: "Windows Server 2016" (10.0, Server)
Task Scheduler Mode: Normal "1"
Logging to: "D:\Data\Scripts\chrupd.log"
Could not find Chromium, initial installation will be done by the downloaded installer...
Using the following settings:
Source "chromium.woolyss.com" name "Hibbiki" architecture "64-bit" channel "stable"
New Chromium version "114.0.5735.134" from 2023-06-14 is available (8 days ago)
Downloading "https://github.com/Hibbiki/chromium-win64/releases/download/v114.0.5735.134-r1135570/mini_installer.sync.exe"
Saving as: "C:\Users\ADMINI~1\AppData\Local\Temp\3\mini_installer.sync.exe"
SHA1 hash matches "20bd21a029c8d794564adabc401037f830813efc"
Executing "mini_installer.sync.exe"
[OK] Done.
Regards
Tom
2023-06-22 20:25:41 Start (pid:10372 name:powershell scheduler:0 v:20230616 )
2023-06-22 20:25:41 Could not find Chromium, initial installation will be done by the downloaded installer...
2023-06-22 20:25:41 Source "chromium.woolyss.com" name "Hibbiki" architecture "64-bit" channel "stable"
2023-06-22 20:25:42 New Chromium version "114.0.5735.134" from 2023-06-14 is available (8 days ago)
2023-06-22 20:25:42 Downloading "https://github.com/Hibbiki/chromium-win64/releases/download/v114.0.5735.134-r1135570/mini_installer.sync.exe"
2023-06-22 20:25:42 Saving as: "C:\Users\ADMINI1\AppData\Local\Temp\3\mini_installer.sync.exe"1\AppData\Local\Temp\3\chromium_installer.log
2023-06-22 20:25:45 SHA1 hash matches "20bd21a029c8d794564adabc401037f830813efc"
2023-06-22 20:25:45 Executing "mini_installer.sync.exe"
2023-06-22 20:25:59 Done. New Chromium version will be used on next app (re)start
2023-06-22 20:25:59 Installer logfile: C:\Users\ADMINI
It was removed but since the project is active, it would be nice to have it back. It's on Woolyss' website.
When i edit the cmd file to change the stable nosync version to dev sync version or i use the proper arguments it outputs this:
2018-07-17 16:39:40 Start (pid:8028 name:powershell scheduler:0)
2018-07-17 16:39:40 Forcing update, ignoring current version
2018-07-17 16:39:40 Checksite: "chromium.woolyss.com", Editor: "Nik", Channel: "dev"
2018-07-17 16:39:41 No matching versions found
The feed does contain the dev sync build (https://chromium.woolyss.com/feed/windows-64-bit) so the feed might be changed.
Hello,
thanks a lot for you script. It would be great if WinRAR support could be added besides 7-Zip, which allows the user to choose between both programs. In my case, only WinRAR was installed and I got an error when running the script. 7-Zip was needed, but I don't have any use for this program.
I used chrupd.cmd with the following modification, but linkArgs="--incognito" doesn't work.
<# :
@echo off & SETLOCAL & SET "_PS=powershell.exe -NoLogo -NoProfile" & SET "_ARGS=\"%~dp0" %*"
%_PS% "&(Invoke-Command {[ScriptBlock]::Create('$Args=@(&{$Args} %_ARGS%);'+((Get-Content \"%~f0\") -Join [char]10))})"
ENDLOCAL & dir "%~f0.tmp" >nul 2>&1 && move /Y "%~f0" "%~f0.bak" >nul 2>&1 && move /Y "%~f0.tmp" "%~f0" >nul 2>&1 & GOTO :EOF
#>
<#
.SYNOPSIS
-------------------------------------------------------------------------
20240630 MK: Simple Chromium Updater (chrupd.cmd)
-------------------------------------------------------------------------
.DESCRIPTION
Installs latest available Chromium version
Checks RSS feed from "chromium.woolyss.com" and GitHub API
Downloads, verifies sha/md5 hash and runs installer:
default name: "Hibbiki", channel "stable", arch "64bit"
set options using cli args or under CONFIGURATION in script
.EXAMPLE
PS> .\chrupd.ps1 -name Marmaduke -arch 64bit -channel stable [-crTask]
#>
<# ------------------------------------------------------------------------- #>
<# CONFIGURATION: #>
<# ------------------------------------------------------------------------- #>
<# Make sure the combination of name and channel is correct. #>
<# See "chrupd.cmd -h" or README.md for more options and details. #>
<# ------------------------------------------------------------------------- #>
$cfg = @{
name = "Ungoogled-Marmaduke"; <# Name of Chromium release (fka "editor") #>
channel = "stable"; <# dev, stable #>
arch = "64bit"; <# Architecture: 32bit or 64bit (default) #>
log = $true <# enable or disable logging <$true|$false> #>
cAutoUp = $true <# auto update this script <$true|$false> #>
sysLvl = $true <# system-level install, install for all users on machine <$true|$false> #>
force = $true <# always (re)install, even if latest version is installed <$true|$false> #>
linkArgs = "--incognito"; <# (archives) sets Chromion shortcut to chrome.exe <arguments> #>
};
<# END OF CONFIGURATION ---------------------------------------------------- #>
Hello,
right now only the Marmaduke build of Ungoogled Chromium is supported.
Would it be possible to also add the official eloston build with a new editor string?
https://github.com/ungoogled-software/ungoogled-chromium
It is more feature complete (supports more flags), would be great to choose the build
Pre-compiled builds can be found here: https://github.com/ungoogled-software/ungoogled-chromium-windows
When using the -crTask
parameter with a value like Ungoogled
for the editor
, the resulting scheduled task has set the editor
to the value Marmaduke
afterwards (and the wrong browser variant being installed!). This is apparently a bug.
I again refer to issue #13 here: the continued use of the term "editor" with different meanings (for both an editor as person and a name = browser variant) is not only confusing to users, but also introduces bugs in the script.
One person ("editor") can have multiple "releases" – so specifying a release
(or name
or browser
?) parameter instead of an editor
parameter to specify the desired browser variant would be more logical (in my opinion).
Thanks for the script! Would it be possible for you to add an option to run the Chromium installer with --system-level argument so that the browser gets installed under Program Files folder instead of current user profile?
How do I install the archive file?
chrupd.cmd ???
is there thorium-legacy and Supermium support for Windows 7 in chrupd.cmd?
Hello,
I'm not sure how to correctly use chrupd
in combination with the -crTask
parameter:
Adding the parameter to the command line apparently results in only the update task being created, but not the installation itself taking place?
This is not clearly mentioned in the readme, and the help output with the optional parameter (showing a [-crTask]
part) seems to imply that the installation always takes place and the update task creation is just an optional addition.
If the parameter only creates the task itself, are the other parameters still needed for the task to "know" which update check needs to take place? Or does it look at a possible existing installation and updates this variant?
If the answer to the question from item 2. above (are further parameters required?) is "no", why does the script not complain about the then unnecessary (and possibly ignored) additional parameters?
And vice versa: if the answer is "yes", the question is why does the script not complain about missing parameters and also runs with a standalone chrupd -crTask
call? Does an existing chromium installation get overwritten with the default (Hibbiki stable) in this case?
Thanks for clarifying the use of the -crTask
parameter in both the readme and also the script output (=help)!
Hi,
when Chromium gets updated via chrupd, a new folder is created at following path. When a shortcut of "chrome.exe" is made from one folder, the update won't be used since you run an old installation. Since my shortcut of chrome.exe runs with some flags, I'm forced to create a new shortcut and add my flag variables.
After two updates occured, following folders were created:
It would be great if only one folder could be used at all. No problems with a shortcut of chrome.exe and less wasted disk space for each update. I see following possibility:
Looks like RSS feed structure has changed, script failing with the message below:
OS Detected: "Windows 10" (10.0, Workstation)
Task Scheduler Mode: 1, Normal
Logging to: "C:\chrupd\chrupd.log"
Currently installed Chromium version: "83.0.4103.61"
Using the folowing settings:
Checking: "chromium.woolyss.com", Editor: "Hibbiki", Architecture: "64-bit", Channel: "stable"
ERROR: No valid hash for installer/archive file found, exiting...
Just a heads up since Nik's stable 64-bit nosync builds are the default ones.
https://chromium.woolyss.com/?all=1#comment-3577
https://chromium.woolyss.com/?all=1#comment-3649
@mkorthof
Hi Marius
Thanks for your changes to fix this one.
I still have the same issue after your changes. Every time i execute the script it will download chromium as it was not installed.
Output on Windows 11:
C:\Scripts>chrupd.cmd -sysLvl
Simple Chromium Updater ( chrupd.cmd 20230623 )
OS Detected: "Windows 10" (10.0, Workstation)
Task Scheduler Mode: Normal "1"
Logging to: "C:\Scripts\chrupd.log"
Could not find Chromium, initial installation will be done by the downloaded installer...
Using the following settings:
Source "chromium.woolyss.com" name "Hibbiki" architecture "64-bit" channel "stable"
New Chromium version "114.0.5735.199" from 2023-06-27 is available (5 days ago)
Downloading "https://github.com/Hibbiki/chromium-win64/releases/download/v114.0.5735.199-r1135570/mini_installer.sync.exe"
Saving as: "C:\Users\tom\AppData\Local\Temp\mini_installer.sync.exe"
SHA1 hash matches "608156c00fbc197b75761e95308778e62e1d466d"
Executing "mini_installer.sync.exe"
[OK] Done.
New Chromium version will be used on next app (re)start.
Output on Windows Server 2022:
c:\Scripts>chrupd.cmd -sysLvl
Simple Chromium Updater ( chrupd.cmd 20230623 )
OS Detected: "Windows Server 2016" (10.0, Server)
Task Scheduler Mode: Normal "1"
Logging to: "c:\Scripts\chrupd.log"
Could not find Chromium, initial installation will be done by the downloaded installer...
Using the following settings:
Source "chromium.woolyss.com" name "Hibbiki" architecture "64-bit" channel "stable"
New Chromium version "114.0.5735.199" from 2023-06-27 is available (5 days ago)
Downloading "https://github.com/Hibbiki/chromium-win64/releases/download/v114.0.5735.199-r1135570/mini_installer.sync.exe"
Saving as: "C:\Users\ADMINI~1.THU\AppData\Local\Temp\mini_installer.sync.exe"
SHA1 hash matches "608156c00fbc197b75761e95308778e62e1d466d"
Executing "mini_installer.sync.exe"
[OK] Done.
New Chromium version will be used on next app (re)start.
A few facts:
After the installation of mini-installer.exe --system-level, there is...
A few outputs below.
C:\Users\tom\AppData\Local\Chromium>dir
Datenträger in Laufwerk C: ist Win11
Volumeseriennummer: 3848-A043
Verzeichnis von C:\Users\tom\AppData\Local\Chromium
22.06.2023 20:45 <DIR> .
01.07.2023 17:05 <DIR> ..
02.07.2023 11:26 <DIR> User Data
C:\Program Files\Chromium\Application>dir
Datenträger in Laufwerk C: ist Win11
Volumeseriennummer: 3848-A043
Verzeichnis von C:\Program Files\Chromium\Application
02.07.2023 11:24 <DIR> .
02.07.2023 11:24 <DIR> ..
02.07.2023 11:23 <DIR> 114.0.5735.199
27.06.2023 04:40 3’041’280 chrome.exe
02.07.2023 11:24 413 chrome.VisualElementsManifest.xml
27.06.2023 04:40 1’144’320 chrome_proxy.exe
02.07.2023 11:25 <DIR> SetupMetrics
Hi, some Chromium builds come in avx and avx2 builds. For example my PC doesn't support avx2 and I am using the RobRich999 builds, so I'm trying to find a way to install the win64-avx build via chrupd. I can't seem to get it to pull that branch instead of win64-avx2. Thank you!
Originally posted by @user340q in #29 (comment)
This is starting to get on my tits, you use the word Simple in your script title, but is it...no...
Im running the latest PowerShell - actually updated it from trying to troubleshoot this
Log follows, please fix ....
New-ScheduledTaskAction : The term 'New-ScheduledTaskAction' is not recognized
as the name of a cmdlet, function, script file, or operable program. Check the
spelling of the name, or if a path was included, verify that the path is
correct and try again.
At line:152 char:13
$action = New-ScheduledTaskAction -Execute $vbsWrapper -Argum ...
~~~~~~~~~~~~~~~~~~~~~~~
New-ScheduledTaskTrigger : The term 'New-ScheduledTaskTrigger' is not
recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify
that the path is correct and try again.
At line:154 char:13
$trigger = New-ScheduledTaskTrigger -RandomDelay (New-TimeSpan -H ...
~~~~~~~~~~~~~~~~~~~~~~~~
& : The term 'Get-ScheduledTask' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:155 char:13
If (-Not (&Get-ScheduledTask -ErrorAction SilentlyContinue -TaskN ...
~~~~~~~~~~~~~~~~~
Get-ScheduledTask : The term 'Get-ScheduledTask' is not recognized as the name
of a cmdlet, function, script file, or operable program. Check the spelling of
the name, or if a path was included, verify that the path is correct and try
again.
At line:161 char:11
$task = (Get-ScheduledTask -TaskName "$scriptName")
~~~~~~~~~~~~~~~~~
Task: ""
Description: "", State: .
Logging to: "C:\chrupd-master\chrupd.log"
Currently installed version: "68.0.3440.106"
Using the folowing settings:
Checking: "chromium.woolyss.com", Editor: "Nik", Channel: "stable"
[OK] Latest Chromium version already installed
The script and its documentation in several places refer to -tsMode as "taskMode", including stating that "-[taskMode|...]" is valid command-line input.
The header comments in the script incorrectly state that the default build is "Marmaduke" when it is actually "Hibbiki".
And there's a typo of "4able" for "available"; even if that were meant to be some kind of "i18n"-style geekism, "avail" is 5 letters, not 4.
The script looks for -h and /h for help, but should also detect -? and /?, and probably also -help, /help, and --help, to account for the various ways people try to get help out of command-line utilities.
Also, the docs are not clear about what the installation directory will be. While most installations are in "%LocalAppData\Chromium\Application", in a version-numbered subdirectory, and this matches the behavior of most of the installers, it does not match the behavior of the choco installer, which by default uses "C:\Programs (x86)\Chromium", I think. Pending some big update in response to the other ticket (about installation directory control), it would be good if the MD file, and maybe even the summary in the script-top comment, and the -h output, made it clear where it is going to save things.
I ran this command:
.\chrupd.cmd -editor Ungoogled -channel stable -arch 64bit
I got this output:
Simple Chromium Updater ( chrupd.cmd 20210109 )
OS Detected: "Windows 10" (10.0, Workstation)
Task Scheduler Mode: 1 "Normal"
Logging to: "C:\Users...\Downloads\chrupd-master\chrupd-master\chrupd.log"
WARNING: Could not find Chromium, initial installation will be done by the downloaded installer...
Using the following settings:
Feed "chromium.woolyss.com" name "Ungoogled" editor "Marmaduke" architecture "64-bit" channel "stable"New Chromium version "87.0.4280.141" from 2021-01-14 is available (6 days ago)
Downloading "https://github.com/macchrome/winchrome/releases/download/v87.0.4280.141-r812852-Win64/ungoogled-chromium-87.0.4280.141-1_Win64.7z"
Saving as: "C:\Users...\AppData\Local\Temp\ungoogled-chromium-"
Then it quit. Ungoogled Chromium is not installed.
Thanks for your help!
Hello,
I discovered chrupd
today, but immediately stumbled upon several inconsistencies. Maybe these could be fixed both within the script itself and also on the Github pages resp. the help.
The main problem seems to come from the inconsistent use of the term "editor". Sometimes it refers to the person which provides a chromium build (better term: "author"?) and sometimes to one of the various Chromium variants itself.
I guess that comes from the later added support for the ungoogled-chromium browser, but it now results in several contradicting outputs:
chrupd -list
shows two rows with editor "Marmaduke", one with the name "Marmaduke" and another one with the name "Ungoogled".
What the script actually needs to work (and also shows in the help) is the name, not the editor as person:
Marmaduke
for the regular chromium browser from MarmadukeUngoogled
for the ungoogled-chromium browser from Marmaduke.So wherever the readme or the script refer to an "editor" (which is also the parameter name!), it means name (=browser variant), not editor (as person).
Either way, the editor Marmaduke-Ungoogled
as listed in the readme is completely wrong, as it mixes both editor (as person) and name (as browser variant) into one combined word, which itself isn't a valid value for the editor
parameter…
Thanks a lot for clarifying and cleaning up these terminologies!
My suggestion would be to cleanly distinguish between author
(person who provides a build) and browser
(today's "name" = chromium variant provided) and get rid of that editor
term completely, also as parameter name.
I had an older version of chrupd but deleted the task from scheduler, removed all older files, put the new version in the original directory and ran -crTask
again.
Parameters that were added to the scheduled task:
C:\chrupd\chrupd.vbs -scheduler -editor Hibbiki -arch 64-bit -channel stable -cAutoUp
-cAutoUp
seems to be an invalid parameter and fails to start the update process. After removing this parameter the update process worked again.
Also, I checked the .vbs file that was created. The path was C:\chrupdchrupd.vbs
which should have been C:\\chrupd\\chrupd.vbs
Current version: 20210122
The RSS feed format has changed again, so script failing do parse it.
OS Detected: "Windows 10" (10.0, Workstation)
Task Scheduler Mode: 1, Normal
Logging to: "C:\chrupd\chrupd.log"
Currently installed Chromium version: "87.0.4280.66"
Using the folowing settings:
Checking: "chromium.woolyss.com", Editor: "Hibbiki", Architecture: "64-bit", Channel: "stable"
ERROR: No valid hash for installer/archive file found, exiting...
Issue
Installing Ungoogled Chromium behaves different from other editor versions. Ungoogled is extracted on the desktop, which results in a folder on the desktop for each update.
Following command was used
".\chrupd.cmd -editor Ungoogled -arch 64bit -channel stable"
Recommended solution
Install following release instead of the archived 7z:
https://github.com/macchrome/winchrome/releases/download/v92.0.4515.107-r885287-Win64/92.0.4515.107_ungoogled_mini_installer.exe
Behavior should be identical to Marmaduke then
Hello,
This issue seems to be related to issue #13 I created before.
When using the -appDir
parameter to install the browser into the %AppData%
directory (i.e., the respective subfolder), the script has problems as editor
is used with both meanings "author" (person who provides a browser build) and "name" (browser variant to be used).
I tried to install the ungoogled-chromium variant, by calling the script as follows:
chrupd.cmd -appDir -editor Ungoogled -arch 64bit -channel stable
This results in the following output:
[...]
ERROR: Shortcut target "C:\Users\<Username>\Desktop\Marmaduke\chrome.exe" does not exist
ERROR: Could not create shortcut on Desktop
[OK] Done. New Chromium version extracted to "C:\Users\<Username>\Desktop\Marmaduke".
So the editor "Marmaduke" (person) is used here, where probably the term "Ungoogled" (name) should've been used instead (to avoid confusion).
But:
The installation should have happened to %AppData%
, not the desktop?
The actual installation was done to a folder on the desktop called ungoogled-chromium-<version>
, not "Marmaduke", as the script output implies.
So apparently neither the "editor" (as person, i.e. "Marmaduke") nor the "name" (as variant, i.e. just "Ungoogled") interpretation were considered completely correct. Is this intended?
The help suggests otherwise… It mentions a parameter $editor
which clearly should've resulted in one of the both interpretations above.
And of course the browser should've landed in the %AppData%
folder, not on the desktop.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.