A simple Android webbrowser based on webview.

Related tags

App browser
Overview

FOSS Browser logo

"FOSS Browser" is a fully free (as in freedom) open source Android browser: privacy-friendly with a modern user interface. - Your privacy - your data.


Wiki | FAQs | Releases | Changelog | Privacy Policy | License | Code of conduct | Contributing | XDA | Help translating

Get it on F-Droid

Donate Crowdin


UI/Handling

FOSS Browser uses the latest Material You design libraries. Following system day/night mode and a wallpaper based theme are just two features of this new library. The UI is optimized for one-hand-use. All UI-elements are at the bottom of the screen.

More features:

  • Play audio on background.
  • Keep screen on.
  • Open links in background.
  • Restore tabs on restart.

Privacy

FOSS Browser uses profiles to protect your privacy. For each profile you can enable or disable: AdBlock, JavaScript, cookies, fingerprint protection and much more. Profiles can also be saved for domains ("github.com" ⇒ Trusted website). This saved domains always overwrite the current profile. So, for example, "github.com" will always open with the trusted profile, even if you are browsing in the protected mode.

More privacy features:

  • Build in AdBlock, which updates automatically. You can decide which content to block. AdBlock hosts are taken from Steven Black - AbBlock hosts.
  • Third-part-cookies can not be enabled.
  • Enable or disable Android-autofill.
  • Delete browser data (on app exit).
  • Choose between different search engines (or set a custom one).
  • FOSS Browser itself doesn't collect any data: Privacy policy

Bookmarks filter

Organize your bookmarks with filters. You can set custom names for each filter. Long press the bookmark icon in the toolbar to get fast access to your favorite bookmarks.


Gestures

You can assign nearly twenty different gestures to the toolbar and the toolbar buttons. Each in four directions. You can also trigger events by long pressing the toolbar buttons. So you have up to ten different gestures to control FOSS Browser. Supported is for example: load last website, switch tab, reload, open bookmarks, ... and many more.


Backups

Backup all your important data (bookmarks, history, trusted websites and so on) on your SD-card. You can also back up FOSS Browser settings. Backups can even be restored on a fresh install or another device (if you copy the backup files to the new device).

