Min
Min is a fast, minimal browser that protects your privacy. It includes an interface designed to minimize distractions, and features such as:
- Information from DuckDuckGo in the search bar.
- Full-text search for visited pages
- Ad and tracker blocking
- Automatic reader view
- Tasks (tab groups)
- Password manager integration
- Dark theme
Download Min from the releases page, or learn more on the website.
Min is made possible by these sponsors:
@ritterob | @blackgwe | @jonathanhuston | @JackGFuller | @flightmansam | @du64 |
Screenshots
Installing
You can find prebuilt binaries for Min here. Alternatively, skip to the section below for instructions on how to build Min directly from source.
Installation on Linux
- To install the .deb file, use
sudo dpkg -i /path/to/download
- To install the RPM build, use
sudo rpm -i /path/to/download --ignoreos
- On Arch Linux install from AUR.
- On Raspberry Pi, you can install Min from Pi-Apps.
Developing
If you want to develop Min:
- Install Node.
- Run
npm install
to install dependencies. - Start Min in development mode by running
npm run start
. - After you make changes, you can press
ctrl+r
(orcmd+r
on Mac) twice to restart the browser.
Building binaries
In order to build Min from source, follow the installation instructions above, then use one of the following commands to create binaries:
npm run buildWindows
npm run buildMacIntel
npm run buildMacArm
npm run buildDebian
npm run buildRaspi
(for 32-bit Raspberry Pi)npm run buildLinuxArm64
(for 64-bit Raspberry Pi or other ARM Linux)npm run buildRedhat
Depending on the platform you are building for, you may need to install additional dependencies:
- If you are using macOS and building a package for Linux, install Homebrew, then run
brew install fakeroot dpkg
first. - If you are using macOS or Linux and building a package for Windows, you will need to install Mono and Wine.
- If you are building a macOS package, you'll need to install Xcode and the associated command-line tools. You may also need to set your default SDK to macOS 11.0 or higher, which you can do by running
export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk
. The exact command will depend on where Xcode is installed and which SDK version you're using. - To build on Windows, you'll need to install Visual Studio. Once it's installed, you may also need to run
npm config set msvs_version 2019
(or the appropriate version).
Contributing to Min
Thanks for taking the time to contribute to Min!
Getting Help
If you're experiencing a bug or have a suggestion for how to improve Min, please open a new issue.
If you have questions about using Min, need help getting started with development, or want to talk about what we're working on, join our Discord server.
Contributing Code
- Start by following the development instructions listed above.
- The wiki has an overview of Min's architecture.
- Min uses the Standard code style; most editors have plugins available to auto-format your code.
- If you see something that's missing, or run into any problems, please open an issue!
Contributing Translations
Adding a new language
- Find the language code that goes with your language from this list (line 55 - 230).
- In the
localization/languages
directory, create a new file, and name it "[your language code].json". - Open your new file, and copy the contents of the localization/languages/en-US.json file into your new file.
- Change the "identifier" field in the new file to the language code from step 1.
- Inside the file, replace each English string in the right-hand column with the equivalent translation.
- (Optional) See your translations live by following the development instructions above. Min will display in the same language as your operating system, so make sure your computer is set to the same language that you're translating.
- That's it! Make a pull request with your changes.
Updating an existing language
- Find the language file for your language in the
localization/languages
directory. - Look through the file for any items that have a value of "null", or that have a comment saying "missing translation".
- For each of these items, look for the item with the same name in the
en-US.json
file. - Translate the value from the English file, replace "null" with your translation, and remove the "missing translation" comment.
- Make a pull request with the updated file.