{"id":13929025,"url":"https://github.com/AgregoreWeb/agregore-mobile","last_synced_at":"2025-07-19T10:32:44.221Z","repository":{"id":38465682,"uuid":"472862353","full_name":"AgregoreWeb/agregore-mobile","owner":"AgregoreWeb","description":"Mobile version of the Agregore browser for Android, based on Chromium and Bromite","archived":false,"fork":false,"pushed_at":"2022-06-04T02:08:54.000Z","size":83025,"stargazers_count":31,"open_issues_count":15,"forks_count":6,"subscribers_count":5,"default_branch":"default","last_synced_at":"2024-11-18T05:37:21.671Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgregoreWeb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-22T17:13:39.000Z","updated_at":"2024-09-27T08:15:01.000Z","dependencies_parsed_at":"2022-08-19T21:00:30.819Z","dependency_job_id":null,"html_url":"https://github.com/AgregoreWeb/agregore-mobile","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgregoreWeb%2Fagregore-mobile","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgregoreWeb%2Fagregore-mobile/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgregoreWeb%2Fagregore-mobile/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgregoreWeb%2Fagregore-mobile/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgregoreWeb","download_url":"https://codeload.github.com/AgregoreWeb/agregore-mobile/tar.gz/refs/heads/default","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226588944,"owners_count":17655809,"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","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-08-07T18:02:03.461Z","updated_at":"2024-11-26T17:31:18.384Z","avatar_url":"https://github.com/AgregoreWeb.png","language":"Python","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# agregore-mobile\nMobile version of the Agregore browser for Android, based on Chromium and Bromite\n\n**WORK IN PROGRESS**\n\n## Development\n\nThis codebase is based on [Chromium Android](https://chromium.googlesource.com/chromium/src/+/HEAD/docs/android_build_instructions.md) and [Bromite](https://github.com/bromite/bromite).\n\nHow it works:\n\n- You'll need about 70 GB of space on your machine since chromium and it's history is so huge.\n- Run `./setup.py` to do the initial folder setup.\n  - The build scripts use Python 3, so you'll need to have it installed on your system.\n\t- Chromium build tools are set up in `./depot_tools`\n\t- A Chromium source tree is set up in `./chromium` (this takes huge amounts of space)\n\t- A `Bromite` source tree is set up in `./bromite` (this doesn't take much space)\n- Run `./checkout_bromite_tag.py` to checkout the correct version of bromite to base the browser on\n\t- Run this when the bromite version gets updated, you must then re-apply the bromite patches, it will auto-run at setup\n\t- `bromite_tag.txt` is where you can update the bromite version to build on top of\n- Run `./apply_bromite_patches.py` to checkout the correct version of Chromium and to apply the bromite patches to it\n  - Run this whenever bromite gets updated, it will auto-run at setup\n  - You will need to re-apply agregore patches next since the git state will be reset\n- Run `./apply_agregore_patches.py` to apply Agregore patches to the Chromium tree\n  - Run this whenever there are new Agregore patches to apply. It will auto-run at setup\n- Run `./download_ipfs_daemon.py` to download the latest version of the [Agregore IPFS Daemon](https://github.com/AgregoreWeb/agregore-ipfs-daemon/)\n\t- Run this whenever a new version is available to update. It will auto-run at setup\n\t- The version of the daemon that we're using can be found inside `daemon_tag.txt`, update this with new versions\n\t- Note: you can instead place an AAR of the daemon into `chromium/src/third_party/agregore-ipfs-daemon/agregore-ipfs-daemon.aar`\n- Run `./prebuild.py` to sync dependencies needed to perform a build.\n\t- This can be skipped if you're just adding changes, dependenices can take an extra 60 GB of space\n- Run `./build.py` to trigger a new build of the browser\n  - You'll need to be running Ubuntu 18 in order to do a successful build.\n  Automated builds via a [build server](https://build.mauve.moe) are a work in progress.\n- The `patches` folder contains Agregore-specific patches on top of Chromium\n- Run `./generate_patch.py` To generate a new patch based on the latest Commit inside `Chromium/src`\n\t- You can specify `--n` for the number of commits to include in the patch if you want something other than the latest one.\n\t- Generally, if you did several commits as part of your change, you'll want to squash them with `git rebase -i HEAD~\u003cn\u003e` where `n` is the number of commits you want to squash.\n\t- Then you'll want to commit the patches and use `apply_agregore_patches.py` to apply them on the build server\n\n### Flow for making patches\n\n- Checkout a new branch for your patch\n- Make changes in `chromium/src`\n- `git add -A` to track newly added files\n- `git commit -am \"some message\"` to commit your changes\n\t- For the message, try to start with `AG ` since this will be the patch name\n- `cd ../../` back to the root of agregore-mobile\n- `./generate_patch.py` to generate a new patch\n- `git add -A` to track the new patch\n- `git commit -am \"Added patch for bla bla bla\"` to commit your patch to the main repo\n- `git push`\n\n### Adding changes to an existing patch\n\n- Make your changes in `chromium/src`\n- (If you have new or deleted files) `git add -A` to track the new files or remove deleted ones.\n- `git commit -am \"some message\"` to commit your changes\n\t- Note the message doesn't matter because we'll be deleting it in favor of the message in the patch\n- `git rebase HEAD~2` to start rebasing the commit history (with the goal of sqashing your previous commit into your patch commit)\n\t- Note `2` means \"the latest commit, and the one before that\", if you have more commits that you want to squash, increase this number\n- When your editor opens, Squash all the commits other than the one for the patch (which should be left as \"pick\")\n- Then once it prompts you to edit the new commit message, delete the squashed commit messages and just keep the original message\n- Now your history should have the latest commit\n- `cd ../../` to go back to the agregore-mobile directory\n- `./generate_patch.py` to re-generate the patch content\n- `git commit -am \"the actual commit message for you change\"` to commit changes to your patch\n- `git push` to push the latest version of your patch out\n\n### Applying new versions of a patch\n\n- `git pull` to get the latest chnages\n- `./undo_last_patch.py` to undo the latest version of the patch\n- `./apply_agregore_patches.py` to re-apply the latest versions of the patches.\n\n### Flow for building with the build server\n\n- Checkout a new branch to start\n- Make changes inside chromium/src and commit\n- Run `./generate_patch.py` to generate a pach\n- Commit your changes to your branch\n- Push them to github\n- Checkout the branch on the build server `ssh root@build.mauve.moe`\n- Apply the patches using `./apply_agregore_patches.py`\n- Run `./build.py`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgregoreWeb%2Fagregore-mobile","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAgregoreWeb%2Fagregore-mobile","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgregoreWeb%2Fagregore-mobile/lists"}