Comments
  • Userscripts

    Userscripts

    Hey,

    I really like this project for its simplicity and was wondering if the idea of userscripts would be of interest. These would have full access to the DOM and load at the end of a page load. They can be used to switch off annoying popups, do dark modes for sites that don't have them, add or remove social buttons etc.

    At a glance, it looks possible on the basis of this SO post:

    https://stackoverflow.com/questions/2219074/in-android-webview-am-i-able-to-modify-a-webpages-dom

    Changing this to look for mysite.com.user.js would let me (eg) bypass GDPR blocks on that file. What I'm not sure of is how to sensibly get the script in place. I guess copy pasting would be one approach.

    Is this the kind of thing you'd want in FOSS Browser?

    opened by jmthackett 34
  • Unable to type URL

    Unable to type URL

    On the startup of the browser, the browser loads something. The x mark on the url bar represents that. I need to click the x button, then only i can type my URL address. Otherwise if I type anything it won't show in the bar.

    And also it won't show the saved home tabs until I click the x icon.

    bug 
    opened by jerryn70 25
  • Sometimes downloads are failing

    Sometimes downloads are failing

    Tried to download Nina Warnapp as zip. https://www.bbk.bund.de/DE/Warnung-Vorsorge/Warn-App-NINA/NINA-Download/nina-download_node.html

    The file has about 30MB but download stops after a few MB and tells download complete.

    No problem with Chrome or DuckDuckGo Android Browser. It worked on my Android 10 device but fails on Android 6.0.1 and Android 11. Clearing cache did not help.

    Other - also large - downloads usually work.

    Ideas?

    bug 
    opened by woheller69 22
  • Typed text on address bar not visible on Blackberry Keyone

    Typed text on address bar not visible on Blackberry Keyone

    When selecting text on the address bar, highlighted text not visible, title on it is static, no change, even when text is selected. I can enter text though, as I tried to long-press and select-all-text and replaced it with "google.com" and press enter, and it will send me to google. The title on the bar will then be changed into "googlemcom at duckduckgo"

    opened by ghost 21
  • Websites gets cleared after inactivity

    Websites gets cleared after inactivity

    If I open any website(s) and then leave them open, they're then closed when I open the web browser some time later. I don't have this issue work other clients.

    I'm running Android 11 on a Pixel 3a. Current version of Foss browser is 8.3 from F-Droid.

    opened by Hund 18
  • Bookmarks Deleted With Each Update

    Bookmarks Deleted With Each Update

    All bookmarks are deleted with each update of the app.

    Therefore, it is pointless to have bookmarks on this browser, as they will just be deleted as soon as the app is updated.

    A feature is not a feature at all when it is an annoyance.

    If I want to use this browser, the only sane thing to do is to not have any bookmarks stored on it at all.

    opened by puppykickr 18
  • Focus is not on web page after inputting URL or search term in address bar

    Focus is not on web page after inputting URL or search term in address bar

    Why/User Benefit/User Problem

    The web page area is not in focus after inputting a site URL or search term in the address bar and hitting enter. Immediately after this event, focus remains in the address bar (denoted by the blinking cursor) which is probably not expected behavior. In the case where I'm sending a page down key after going to a new address, the input gets consumed by the address bar as opposed to the web page area.

    What/Requirements

    After submitting a value in the address bar and hitting enter, the following should occur:

    1. Focus should be put on the web page area
    2. Address bar should immediately show page title which is the current behavior when the address bar is not in focus. Currently the address bar remains in focus and shows the URL until you tap out of it

    The behavior should be similar to switching tabs which has the page area immediately in focus after a tab change.

    opened by StOrmCatz 17
  • Bookmarks on startup

    Bookmarks on startup

    Since last major update v6, I cannot get any more my bookmarks on startup. I only get home, ie my search engine. I can't any way to get back my bookmarks. FYI, I didn't succeed in saving my bookmarks, I lost all of them.... Thank you for your development. Loïc

    opened by bernique 17
  • Crash with latest snapshot

    Crash with latest snapshot

    No idea where exactly it comes from... But it seems to have to do with CompleteAdapter and change of adapter without notifyDataSetChanged. Did you recently make any changes there?

    2021-11-11 16:44:21.624 12357-12357/? E/AndroidRuntime: FATAL EXCEPTION: main Process: de.baumann.browser, PID: 12357 java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. [in ListView(-1, class android.widget.DropDownListView) with Adapter(class de.baumann.browser.view.CompleteAdapter)] at android.widget.ListView.layoutChildren(ListView.java:1717) at android.widget.AbsListView.onLayout(AbsListView.java:2202) at android.view.View.layout(View.java:22466) at android.view.ViewGroup.layout(ViewGroup.java:6304) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:22466) at android.view.ViewGroup.layout(ViewGroup.java:6304) at android.widget.FrameLayout.layoutChildren(FrameLayout.java:332) at android.widget.FrameLayout.onLayout(FrameLayout.java:270) at android.view.View.layout(View.java:22466) at android.view.ViewGroup.layout(ViewGroup.java:6304) at android.view.ViewRootImpl.performLayout(ViewRootImpl.java:3157) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2614) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1745) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7768) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:967) at android.view.Choreographer.doCallbacks(Choreographer.java:791) at android.view.Choreographer.doFrame(Choreographer.java:726) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:952) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:214) at android.app.ActivityThread.main(ActivityThread.java:7356) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:491) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:940)

    opened by woheller69 16
  • Can we get back to chips with images instead of text?

    Can we get back to chips with images instead of text?

    192_168_2_154_2021-11-07_19-12-37

    I liked the small icons for adblock, fingerprint protection, etc which we had some months ago a lot more...

    Instead of the domain name, e.g "heise.de" we could show the Favicon

    What is the function of the crossed out shield at the bottom left?

    If I can help, let me know.

    opened by woheller69 15
  • Website crash

    Website crash

    FOSS Browser v8.2 Android 10.0

    Always crashes on the following link:

    https://www.costco.com/pc-laptops.html?screen-type=non-touchscreen&refine=||Screen_Type_attr-Non-touchscreen

    opened by oonet 15
  • Browser app does not seem to match domains on the 'Trusted websites' list.

    Browser app does not seem to match domains on the 'Trusted websites' list.

    Seeing this with version 9.5

    Browser app does not seem to match domains on the 'Trusted websites' list. This can be demonstrated if the app is configured to reject cookies for 'Standard websites' but accept cookies for 'Trusted websites'.

    To reproduce:

    (1) Tilt phone horizontally while on app home screen. (2) Tap the 3 vertical dots in bottom right corner of the app. Overlay with menu options will appear. (3) Tap the 3 vertical dots in bottom right corner of the menu options overlay. Menu options overlay will now display the "Setti..." option. (4) Tap the "Setti..." option to enter the 'Settings' screen. (5) Under 'Browser Settings" heading tap 'Privacy'. 'Privacy' settings screen will appear. (6) Scroll down to get to 'Edit profiles'. (7) Tap on 'Edit profiles'. Overlay with profile names will appear. (8) Tap on 'Standard'. Profile options for the 'Standard' profile will appear. (9) Scroll down to the 'Cookies' checkbox. (10) Uncheck the 'Cookies' checkbox. (11) Open a cookie checking website 'https://www.whatismybrowser.com/detect/are-cookies-enabled' with the app. Website will inform that cookies are not enabled. (12) Repeat steps (1) to (7) to return to the overlay with profile names.
    (13) Now tap on 'Trusted'. Profile options for the 'Trusted' profile will appear. (14) Scroll down to the 'Cookies' checkbox. (15) Check the 'Cookies' checkbox. (16) Repeat steps (1) to (5) to return the to 'Privacy' settings screen. (17) Tap 'Trusted websites'. 'Trusted websites' screen will appear. (18) Add the cookie testing site domain 'whatismybrowser.com' to the trusted websites list. (19) Repeat step (11) to see if cookies are now working for the cookie testing site as they should be. However, website will continue to inform that cookies are not enabled, despite the website being on the 'Trusted websites' list. This suggests that the app is not matching the cookie testing site as present on the 'Trusted websites' list. This is the nature of the bug reported in this bug report. (20) Repeat steps (1) to (9) to return to the 'Cookies' checkbox for the 'Standard' profile. (21) Now check the 'Cookies' checkbox. (22) Repeat step (11) to see if cookies are now working for the cookie test site. Website will now inform that indeed cookies are now enabled. This further confirms that the app did not match the cookie testing site as present on the 'Trusted websites' list, and demonstrates that the app is processing this 'Trusted' site as a regular 'Standard' site. This is the nature of the bug reported in this bug report.

    opened by maratbn 0
  • URL-Redirects are part of history

    URL-Redirects are part of history

    If you use the non-javascript version of duckduckgo or any other site that uses URL redirects one needs to press back in a very quick sequence, making it very difficult to return to the linking page

    Steps to reproduce the behaviour:

    Go to https://html.duckduckgo.com/html/?q=test Click on first link Press back/use guesture The page just reloads

    Expected behaviour One should return to https://html.duckduckgo.com/html/?q=test

    opened by Kita2345 0
  • Youtube videos in full screen mode cropped

    Youtube videos in full screen mode cropped

    As seen in this video the full screen mode in Youtube cropped the video making it unusable.

    Device: Fairphone 3+ Android version: 11 WebView: Up to date from PlayStore

    https://user-images.githubusercontent.com/5529410/205450523-a59b6183-f07b-4d10-b08d-90ba2c5548ef.mp4

    opened by heubergen 0
  • `[enhancement]` expand toolbar button area

    `[enhancement]` expand toolbar button area

    There's lot of unresponsive dead UI around the toolbar buttons, which often cause hit & miss on regular usage.

    Screenshot_20221201

    Expanding the clickable area margins would fix this simple issue.

    opened by asklow 0
  • [Bug] Cannot Clear Cache and Unregister Service Worker

    [Bug] Cannot Clear Cache and Unregister Service Worker

    Description

    Cannot clear cache and unregister service worker

    Environment

    • Device: [Huawei - SEA-AL10]
    • OS: [Android 10]
    • Version: 9.5

    To reproduce

    1. Go to https://mdn.github.io/pwa-examples/js13kpwa/
    2. Refresh
    3. Quit
    4. Open '"Settings"
    5. Click "Delete", then enable "Clear on device stored data" and "Clear Cookies".
    6. Click "DELETE"
    7. Restart browser
    8. Turn off mobile data and WiFi
    9. Go to https://mdn.github.io/pwa-examples/js13kpwa/
    10. See loaded page

    Expected behaviour

    Display 'Web page not available'

    opened by Allium-altaicum 0
