Chromium Installer – Download Latest Nightly-Build Snapshot

figured it out.

1.
get latest revision number from this url: http://commondatastorage.googleapis.com/chromium-browser-continuous/Win/LAST_CHANGE

2.
concat it to this url, to get into the FTP of this (meaning the latest) revision
http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/put revision number here/

I’ve made a small VB6 program that uses Win32 API to download the latest revision number and send it to the STDOUT,
and a CMD (batch file) that reads it and use wGet to download the execute.

wget has custom settings like using reffer url, cookie, user-agent, avoiding cache, re-write the mime-type, longer keep-alive, tring few times, downloading backup in case of an error- can re download from the same point,
all like the execute was downloaded from a browser.

::  browse
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  https://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  https://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/144914/
::  for more information.

@echo off
::static information init.
set sUserAgent="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)"
set sUrl_Protocol=https
set sUrl_Base=commondatastorage.googleapis.com/chromium-browser-continuous/Win
set sUrl_FileName=mini_installer.exe



setlocal enableextensions
    :: sVersionNumber init.
    set sVersionNumber=""
    set sUrl_Version=http://commondatastorage.googleapis.com/chromium-browser-continuous/Win/LAST_CHANGE
    for /f "tokens=*" %%a in ('.\res\getRemoteFileTextContent.exe %sUrl_Version%') do (set sVersionNumber=%%a)
    
    ::dynamic information init.
    set sReferrer="http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/%sVersionNumber%/"
    set sCookie="http://o-o.preferred.fra07t11.v8.cache8.c.bigcache.googleapis.com/chromium-browser-continuous/Win/%sVersionNumber%/mini_installer.exe?ms=tsu&mt=1340990464&cms_redirect=yes&redirect_counter=2"

    ::download execute
    wget "%sUrl_Protocol%://%sUrl_Base%/%sVersionNumber%/%sUrl_FileName%"                                                   ^
                                                                            --no-check-certificate                          ^
                                                                            --wait=2                                        ^
                                                                            --referer=%sReferrer%                           ^
                                                                            --timestamping                                  ^
                                                                            --debug                                         ^
                                                                            --continue                                      ^
                                                                            --no-cache                                      ^
                                                                            --no-cookies                                    ^
                                                                            --no-dns-cache                                  ^
                                                                            --server-response                               ^
                                                                            --auth-no-challenge                             ^
                                                                            --directory-prefix=.                            ^
                                                                            --header="Accept: application/octet-stream"     ^
                                                                            --header="Accept: application/x-msdos-program"  ^
                                                                            --header="Keep-Alive: 300"                      ^

endlocal

pause

to use the script you’ll need the small Execute or any other way of downloading and reading the content of the latest revision number (you can use “curl” compiled for windows, or something…)

and wGet (compiled for win32) placed in the same folder as the script or in the PATH.
download it here:
getRemoteFileTextContent.rar

p.s.

you can have all the new command-line switches for the newest latest version of chromium put in a text file and viewed by notepad++.
use the following CMD (batch) script:

@echo off
rem   set command-line arguments.
set sURL1=http://src.chromium.org/svn/trunk/src/chrome/common/chrome_switches.cc
set sURL2=http://src.chromium.org/svn/trunk/src/base/base_switches.cc
set sUserAgent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 GTBDFff GTB7.0 (.NET CLR 3.5.30729)"

set sFile=switches.cc

rem   remove old files.
if exist %sFile%   del /f /q %sFile%   >nul

rem   download.
wget --directory-prefix=. --user-agent=%sUserAgent% --output-document=%sFile% %sURL1% %sURL2%
rem ren %sFile% %sFile%_

start "D:\Software\Notepad++\Notepad++.exe" "%CD%\%sFile%"

you will need to modify the full url to Notepad++, or put its path in your PATH variable and just use “Notepad++.exe”, you will also need a wget compiled for win32 platform (or x64) just google it.

____—-____—-
March 2014: here is a working update:
it uses wGet, but you can also throw the link into any parallel download manager to speed things up a little, it uses a session cookie to fool the web-server a little bit..

