{"id":16175717,"url":"https://github.com/osiris-team/jg-browser","last_synced_at":"2025-10-07T07:47:19.635Z","repository":{"id":110533249,"uuid":"439357087","full_name":"Osiris-Team/JG-Browser","owner":"Osiris-Team","description":"Java-Graal browser. A headless browser with latest JS support, completely written in Java.","archived":false,"fork":false,"pushed_at":"2022-08-10T18:31:23.000Z","size":25,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-02T12:31:00.877Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Osiris-Team.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-12-17T14:20:02.000Z","updated_at":"2025-02-05T20:22:13.000Z","dependencies_parsed_at":null,"dependency_job_id":"a6a19c7d-aa4e-478f-80ed-f2a6ae5762ae","html_url":"https://github.com/Osiris-Team/JG-Browser","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Osiris-Team/JG-Browser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osiris-Team%2FJG-Browser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osiris-Team%2FJG-Browser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osiris-Team%2FJG-Browser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osiris-Team%2FJG-Browser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Osiris-Team","download_url":"https://codeload.github.com/Osiris-Team/JG-Browser/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Osiris-Team%2FJG-Browser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278740817,"owners_count":26037480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-07T02:00:06.786Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-10T04:45:36.266Z","updated_at":"2025-10-07T07:47:19.617Z","avatar_url":"https://github.com/Osiris-Team.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# JG-Browser\nThe Java-Graal Browser, is a headless browser with latest JavaScript support, completely written in Java.\n\n```java\nJGBrowser browser = new JGBrowser();\ntry(JGWindow window = browser.openWindow()){\n    window.load(\"https://example.com\");\n   // ...   \n}\n```\n\n### Important\nEven though this browser has latest JavaScript support, browsers like Google Chrome,\nFirefox etc. provide additional JavaScript APIs, called Web-APIs, which practically every\nmodern webpage uses.\n\nSince this browser is meant to be completely written in Java, we must also write/implement\nall of those Web-APIs by ourselves.\n\nFor one person alone that would take decades, that's why this project is\ndesigned in a modular way, so that everyone can add the functionality that he/she needs.\nSee [how-to-implement-a-js-web-api.md](how-to-implement-a-js-web-api.md) for details.\n\nIn short, in its current state, this browser will fail executing most of the JavaScript code that relies on Web-APIs\nat the moment.\n\n### Links\n- Checkout [Headless-Browser](https://github.com/Osiris-Team/Headless-Browser), which has NodeJS and Playwright implemented into Java,\nif you want something production ready.\n\n### Installation\n- Java 8 or higher required\n- Steps for [Maven/Gradle/Sbt/Leinigen](https://jitpack.io/#Osiris-Team/JG-Browser/LATEST)\n- Click on 'Watch' -\u003e 'Custom' -\u003e and tick the 'Releases' box to get notified of future releases\n\n### Motivation\n[HtmlUnit](https://github.com/HtmlUnit/htmlunit/) is good, but relies on another JavaScript\nengine with a lot less features that gets updated very rarely. Thus,\nthis project exists. More details [here](https://github.com/HtmlUnit/htmlunit/issues/201), where I tried\nimplementing GraalJS into HtmlUnit without success.\n\n### Features\n- Latest JavaScript support via GraalJS \n- Easy HTML handling with Jsoup\n- Easy Web-API implementation\n- Completely written in Java\n\n### Libraries\nNote that this may be outdated. Check the [pom.xml](pom.xml) file for all dependencies.\n\n| Name/Link | Usage | License |\n| :-----: | :-----: | :-----: |\n| [GraalJS](https://github.com/oracle/graaljs) | Enables executing JavaScript code from Java | [License](https://github.com/oracle/graaljs/blob/master/LICENSE) |\n| [Jsoup](https://github.com/jhy/jsoup)      | Used to load pages and modify their HTML code      |   [License](https://github.com/jhy/jsoup/blob/master/LICENSE) |\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosiris-team%2Fjg-browser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosiris-team%2Fjg-browser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosiris-team%2Fjg-browser/lists"}