Releases(v9.5)
Owner
Gaukler Faun
Gaukler Faun
FDPClient-EDITED - A free mixin-based injection hacked-client for Minecraft using Minecraft Forge based on LiquidBounce

FDPClient A free mixin-based injection hacked-client for Minecraft using Minecra

SuperSkidder 7 Aug 29, 2022
Simple Android web-view-based application. The primary purpose is to show the website in Kiosk mode.

Kiosk mode app Simple Android web-view-based application. The primary purpose is to show the website in Kiosk mode. By default, the app works in Scree

Mykola Kichatov 1 Oct 25, 2022
Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Simple Notes app demonstrates modern Android development with Hilt, Material Motion, Coroutines, Flow, Jetpack (Room, ViewModel) based on MVVM architecture.

Aravind Chowdary 2 Sep 3, 2022
PopularMovieApp - A simple project to Chiper challenge taken data from The Movie DB based on Kotlin MVVM clean architecture

A simple project to Chiper challenge taken data from The Movie DB based on Kotli

Jhonatan Alvarez Caicedo 0 Jan 4, 2022
Based on mirai, a fast simple bot for maimai DX

maimai-bot 一个基于 mirai 和 舞萌 DX 查分器 编写的 maimai DX QQ 机器人插件。

心水湛清 20 Dec 16, 2022
A simple, modern and coroutine based Kotlin Email API for clientside projects