::  browse
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  https://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/
::  https://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/144914/
::  for more information.


::static information init.
set sUserAgent="Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; WOW64; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E)"
set sUrl_Protocol=https
set sUrl_Base=commondatastorage.googleapis.com/chromium-browser-continuous/Win
set sUrl_FileName=mini_installer.exe
set sOrbitDownloaderExeFullPath=C:\Program Files (x86)\Orbitdownloader\orbitdm.exe


setlocal enableextensions
    :: sVersionNumber init.
    set sVersionNumber=""
    set sUrl_Version=http://commondatastorage.googleapis.com/chromium-browser-continuous/Win/LAST_CHANGE
    for /f "tokens=*" %%a in ('.\res\getRemoteFileTextContent.exe %sUrl_Version%') do (set sVersionNumber=%%a)
    
    ::dynamic information init.
    set sReferrer="http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/%sVersionNumber%/"
    set sCookie="http://o-o.preferred.fra07t11.v8.cache8.c.bigcache.googleapis.com/chromium-browser-continuous/Win/%sVersionNumber%/mini_installer.exe?ms=tsu&mt=1340990464&cms_redirect=yes&redirect_counter=2"

    set sURL=%sUrl_Protocol%://%sUrl_Base%/%sVersionNumber%/%sUrl_FileName%



    ::option #1.
    ::-------------------------------------------
    wget --no-check-certificate                          ^
         --wait=2                                        ^
         --referer=%sReferrer%                           ^
         --timestamping                                  ^
         --debug                                         ^
         --continue                                      ^
         --no-cache                                      ^
         --no-cookies                                    ^
         --no-dns-cache                                  ^
         --server-response                               ^
         --auth-no-challenge                             ^
         --directory-prefix=.                            ^
         --header="Accept: application/octet-stream"     ^
         --header="Accept: application/x-msdos-program"  ^
         --header="Keep-Alive: 300"                      ^
         "%sURL%"
    
    ::option #2.
    ::-------------------------------------------
    ::call "%sOrbitDownloaderExeFullPath%" "%sURL%"
    
endlocal

Closure Compiler by Google

Closure Products Logo (including Closure Compiler) Google Code Lab Logo

Google’s Closure Compiler Service is basically a tool for making JavaScript download and run faster. It is a true compiler for JavaScript. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what’s left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.

tools that are recommended to be used along with it are:
Closure Inspector Add-On for firefox.
Firebug JavaScript debugger.

there are two ways using the Closure Compiler through command-line, and the online service,

first one, is by using the recent build, that can be download from this URL: http://closure-compiler.googlecode.com/files/compiler-latest.zip.
to use the advance attribute of the compiler you might want to use the following command:

 
java -jar compiler.jar --compilation_level ADVANCED_OPTIMIZATIONS --warning_level VERBOSE  --js 1.js --js_output_file 2.js

rem where 1.js is the original javascript file.
rem and 2.js is the name for the output file.

second way is using the online service at http://closure-compiler.appspot.com/home
closure-compiler screen example by Elad Karako

Once the compiler has been rendered a fixed, more compact code (but not exactly readable), you can use it as it is (highly compressed), or another good option is to run it through the Javascript unpacker and beautifier by Einar Lielmanis, to make it more readable, or, “human-friendly”.

VB6 API For CoInitializeEx and CoUninitialize of ole32.dll

Option Explicit
'Satisfying API For CoInitializeEx and CoUninitialize of ole32.dll
'Explained and MSDN referenced.
' Elad Karako

Private Enum COINIT_HRESULT
    S_OK = &H0&  'The COM library was initialized successfully on this thread.
    S_FALSE = &H1& 'The COM library is already initialized on this thread.
    RPC_E_CHANGED_MODE = &H80010106   'A previous call to CoInitializeEx specified the concurrency model for this thread as multithread apartment (MTA). This could also indicate that a change from neutral-threaded apartment to single-threaded apartment has occurred.
    E_INVALIDARG = &H80070057 'One or more arguments are invalid.
    E_OUTOFMEMORY = &H80000002 'Ran out of memory.
    E_UNEXPECTED = &H80041316 'The task XML contains an unexpected node.
