Welcome to the Secure Browser 7 Project
The SmarterApp Secure Browser 7 project builds upon the Mozilla Firefox source code and creates a secure browser that is used to deliver student assessments. The Secure Browser implements security features such as not permitting multiple tabs, browsing arbitrary URLs and enforcing a white list of applications.
This project is licensed under the Mozilla open source license v.2.0.
We would be happy to receive feedback on its capabilities, problems, or future enhancements:
- For general questions or discussions, please use the Forum.
- Feel free to Fork this project and develop your changes!
The Secure Browser can be built for three platforms: Windows, Mac OS X, and Linux (although the Linux version of 7.0 is not available; see SB6.5 for details). Each build follows a similar process, as described below. From a high-level perspective, building a custom secure browser involves:
- Cloning the Mozilla Firefox source
- Cloning this SecureBrowser project
- Applying a few customizations such as the target URL
- Running the automated build script
Please follow the below procedure step by step and make sure to install the required software before you start the actual process in order to run the build successfully without any problem.
- If you are on Windows 7, download and install WINDOWS7 SDK.
- Download and install Mozilla Build package version 1.11.0. Mozilla Build package will have additional Build tools. Once the Mozilla Build package is installed, you will have a Mozilla-Build directory under your
- Download and install MakeMSI Version 12.206.
- Download and Install June 2010 DirectX Version 9.29.1962.
- Download Windows Driver Kit Version 7.1.0 and extract ISO file under C directory. Follow the install instructions in install.htm file.
- Note: While running key setup file, please make sure to check the required options.
- Download and install Visual studio C++ 2010 express edition.
- Note: This build does not support Visual studio 2013 version.
- Download and install Microsoft Visual Studio 2010 service pack1.
- Download and install Python 2.7.5 Version
- For Windows 64 Bit version system, download Windows X86-64 MSI Installer (2.7.5)  (sig)
- For Windows 32 Bit version system, download Windows x86 MSI Installer (2.7.5) (sig)
- Delete all the files under
C:/mozilla-build/Python/, and copy all the files from
All commands should be executed in the batch file named as start-shell-msvc2010, which is located under
C:/mozilla-build/. Even though if you are using 64 Bit version, use start-shell-msvc2010.bat file.
- Clone this securebrowser7 repository to your local workspace under home directory by running the following command,
hg clone https://bitbucket.org/sbacoss/securebrowser7_release.
- Clone the Mozilla directory under
C:/Users/Administrator/securebrowser7_release/env/by running the following command,
hg clone -v –-debug -r FIREFOX_29_0_1_RELEASE http://hg.mozilla.org/releases/mozilla-release/ Mozilla. It will take around 25-35 minutes.
- Generate one new v4 GUID from https://www.uuidgenerator.net/version4 and place it into
C:/Users/Administrator/securebrowser7_release/src/branding/SBACSecureBrowser/uuid.txt(only for a single custom build, not for every version. Don't forget to verify that all letters in UUID must be capital)
- Obtain the URL of the TDS Student home page for the browser. Encode the home page URL using Base 64 Encode method and replace at
//SBAC PRODUCTION URLin
- For Example: pref("bmakiosk.startup.homepage", "oiqoesqnkhHM6Ly9sb2dpbutgyutiwioiqduovdWQxLnRkcy5haXJhc3Qub3JnL3N0dWRlbnQvPiuoijxn0JBQw=="). Do not change anything in bmakiosk.startup.homepage.
start-shell-msvc2010file in SB7.0 repo. It has paths referenced to ATL files.
- Create a file called .profile using a text editor of your choice in your home directory (Ex: C:/Users/Administrator/)
Add the following path and alias variables to a
.profilefile. PATH=/c/Program\ Files\ (x86)/MakeMsi/:/c/mozilla-build/mozmake:$PATH alias 'make=mozmake' Source the file by running following command,
- By default, Mozilla-build installs under "C" directory. Run the file
start-shell-msvc2010.batunder Mozilla-build, this will launch an MSYS / BASH command prompt.
- Go to the env directory located in cloned securebrowser7 repository and run
./automate.sh. Within few seconds if you encounter any error, try running it again. This process will take more than 2 and half hours to build the browser.
- Once build is successful run the following command under
env/opt-oaks-i686-pc-mingw32 /kiosk directoryto create a secure browser file called
- After running Mozmake msi successfully, it will generate a executable msi file under
C:\Users\Administrator\securebrowser7_release\env\opt-oaks-i686-pc-mingw32\dist\msi\out\kiosk.mm\MSI\. Install the
SBACSecureBrowser7.0-MSI.msi. You’ll get secure browser 7.
Mac OS X
NOTE: These instructions have been verified to work with Mac OS X 10.8 and XCode 5.0.4. There is a known incompatibility between Firefox 29 and the version of clang used in Xcode versions compatible with OS X 10.9 and above.
- Download and install XCode that is compatible to your mac version from URL: Apple (For this you need an Apple ID). It may take an hour or so.
- Download and install Command Line Tools as well from same URL: Apple.
- Move XCode to applications using command
sudo xcode-select -switch /Applications/Xcode.app.
- Install all the build prerequisites for OS X by running following command in terminal:
curl https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py > bootstrap.py && python bootstrap.py(Note: Your account will need administrator permission to succeed; you can verify that you have this permission in System Preferences -> Users & Groups)
- During execution of above command it will ask you to choose the version of Firefox (Desktop or Android�); choose Desktop. It will also ask you to choose a package manager (Homebrew or MACPorts); Choose Homebrew.
(Note: After executing this command, if it asks you to create a file called
~/.bash_profile, create it and add the string
export PATH=/usr/local/bin:$PATHinto it).
- Install required dependencies using command
brew install yasm mercurial gawk ccache python.
- Install autoconf213 using command
brew install https://raw.github.com/Homebrew/homebrew-versions/master/autoconf213.rb.
- Get the Mozilla Source Code using following command:
hg clone https://hg.mozilla.org/mozilla-central/ mozilla-central.
- Clone the Secure Browser 7 to a directory at the same level as mozilla-central:
hg clone https://bitbucket.org/sbacoss/securebrowser7_release.
- Clone Mozilla Firefox 29 to a directory at same level as secure browser7:
hg clone -r FIREFOX_29_0_1_RELEASE http://hg.mozilla.org/releases/mozilla-release/ Mozilla.
- Create a file called .mozconfig under mozilla-central directory and add following content to it:
(1) Define where build files should go. This places them in the directory
obj-ff-dbgunder the current source directory:
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-ff-dbg. (2) use
-smakes builds quieter by default. (3) use
-j4allows 4 tasks to run in parallel. Set the number equal to the number of cores in your machine, for example 4:
mk_add_options MOZ_MAKE_FLAGS="-s -j4. (4) Enable debug builds:
- Check the SDK version (Path:
Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs) and add that version and its path to .mozconfig file.
- Also add autoconf213 installation path
- Update the Mac SDK version in the following file at line 97:
- Run the following command twice to ensure mercurial is up to date:
- Generate a v4 GUID UUID generator and place into
securebrowser7_release/src/branding/SBACSecureBrowser/uuid.txt(Note: Only for a single custom build, not for every version. Don't forget to verify that all letters in UUID are capital).
- Obtain the URL of the TDS Student home page for the browser.
- Go into the
securebrowser7_release/env directoryand run
./build_securebrowser.shusing this format
Usage: ./build_securebrowser.sh homepage-url [-b branding-info] homepage-url The URL which the secure browser will open when started. If none is provided, a default test URL will be used (not recommended). -b branding-info OPTIONAL: These parameters will be passed directly into the automate.sh script EX: `./build_securebrowser.sh https://google.com`
This process may take around 2 hours. Once the build is successful, it will generate a setup file (.dmg) in
securebrowser7_release/env/Release/. Go there and install SBACSecurebrowser7.0.dmg.
Please refer to Mozilla Foundation for additional information.
Not available for Secure Browser 7.0. Please refer to the secure browser 6.5 repository.