Kotlinmailer is a Kotlin Mail API, using coroutines and providing DSLs. It may be used in a Ktor Backend for verification mails.

David Bieregger 4 Oct 5, 2022
A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture

PokedexApp Pokedex A simple Pokedex App getting API with Retrofit, maintaining data using LiveData, and Material Design based on MVVM architecture. Te

Steven Adriano 0 Apr 12, 2022
A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take based on the severity.

COVID-19 Response ?? A simple covid-19 response application to give users an idea of the severity of their covid-19 status and profer steps to take ba

Samson Achiaga 5 Oct 4, 2022
Simple-todo-app - Simple Memo App using SQLite

Judul Aplikasi Aplikasi Memo Sederhana menggunakan SQLite. Fitur Aplikasi Memo y

Ananda Muhamad Lukman 0 Jan 3, 2022
NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture.

NewsApp NewsApp is a an android project based on modern Android application tech-stacks and MVVM architecture. This project is for focusing especially

null 1 Jan 14, 2022
GitHub client for Android based on the abandoned official app

ForkHub ForkHub started off as a fork of the official Android app from GitHub, and has since seen lots of improvements. You can see a comprehensive li

Jon Ander Peñalba 2.8k Dec 28, 2022
DNS-based Host Blocker (and lightweight ad blocker) for Android

DNS-Based Host Blocking for Android This is a DNS-based host blocker for Android. In the default configuration, several widely-respected host files ar

Julian Andres Klode 1.9k Jan 8, 2023
Geoponics is an E-Commerce Android Based Application Designed for Farmers As Well As Normal Users to Buy and Sell Agricultural goods!

Geoponics : E-Commerce Application Geoponics is an E-Commerce Android Based Aplication Designed for Farmers As Well As Normal Users to Buy and Sell Ag

Prasad 3 Aug 31, 2021
Android Demo App for League of legends's Champions based on MVVM design pattern

?? LOL-Champs If this project is useful, please give it a star ⭐ A Android Sample App with champion information of the League of Legends(LOL) using An

JunBi Kim 69 Dec 19, 2022
🦄 Android Pokedex-AR using ARCore, Sceneform, Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData) based on MVVM architecture.

?? Android Pokedex-AR using ARCore, Sceneform, Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData) based on MVVM architecture.

Jaewoong Eum 535 Dec 9, 2022
A Frida based tool that traces usage of the JNI API in Android apps.

jnitrace A Frida based tool to trace use of the JNI API in Android apps. Native libraries contained within Android Apps often make use of the JNI API

null 1.1k Jan 7, 2023
Android Sensor Based App

Sensor-Team Sensor Based Mobile Applications Make sure you have the latest version of android studio There are no api keys that need to be generated n

Georg Vassilev 0 Oct 15, 2021
Android app that show the palette of material theme based on your wallpaper

Material-You-Palette Android app that show the palette of material theme based on your wallpaper Show color blocks and names in on color Few Samples W

Yogesh Choudhary Paliyal 7 Oct 5, 2022