End Enum

'COINIT Enumeration
'Determines the concurrency model used for incoming calls to objects created by this thread. This concurrency model can be either apartment-threaded or multi-threaded.
'see http://msdn.microsoft.com/en-us/library/ms678505(v=VS.85).aspx
'
'YOU SHOULD ONLY USE COINIT_APARTMENTTHREADED or COINIT_MULTITHREADED.
Private Enum COINIT
  COINIT_APARTMENTTHREADED = &H2 'Initializes the thread for apartment-threaded object concurrency.
  COINIT_MULTITHREADED = &H0 'Initializes the thread for multi-threaded object concurrency.
  COINIT_DISABLE_OLE1DDE = &H4 'Disables DDE for OLE1 support.
  COINIT_SPEED_OVER_MEMORY = &H8 'Trade memory for speed.
End Enum

'CoInitializeEx Function
'Initializes the COM library for use by the calling thread, sets the thread's concurrency model, and creates a new apartment for the thread if one is required.
'see http://msdn.microsoft.com/en-us/library/ms695279(v=VS.85).aspx
Private Declare Function CoInitializeEx Lib "ole32.dll" ( _
    ByVal pvReserved As Long, _
    ByVal dwCoInit As Long) As COINIT_HRESULT

'CoUninitialize Function
'Closes the COM library on the current thread, unloads all DLLs loaded by the thread, frees any other resources that the thread maintains, and forces all RPC connections on the thread to close.
'see http://msdn.microsoft.com/en-us/library/ms688715(v=VS.85).aspx
Private Declare Function CoUninitialize Lib "ole32.dll" ()


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''


'CoInitializeEx Function
'Initializes the COM library for use by the calling thread, sets the thread's concurrency model, and creates a new apartment for the thread if one is required.
'see http://msdn.microsoft.com/en-us/library/ms695279(v=VS.85).aspx
Public Sub do_CoInitializeEx(Optional c As COINIT = COINIT_APARTMENTTHREADED, Optional bDebugResult As Boolean = False)
    Dim coihr As COINIT_HRESULT
    coihr = CoInitializeEx(ByVal 0&, c)
    If (bDebugResult) Then MsgBox toString(coihr)
    DoEvents
End Sub

'CoUninitialize Function
'Closes the COM library on the current thread, unloads all DLLs loaded by the thread, frees any other resources that the thread maintains, and forces all RPC connections on the thread to close.
'see http://msdn.microsoft.com/en-us/library/ms688715(v=VS.85).aspx
Public Sub do_CoUninitialize()
    CoUninitialize
    DoEvents
End Sub

'ment for debuging the result of CoInitializeEx Function,
'strings are from WinError.h and MSDN
Private Function toString(ByVal coihr As COINIT_HRESULT) As String
    If (coihr = HRESULT.S_OK) Then
        HRESULT_toString = "S_OK: The COM library was initialized successfully on this thread."
    ElseIf (coihr = HRESULT.S_FALSE) Then
        HRESULT_toString = "S_FALSE: The COM library is already initialized on this thread."
    ElseIf (coihr = HRESULT.RPC_E_CHANGED_MODE) Then
        HRESULT_toString = "RPC_E_CHANGED_MODE: A previous call to CoInitializeEx specified the concurrency model for this thread as multithread apartment (MTA). This could also indicate that a change from neutral-threaded apartment to single-threaded apartment has occurred."
    ElseIf (coihr = HRESULT.E_INVALIDARG) Then
        HRESULT_toString = "E_INVALIDARG: One or more arguments are invalid."
    ElseIf (coihr = HRESULT.E_OUTOFMEMORY) Then
        HRESULT_toString = "E_OUTOFMEMORY: Ran out of memory."
    ElseIf (coihr = HRESULT.E_UNEXPECTED) Then
        HRESULT_toString = "E_UNEXPECTED: The task XML contains an unexpected node."
    Else
        HRESULT_toString = CStr(coihr) & "(?) Unknown."
    End If
End Function