allo- / ffprofile

A tool to create firefox profiles with personalized defaults.
GNU Affero General Public License v3.0
771 stars 56 forks source link

firefox-profilemaker as cli program #169

Closed Qubasa closed 3 years ago

Qubasa commented 5 years ago

Hello,

I would love to see this program feature a command line version! This way it could be incorporated into scripts or into NixOS

Just a simple cli with settings defined in a JSON file and the resulting firefox profile path would be perfect!

allo- commented 5 years ago

This shouldn't be too complicated, have a look at the JSON files defining the settings and profiles. And it could be useful to modify existing profiles.

I currently cannot guarantee that it will stay fixed, but it's long since the last major change and when you use python for the program you will probably be able to reuse the parsing code and generate questions on the cli instead of Django forms, see https://github.com/allo-/firefox-profilemaker/blob/master/forms.py#L23

When it doesn't get too complex, I guess we could even maintain it in this repo.

Qubasa commented 5 years ago

Hello again, well I am working on it and so far its the code is quite simple. I just don't get where the addons come from they are not stored in the repository and I can't seem to find where the python code downloads them. Any hints? If you want to look into it its cli.py: https://github.com/Luis-Hebendanz/firefox-profilemaker

allo- commented 5 years ago

There is no automated process for the addons, yet.

To add one, you first need to download it and extract the manifest to find its addon id. Then you place it in the extensions folder in your django project (not in the code) and rename it to its addon id. The ids of the supported addons are documented (only) in the readme at the moment.

Addons are a bit of a problem anyway, because on the one hand you want to add tested versions to the profile, but on the other hand the user probably should have the most recent version. Especially in combination with the "no automatic addon update" switch it is important for the user to update the addons on the first run, so he does not use ancient versions.

Here they are added to the zip: https://github.com/allo-/firefox-profilemaker/blob/31b6453366adfbff7fc8a2135350194762a57dd0/views.py#L137 The path is relative to the workdir of the django process.