diff --git a/builder/data/etc/pwnagotchi/conf.d/age.toml b/builder/data/etc/pwnagotchi/conf.d/age.toml new file mode 100644 index 00000000..4ca7e8ea --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/age.toml @@ -0,0 +1,5 @@ +main.plugins.age.enabled = false +main.plugins.age.age_x_coord = 0 +main.plugins.age.age_y_coord = 32 +main.plugins.age.str_x_coord = 67 +main.plugins.age.str_y_coord = 32 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/auto-update.toml b/builder/data/etc/pwnagotchi/conf.d/auto-update.toml new file mode 100644 index 00000000..e073dbb9 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/auto-update.toml @@ -0,0 +1,3 @@ +main.plugins.auto-update.enabled = true +main.plugins.auto-update.install = true +main.plugins.auto-update.interval = 1 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/bt-tether.toml b/builder/data/etc/pwnagotchi/conf.d/bt-tether.toml new file mode 100644 index 00000000..64d1691a --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/bt-tether.toml @@ -0,0 +1,23 @@ +main.plugins.bt-tether.enabled = false + +main.plugins.bt-tether.devices.android-phone.enabled = false +main.plugins.bt-tether.devices.android-phone.search_order = 1 +main.plugins.bt-tether.devices.android-phone.mac = "" +main.plugins.bt-tether.devices.android-phone.ip = "192.168.44.44" +main.plugins.bt-tether.devices.android-phone.netmask = 24 +main.plugins.bt-tether.devices.android-phone.interval = 1 +main.plugins.bt-tether.devices.android-phone.scantime = 10 +main.plugins.bt-tether.devices.android-phone.max_tries = 10 +main.plugins.bt-tether.devices.android-phone.share_internet = false +main.plugins.bt-tether.devices.android-phone.priority = 1 + +main.plugins.bt-tether.devices.ios-phone.enabled = false +main.plugins.bt-tether.devices.ios-phone.search_order = 2 +main.plugins.bt-tether.devices.ios-phone.mac = "" +main.plugins.bt-tether.devices.ios-phone.ip = "172.20.10.6" +main.plugins.bt-tether.devices.ios-phone.netmask = 24 +main.plugins.bt-tether.devices.ios-phone.interval = 5 +main.plugins.bt-tether.devices.ios-phone.scantime = 20 +main.plugins.bt-tether.devices.ios-phone.max_tries = 0 +main.plugins.bt-tether.devices.ios-phone.share_internet = false +main.plugins.bt-tether.devices.ios-phone.priority = 999 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/fix_services.toml b/builder/data/etc/pwnagotchi/conf.d/fix_services.toml new file mode 100644 index 00000000..9af7b6e1 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/fix_services.toml @@ -0,0 +1 @@ +main.plugins.fix_services.enabled = true \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/gdrivesync.toml b/builder/data/etc/pwnagotchi/conf.d/gdrivesync.toml new file mode 100644 index 00000000..a599372c --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/gdrivesync.toml @@ -0,0 +1,3 @@ +main.plugins.gdrivesync.enabled = false +main.plugins.gdrivesync.backupfiles = [''] +main.plugins.gdrivesync.backup_folder = "PwnagotchiBackups" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/gpio_buttons.toml b/builder/data/etc/pwnagotchi/conf.d/gpio_buttons.toml new file mode 100644 index 00000000..3567b22b --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/gpio_buttons.toml @@ -0,0 +1 @@ +main.plugins.gpio_buttons.enabled = false \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/gps.toml b/builder/data/etc/pwnagotchi/conf.d/gps.toml new file mode 100644 index 00000000..e975b538 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/gps.toml @@ -0,0 +1,3 @@ +main.plugins.gps.enabled = false +main.plugins.gps.speed = 19200 +main.plugins.gps.device = "/dev/ttyUSB0" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/grid.toml b/builder/data/etc/pwnagotchi/conf.d/grid.toml new file mode 100644 index 00000000..0ec2ab52 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/grid.toml @@ -0,0 +1,5 @@ +main.plugins.grid.enabled = true +main.plugins.grid.report = true +main.plugins.grid.exclude = [ + "YourHomeNetworkHere" +] \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/logtail.toml b/builder/data/etc/pwnagotchi/conf.d/logtail.toml new file mode 100644 index 00000000..55393368 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/logtail.toml @@ -0,0 +1,2 @@ +main.plugins.logtail.enabled = false +main.plugins.logtail.max-lines = 10000 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/memtemp.toml b/builder/data/etc/pwnagotchi/conf.d/memtemp.toml new file mode 100644 index 00000000..d3521d5f --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/memtemp.toml @@ -0,0 +1,3 @@ +main.plugins.memtemp.enabled = false +main.plugins.memtemp.scale = "celsius" +main.plugins.memtemp.orientation = "horizontal" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/net-pos.toml b/builder/data/etc/pwnagotchi/conf.d/net-pos.toml new file mode 100644 index 00000000..bdf22f1c --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/net-pos.toml @@ -0,0 +1,2 @@ +main.plugins.net-pos.enabled = false +main.plugins.net-pos.api_key = "test" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/onlinehascrack.toml b/builder/data/etc/pwnagotchi/conf.d/onlinehascrack.toml new file mode 100644 index 00000000..b1170d0a --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/onlinehascrack.toml @@ -0,0 +1,5 @@ +main.plugins.onlinehashcrack.enabled = false +main.plugins.onlinehashcrack.email = "" +main.plugins.onlinehashcrack.dashboard = "" +main.plugins.onlinehashcrack.single_files = false +main.plugins.onlinehashcrack.whitelist = [] \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/paw-gps.toml b/builder/data/etc/pwnagotchi/conf.d/paw-gps.toml new file mode 100644 index 00000000..b5e0cfee --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/paw-gps.toml @@ -0,0 +1,2 @@ +main.plugins.paw-gps.enabled = false +main.plugins.paw-gps.ip = "192.168.44.1:8080" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/pisugar2.toml b/builder/data/etc/pwnagotchi/conf.d/pisugar2.toml new file mode 100644 index 00000000..424c8873 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/pisugar2.toml @@ -0,0 +1,3 @@ +main.plugins.pisugar2.enabled = false +main.plugins.pisugar2.shutdown = 5 +main.plugins.pisugar2.sync_rtc_on_boot = false \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/session-stats.toml b/builder/data/etc/pwnagotchi/conf.d/session-stats.toml new file mode 100644 index 00000000..ef57f4c8 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/session-stats.toml @@ -0,0 +1,2 @@ +main.plugins.session-stats.enabled = true +main.plugins.session-stats.save_directory = "/var/tmp/pwnagotchi/sessions/" \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/ups_hat_c.toml b/builder/data/etc/pwnagotchi/conf.d/ups_hat_c.toml new file mode 100644 index 00000000..5a0e405d --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/ups_hat_c.toml @@ -0,0 +1,5 @@ +main.plugins.ups_hat_c.enabled = false +main.plugins.ups_hat_c.label_on = true # show BAT label or just percentage +main.plugins.ups_hat_c.shutdown = 5 # battery percent at which the device will turn off +main.plugins.ups_hat_c.bat_x_coord = 140 +main.plugins.ups_hat_c.bat_y_coord = 0 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/ups_lite.toml b/builder/data/etc/pwnagotchi/conf.d/ups_lite.toml new file mode 100644 index 00000000..7b6a43fc --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/ups_lite.toml @@ -0,0 +1,2 @@ +main.plugins.ups_lite.enabled = false +main.plugins.ups_lite.shutdown = 2 \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/webcfg.toml b/builder/data/etc/pwnagotchi/conf.d/webcfg.toml new file mode 100644 index 00000000..d57b403e --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/webcfg.toml @@ -0,0 +1 @@ +main.plugins.webcfg.enabled = true \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/webgpsmap.toml b/builder/data/etc/pwnagotchi/conf.d/webgpsmap.toml new file mode 100644 index 00000000..6a22d55c --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/webgpsmap.toml @@ -0,0 +1 @@ +main.plugins.webgpsmap.enabled = false \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/wigle.toml b/builder/data/etc/pwnagotchi/conf.d/wigle.toml new file mode 100644 index 00000000..8f612473 --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/wigle.toml @@ -0,0 +1,4 @@ +main.plugins.wigle.enabled = false +main.plugins.wigle.api_key = "" +main.plugins.wigle.whitelist = [] +main.plugins.wigle.donate = true \ No newline at end of file diff --git a/builder/data/etc/pwnagotchi/conf.d/wpa-sec.toml b/builder/data/etc/pwnagotchi/conf.d/wpa-sec.toml new file mode 100644 index 00000000..bdd91e4b --- /dev/null +++ b/builder/data/etc/pwnagotchi/conf.d/wpa-sec.toml @@ -0,0 +1,5 @@ +main.plugins.wpa-sec.enabled = false +main.plugins.wpa-sec.api_key = "" +main.plugins.wpa-sec.api_url = "https://wpa-sec.stanev.org" +main.plugins.wpa-sec.download_results = false +main.plugins.wpa-sec.whitelist = [] \ No newline at end of file diff --git a/builder/pwnagotchi.yml b/builder/pwnagotchi.yml index d2773369..2afe510b 100644 --- a/builder/pwnagotchi.yml +++ b/builder/pwnagotchi.yml @@ -381,6 +381,11 @@ path: /usr/local/share/pwnagotchi/custom-plugins/ state: directory + - name: Create custom config directory + file: + path: /etc/pwnagotchi/conf.d/ + state: directory + - name: clone pwnagotchi repository git: repo: https://github.com/jayofelony/pwnagotchi.git @@ -627,6 +632,11 @@ autoclean: true when: removed.changed + - name: apt clean + shell: "apt clean" + args: + executable: /bin/bash + - name: remove dependencies that are no longer required apt: autoremove: yes diff --git a/pwnagotchi/defaults.toml b/pwnagotchi/defaults.toml index ea8fc151..1e2f5caa 100644 --- a/pwnagotchi/defaults.toml +++ b/pwnagotchi/defaults.toml @@ -7,9 +7,8 @@ main.custom_plugin_repos = [ "https://github.com/tisboyo/pwnagotchi-pisugar2-plugin/archive/master.zip", "https://github.com/nullm0ose/pwnagotchi-plugin-pisugar3/archive/master.zip" ] -main.custom_plugins = "/usr/local/share/pwnagotchi/custom-plugins/" -main.plugins.fix_services.enabled = true +main.custom_plugins = "/usr/local/share/pwnagotchi/custom-plugins/" main.iface = "wlan0mon" main.mon_start_cmd = "/usr/bin/monstart" @@ -24,102 +23,6 @@ main.whitelist = [ ] main.filter = "" -main.plugins.age.enabled = false -main.plugins.age.age_x_coord = 0 -main.plugins.age.age_y_coord = 32 -main.plugins.age.str_x_coord = 67 -main.plugins.age.str_y_coord = 32 - -main.plugins.ups_hat_c.enabled = false -main.plugins.ups_hat_c.label_on = true # show BAT label or just percentage -main.plugins.ups_hat_c.shutdown = 5 # battery percent at which the device will turn off -main.plugins.ups_hat_c.bat_x_coord = 140 -main.plugins.ups_hat_c.bat_y_coord = 0 - -main.plugins.pisugar2.enabled = false -main.plugins.pisugar2.shutdown = 5 -main.plugins.pisugar2.sync_rtc_on_boot = false - -main.plugins.grid.enabled = true -main.plugins.grid.report = true -main.plugins.grid.exclude = [ - "YourHomeNetworkHere" -] - -main.plugins.auto-update.enabled = true -main.plugins.auto-update.install = true -main.plugins.auto-update.interval = 1 - -main.plugins.net-pos.enabled = false -main.plugins.net-pos.api_key = "test" - -main.plugins.gps.enabled = false -main.plugins.gps.speed = 19200 -main.plugins.gps.device = "/dev/ttyUSB0" - -main.plugins.webgpsmap.enabled = false - -main.plugins.onlinehashcrack.enabled = false -main.plugins.onlinehashcrack.email = "" -main.plugins.onlinehashcrack.dashboard = "" -main.plugins.onlinehashcrack.single_files = false -main.plugins.onlinehashcrack.whitelist = [] - -main.plugins.wpa-sec.enabled = false -main.plugins.wpa-sec.api_key = "" -main.plugins.wpa-sec.api_url = "https://wpa-sec.stanev.org" -main.plugins.wpa-sec.download_results = false -main.plugins.wpa-sec.whitelist = [] - -main.plugins.wigle.enabled = false -main.plugins.wigle.api_key = "" -main.plugins.wigle.whitelist = [] -main.plugins.wigle.donate = true - -main.plugins.bt-tether.enabled = false - -main.plugins.bt-tether.devices.android-phone.enabled = false -main.plugins.bt-tether.devices.android-phone.search_order = 1 -main.plugins.bt-tether.devices.android-phone.mac = "" -main.plugins.bt-tether.devices.android-phone.ip = "192.168.44.44" -main.plugins.bt-tether.devices.android-phone.netmask = 24 -main.plugins.bt-tether.devices.android-phone.interval = 1 -main.plugins.bt-tether.devices.android-phone.scantime = 10 -main.plugins.bt-tether.devices.android-phone.max_tries = 10 -main.plugins.bt-tether.devices.android-phone.share_internet = false -main.plugins.bt-tether.devices.android-phone.priority = 1 - -main.plugins.bt-tether.devices.ios-phone.enabled = false -main.plugins.bt-tether.devices.ios-phone.search_order = 2 -main.plugins.bt-tether.devices.ios-phone.mac = "" -main.plugins.bt-tether.devices.ios-phone.ip = "172.20.10.6" -main.plugins.bt-tether.devices.ios-phone.netmask = 24 -main.plugins.bt-tether.devices.ios-phone.interval = 5 -main.plugins.bt-tether.devices.ios-phone.scantime = 20 -main.plugins.bt-tether.devices.ios-phone.max_tries = 0 -main.plugins.bt-tether.devices.ios-phone.share_internet = false -main.plugins.bt-tether.devices.ios-phone.priority = 999 - -main.plugins.memtemp.enabled = false -main.plugins.memtemp.scale = "celsius" -main.plugins.memtemp.orientation = "horizontal" - -main.plugins.paw-gps.enabled = false -main.plugins.paw-gps.ip = "192.168.44.1:8080" - -main.plugins.ups_lite.enabled = false -main.plugins.ups_lite.shutdown = 2 - -main.plugins.gpio_buttons.enabled = false - -main.plugins.webcfg.enabled = true - -main.plugins.logtail.enabled = false -main.plugins.logtail.max-lines = 10000 - -main.plugins.session-stats.enabled = true -main.plugins.session-stats.save_directory = "/var/tmp/pwnagotchi/sessions/" - main.log.path = "/var/log/pwnagotchi.log" main.log.rotation.enabled = true main.log.rotation.size = "10M" diff --git a/pwnagotchi/plugins/default/gdrivesync.py b/pwnagotchi/plugins/default/gdrivesync.py index ca34ca93..ce70e437 100644 --- a/pwnagotchi/plugins/default/gdrivesync.py +++ b/pwnagotchi/plugins/default/gdrivesync.py @@ -68,7 +68,7 @@ class GdriveSync(plugins.Plugin): # if backup file does not exist, we will check for PwnagotchiBackups on gdrive. if not self.backup: # Assume 'PwnagotchiBackups' is the folder ID where backups are stored - backup_folder_name = 'PwnagotchiBackups' + backup_folder_name = self.options['backup_folder'] backup_folder_id = self.get_folder_id_by_name(self.drive, backup_folder_name) if not backup_folder_id: @@ -85,8 +85,8 @@ class GdriveSync(plugins.Plugin): if not file_list: # Handle the case where no files were found logging.warning(f"[gDriveSync] No files found in the folder with ID {backup_folder_id}") - if self.config['backupfiles'] is not None: - self.backupfiles = self.backupfiles + self.config['backupfiles'] + if self.options['backupfiles'] is not None: + self.backupfiles = self.backupfiles + self.options['backupfiles'] self.backup_files(self.backupfiles, '/backup') self.upload_to_gdrive('/backup', 'PwnagotchiBackups')