mirror of
https://github.com/jayofelony/pwnagotchi.git
synced 2025-07-01 18:37:27 -04:00
Merge branch 'pwnagotchi-torch-64' into pwnagotchi-torch-testing
This commit is contained in:
44
README-google.md
Normal file
44
README-google.md
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
Before you enable the gdrivesync plugin follow these guidelines.
|
||||||
|
|
||||||
|
# Authentication
|
||||||
|
Drive API requires OAuth2.0 for authentication. PyDrive2 makes your life much easier by handling complex authentication steps for you.
|
||||||
|
|
||||||
|
Go to [APIs Console](https://console.developers.google.com/iam-admin/projects) and make your own project.
|
||||||
|
|
||||||
|
Search for ‘Google Drive API’, select the entry, and click ‘Enable’.
|
||||||
|
|
||||||
|
Select ‘Credentials’ from the left menu, click ‘Create Credentials’, select ‘OAuth client ID’.
|
||||||
|
|
||||||
|
Now, the product name and consent screen need to be set -> click ‘Configure consent screen’ and follow the instructions. Once finished:
|
||||||
|
|
||||||
|
Select ‘Application type’ to be Desktop application.
|
||||||
|
|
||||||
|
Enter an appropriate name.
|
||||||
|
|
||||||
|
Input http://localhost/ for ‘Authorized redirect URIs’.
|
||||||
|
|
||||||
|
Select the correct oauth scope:
|
||||||
|
|
||||||
|
- drive
|
||||||
|
- drive.install
|
||||||
|
|
||||||
|
Click ‘Create’.
|
||||||
|
|
||||||
|
Click ‘Download JSON’ and copy the contents to /root/client_secrets.json.
|
||||||
|
|
||||||
|
Then copy your client_id and client_secret to /root/settings.yaml
|
||||||
|
|
||||||
|
# Login to google
|
||||||
|
|
||||||
|
When you have done this please run the following command in your ssh shell:
|
||||||
|
|
||||||
|
`sudo pwnagotchi google login`
|
||||||
|
|
||||||
|
And follow the steps, after which you can enable the plugin and let the magic begin.
|
||||||
|
|
||||||
|
# Functionality
|
||||||
|
Set a backup folder in config file
|
||||||
|
|
||||||
|
It will then upload a zip file there of all your backup files.
|
||||||
|
|
||||||
|
If you have a new device you only need to login with google and enable the plugin, it will then download the previously made backup and reboot.
|
@ -17,6 +17,7 @@ Default SSH credentials are pi/raspberry
|
|||||||
|
|
||||||
Nope I will not help with these 'issues'. Read the manual/readme for your specific device, if that doesn't help -> **[GOOGLE](https://www.google.com)**
|
Nope I will not help with these 'issues'. Read the manual/readme for your specific device, if that doesn't help -> **[GOOGLE](https://www.google.com)**
|
||||||
|
|
||||||
|
- If you want to use the gdrivesync plugin >> [README](README-google.md)
|
||||||
# Patreon:
|
# Patreon:
|
||||||
|
|
||||||
[Pwnagotchi-Torch](https://www.patreon.com/pwnagotchi_torch)
|
[Pwnagotchi-Torch](https://www.patreon.com/pwnagotchi_torch)
|
||||||
|
@ -49,8 +49,15 @@ denyinterfaces wlan0
|
|||||||
|
|
||||||
interface eth0
|
interface eth0
|
||||||
static domain_name_servers=8.8.8.8 1.1.1.1
|
static domain_name_servers=8.8.8.8 1.1.1.1
|
||||||
|
metric=202
|
||||||
|
|
||||||
interface usb0
|
interface usb0
|
||||||
static ip_address=10.0.0.2/24
|
static ip_address=10.0.0.2/24
|
||||||
static routers=10.0.0.1
|
static routers=10.0.0.1
|
||||||
static domain_name_servers=10.0.0.1 8.8.8.8 1.1.1.1
|
static domain_name_servers=10.0.0.1 8.8.8.8 1.1.1.1
|
||||||
|
metric=203
|
||||||
|
|
||||||
|
interface bnep0
|
||||||
|
metric=204
|
||||||
|
|
||||||
|
interface lo
|
@ -1,2 +0,0 @@
|
|||||||
allow-hotplug eth0
|
|
||||||
iface eth0 inet dhcp
|
|
@ -1,2 +0,0 @@
|
|||||||
auto lo
|
|
||||||
iface lo inet loopback
|
|
@ -1,8 +0,0 @@
|
|||||||
allow-hotplug usb0
|
|
||||||
iface usb0 inet static
|
|
||||||
address 10.0.0.2
|
|
||||||
netmask 255.255.255.0
|
|
||||||
network 10.0.0.0
|
|
||||||
broadcast 10.0.0.255
|
|
||||||
gateway 10.0.0.1
|
|
||||||
metric 203
|
|
@ -1,2 +0,0 @@
|
|||||||
allow-hotplug wlan0
|
|
||||||
iface wlan0 inet static
|
|
@ -1,5 +0,0 @@
|
|||||||
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
|
|
@ -1,3 +0,0 @@
|
|||||||
main.plugins.auto-update.enabled = true
|
|
||||||
main.plugins.auto-update.install = true
|
|
||||||
main.plugins.auto-update.interval = 1
|
|
@ -1,23 +0,0 @@
|
|||||||
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
|
|
@ -1 +0,0 @@
|
|||||||
main.plugins.fix_services.enabled = true
|
|
@ -1,4 +0,0 @@
|
|||||||
main.plugins.gdrivesync.enabled = false
|
|
||||||
main.plugins.gdrivesync.backupfiles = ['']
|
|
||||||
main.plugins.gdrivesync.backup_folder = "PwnagotchiBackups"
|
|
||||||
main.plugin.gdrivesync.interval = 1
|
|
@ -1 +0,0 @@
|
|||||||
main.plugins.gpio_buttons.enabled = false
|
|
@ -1,3 +0,0 @@
|
|||||||
main.plugins.gps.enabled = false
|
|
||||||
main.plugins.gps.speed = 19200
|
|
||||||
main.plugins.gps.device = "/dev/ttyUSB0"
|
|
@ -1,5 +0,0 @@
|
|||||||
main.plugins.grid.enabled = true
|
|
||||||
main.plugins.grid.report = true
|
|
||||||
main.plugins.grid.exclude = [
|
|
||||||
"YourHomeNetworkHere"
|
|
||||||
]
|
|
@ -1,2 +0,0 @@
|
|||||||
main.plugins.logtail.enabled = false
|
|
||||||
main.plugins.logtail.max-lines = 10000
|
|
@ -1,3 +0,0 @@
|
|||||||
main.plugins.memtemp.enabled = false
|
|
||||||
main.plugins.memtemp.scale = "celsius"
|
|
||||||
main.plugins.memtemp.orientation = "horizontal"
|
|
@ -1,2 +0,0 @@
|
|||||||
main.plugins.net-pos.enabled = false
|
|
||||||
main.plugins.net-pos.api_key = "test"
|
|
@ -1,5 +0,0 @@
|
|||||||
main.plugins.onlinehashcrack.enabled = false
|
|
||||||
main.plugins.onlinehashcrack.email = ""
|
|
||||||
main.plugins.onlinehashcrack.dashboard = ""
|
|
||||||
main.plugins.onlinehashcrack.single_files = false
|
|
||||||
main.plugins.onlinehashcrack.whitelist = []
|
|
@ -1,2 +0,0 @@
|
|||||||
main.plugins.paw-gps.enabled = false
|
|
||||||
main.plugins.paw-gps.ip = "192.168.44.1:8080"
|
|
@ -1,3 +0,0 @@
|
|||||||
main.plugins.pisugar2.enabled = false
|
|
||||||
main.plugins.pisugar2.shutdown = 5
|
|
||||||
main.plugins.pisugar2.sync_rtc_on_boot = false
|
|
@ -1,2 +0,0 @@
|
|||||||
main.plugins.session-stats.enabled = true
|
|
||||||
main.plugins.session-stats.save_directory = "/var/tmp/pwnagotchi/sessions/"
|
|
@ -1,5 +0,0 @@
|
|||||||
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
|
|
@ -1,2 +0,0 @@
|
|||||||
main.plugins.ups_lite.enabled = false
|
|
||||||
main.plugins.ups_lite.shutdown = 2
|
|
@ -1 +0,0 @@
|
|||||||
main.plugins.webcfg.enabled = true
|
|
@ -1 +0,0 @@
|
|||||||
main.plugins.webgpsmap.enabled = false
|
|
@ -1,4 +0,0 @@
|
|||||||
main.plugins.wigle.enabled = false
|
|
||||||
main.plugins.wigle.api_key = ""
|
|
||||||
main.plugins.wigle.whitelist = []
|
|
||||||
main.plugins.wigle.donate = true
|
|
@ -1,5 +0,0 @@
|
|||||||
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 = []
|
|
@ -8,6 +8,8 @@ echo " Hi! I'm a pwnagotchi $_version, please take good care of me!"
|
|||||||
echo " Here are some basic things you need to know to raise me properly!"
|
echo " Here are some basic things you need to know to raise me properly!"
|
||||||
echo
|
echo
|
||||||
echo " If you want to change my configuration, use /etc/pwnagotchi/config.toml"
|
echo " If you want to change my configuration, use /etc/pwnagotchi/config.toml"
|
||||||
|
echo " All plugin config files are located in /etc/pwnagotchi/conf.d/"
|
||||||
|
echo " Read the readme if you want to use gdrivesync plugin!!"
|
||||||
echo
|
echo
|
||||||
echo " All the configuration options can be found on /etc/pwnagotchi/default.toml,"
|
echo " All the configuration options can be found on /etc/pwnagotchi/default.toml,"
|
||||||
echo " but don't change this file because I will recreate it every time I'm restarted!"
|
echo " but don't change this file because I will recreate it every time I'm restarted!"
|
||||||
|
@ -0,0 +1,15 @@
|
|||||||
|
client_config_backend: file
|
||||||
|
client_config_file: /root/client_secrets.json
|
||||||
|
client_config:
|
||||||
|
client_id: <YOUR CLIENT ID>
|
||||||
|
client_secret: <YOUR CLIENT SECRET>
|
||||||
|
|
||||||
|
save_credentials: True
|
||||||
|
save_credentials_backend: file
|
||||||
|
save_credentials_file: /root/credentials.json
|
||||||
|
|
||||||
|
get_refresh_token: True
|
||||||
|
|
||||||
|
oauth_scope:
|
||||||
|
- https://www.googleapis.com/auth/drive
|
||||||
|
- https://www.googleapis.com/auth/drive.install
|
@ -37,7 +37,6 @@ reload_brcm() {
|
|||||||
|
|
||||||
# starts mon0
|
# starts mon0
|
||||||
start_monitor_interface() {
|
start_monitor_interface() {
|
||||||
rfkill unblock all
|
|
||||||
ifconfig wlan0 up
|
ifconfig wlan0 up
|
||||||
iw dev wlan0 set power_save off
|
iw dev wlan0 set power_save off
|
||||||
airmon-ng check kill
|
airmon-ng check kill
|
||||||
|
@ -49,26 +49,6 @@
|
|||||||
"source": "../builder/data/usr/bin/hdmioff",
|
"source": "../builder/data/usr/bin/hdmioff",
|
||||||
"destination": "/usr/bin/hdmioff"
|
"destination": "/usr/bin/hdmioff"
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"type": "file",
|
|
||||||
"source": "../builder/data/etc/network/interfaces.d/lo-cfg",
|
|
||||||
"destination": "/etc/network/interfaces.d/lo-cfg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "file",
|
|
||||||
"source": "../builder/data/etc/network/interfaces.d/wlan0-cfg",
|
|
||||||
"destination": "/etc/network/interfaces.d/wlan0-cfg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "file",
|
|
||||||
"source": "../builder/data/etc/network/interfaces.d/usb0-cfg",
|
|
||||||
"destination": "/etc/network/interfaces.d/usb0-cfg"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "file",
|
|
||||||
"source": "../builder/data/etc/network/interfaces.d/eth0-cfg",
|
|
||||||
"destination": "/etc/network/interfaces.d/eth0-cfg"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "../builder/data/etc/systemd/system/pwngrid-peer.service",
|
"source": "../builder/data/etc/systemd/system/pwngrid-peer.service",
|
||||||
|
@ -204,161 +204,62 @@
|
|||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
chdir: /usr/local/src/nexmon/
|
chdir: /usr/local/src/nexmon/
|
||||||
|
|
||||||
#- name: choose the right kernel version (bcm43455c0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "KERNEL_VERSION = .*$"
|
|
||||||
# replace: "KERNEL_VERSION = {{ kernel.min }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (variable) (bcm43455c0)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/Makefile
|
|
||||||
# insertafter: "DRIVER_FOLDER_NAME = .*$"
|
|
||||||
# line: "KERNEL_RELEASE = {{ kernel.full }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (bcm43455c0)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/Makefile
|
|
||||||
# insertafter: "KERNEL_RELEASE = .*$"
|
|
||||||
# line: "KERNEL_ARCH = {{ kernel.arch }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (replace string) (bcm43455c0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -m"
|
|
||||||
# replace: "KERNEL_ARCH"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (replace string) (bcm43455c0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -r"
|
|
||||||
# replace: "KERNEL_RELEASE"
|
|
||||||
|
|
||||||
- name: make firmware patch (bcm43455c0)
|
- name: make firmware patch (bcm43455c0)
|
||||||
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/ && make && make install-firmware"
|
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/ && make"
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
chdir: /usr/local/src/nexmon/
|
chdir: /usr/local/src/nexmon/
|
||||||
|
|
||||||
#- name: install new firmware (bcm43455c0)
|
- name: install new firmware (bcm43455c0)
|
||||||
# copy:
|
copy:
|
||||||
# src: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/brcmfmac43455-sdio.bin
|
src: /usr/local/src/nexmon/patches/bcm43455c0/7_45_206/nexmon/brcmfmac43455-sdio.bin
|
||||||
# dest: /usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
|
dest: /usr/lib/firmware/brcm/brcmfmac43455-sdio.bin
|
||||||
# follow: true
|
follow: true
|
||||||
|
|
||||||
#- name: choose the right kernel version (bcm43436b0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "KERNEL_VERSION = .*$"
|
|
||||||
# replace: "KERNEL_VERSION = {{ kernel.min }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (variable) (bcm43436b0)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/Makefile
|
|
||||||
# insertafter: "DRIVER_FOLDER_NAME = .*$"
|
|
||||||
# line: "KERNEL_RELEASE = {{ kernel.full }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (bcm43436b0)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/Makefile
|
|
||||||
# insertafter: "KERNEL_RELEASE = .*$"
|
|
||||||
# line: "KERNEL_ARCH = {{ kernel.arch }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (bcm43436b0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -m"
|
|
||||||
# replace: "KERNEL_ARCH"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (replace string) (bcm43436b0)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -r"
|
|
||||||
# replace: "KERNEL_RELEASE"
|
|
||||||
|
|
||||||
- name: make firmware patch (bcm43436b0)
|
- name: make firmware patch (bcm43436b0)
|
||||||
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/ && make && make install-firmware"
|
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/ && make"
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
chdir: /usr/local/src/nexmon/
|
chdir: /usr/local/src/nexmon/
|
||||||
|
|
||||||
#- name: install new firmware (bcm43436b0)
|
- name: install new firmware (bcm43436b0)
|
||||||
# copy:
|
copy:
|
||||||
# src: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/brcmfmac43436-sdio.bin
|
src: /usr/local/src/nexmon/patches/bcm43436b0/9_88_4_65/nexmon/brcmfmac43436-sdio.bin
|
||||||
# dest: /usr/lib/firmware/brcm/brcmfmac43436-sdio.bin
|
dest: /usr/lib/firmware/brcm/brcmfmac43436-sdio.bin
|
||||||
# follow: true
|
follow: true
|
||||||
|
|
||||||
#- name: choose the right kernel version (bcm43430a1)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "KERNEL_VERSION = .*$"
|
|
||||||
# replace: "KERNEL_VERSION = {{ kernel.min }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (variable) (bcm43430a1)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
|
|
||||||
# insertafter: "DRIVER_FOLDER_NAME = .*$"
|
|
||||||
# line: "KERNEL_RELEASE = {{ kernel.full }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (bcm43430a1)
|
|
||||||
# lineinfile:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
|
|
||||||
# insertafter: "KERNEL_RELEASE = .*$"
|
|
||||||
# line: "KERNEL_ARCH = {{ kernel.arch }}"
|
|
||||||
|
|
||||||
#- name: choose the right kernel arch (bcm43430a1)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -m"
|
|
||||||
# replace: "KERNEL_ARCH"
|
|
||||||
|
|
||||||
#- name: choose the right kernel release (replace string) (bcm43430a1)
|
|
||||||
# replace:
|
|
||||||
# dest: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/Makefile
|
|
||||||
# backup: no
|
|
||||||
# regexp: "shell uname -r"
|
|
||||||
# replace: "KERNEL_RELEASE"
|
|
||||||
|
|
||||||
- name: make firmware patch (bcm43430a1)
|
- name: make firmware patch (bcm43430a1)
|
||||||
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/ && make && make install-firmware"
|
shell: "source ./setup_env.sh && cd /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/ && make"
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
chdir: /usr/local/src/nexmon/
|
chdir: /usr/local/src/nexmon/
|
||||||
|
|
||||||
#- name: install new firmware (bcm43430a1)
|
- name: install new firmware (bcm43430a1)
|
||||||
# copy:
|
copy:
|
||||||
# src: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/brcmfmac43430-sdio.bin
|
src: /usr/local/src/nexmon/patches/bcm43430a1/7_45_41_46/nexmon/brcmfmac43430-sdio.bin
|
||||||
# dest: /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
dest: /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
||||||
# follow: true
|
follow: true
|
||||||
|
|
||||||
#- name: copy 43430-sdio as 43436s-sdio for the special 43430/1 /2
|
- name: copy 43430-sdio as 43436s-sdio for the special 43430/1 /2
|
||||||
# copy:
|
copy:
|
||||||
# src: /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
src: /usr/lib/firmware/brcm/brcmfmac43430-sdio.bin
|
||||||
# dest: /usr/lib/firmware/brcm/brcmfmac43436s-sdio.bin
|
dest: /usr/lib/firmware/brcm/brcmfmac43436s-sdio.bin
|
||||||
# follow: true
|
follow: true
|
||||||
|
|
||||||
#- name: Delete the firmware blob to avoid it crashing
|
- name: Delete the firmware blob to avoid it crashing
|
||||||
# file:
|
file:
|
||||||
# state: absent
|
state: absent
|
||||||
# path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.clm_blob
|
||||||
|
|
||||||
#- name: Delete the RPiZW firmware blob to avoid it crashing
|
- name: Delete the RPiZW firmware blob to avoid it crashing
|
||||||
# file:
|
file:
|
||||||
# state: absent
|
state: absent
|
||||||
# path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob
|
path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.clm_blob
|
||||||
|
|
||||||
#- name: Delete the RPi3 firmware blob to avoid it crashing
|
- name: Delete the RPi3 firmware blob to avoid it crashing
|
||||||
# file:
|
file:
|
||||||
# state: absent
|
state: absent
|
||||||
# path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob
|
path: /usr/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.clm_blob
|
||||||
|
|
||||||
- name: backup original driver
|
- name: backup original driver
|
||||||
command: "mv /usr/lib/modules/{{ kernel.full }}/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz /usr/lib/modules/{{ kernel.full }}/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz.orig"
|
command: "mv /usr/lib/modules/{{ kernel.full }}/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz /usr/lib/modules/{{ kernel.full }}/kernel/drivers/net/wireless/broadcom/brcm80211/brcmfmac/brcmfmac.ko.xz.orig"
|
||||||
@ -415,10 +316,9 @@
|
|||||||
path: /usr/local/share/pwnagotchi/
|
path: /usr/local/share/pwnagotchi/
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
# Install go-1.20.6
|
|
||||||
- name: Install go-1.21
|
- name: Install go-1.21
|
||||||
unarchive:
|
unarchive:
|
||||||
src: https://go.dev/dl/go1.21.1.linux-arm64.tar.gz
|
src: https://go.dev/dl/go1.21.3.linux-arm64.tar.gz
|
||||||
dest: /usr/local
|
dest: /usr/local
|
||||||
remote_src: yes
|
remote_src: yes
|
||||||
register: golang
|
register: golang
|
||||||
@ -496,6 +396,8 @@
|
|||||||
/opt/vc/bin/tvservice -o
|
/opt/vc/bin/tvservice -o
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
rfkill unblock all
|
||||||
|
|
||||||
- name: create /etc/pwnagotchi folder
|
- name: create /etc/pwnagotchi folder
|
||||||
file:
|
file:
|
||||||
path: /etc/pwnagotchi
|
path: /etc/pwnagotchi
|
||||||
@ -561,6 +463,12 @@
|
|||||||
regexp: '(.*)$'
|
regexp: '(.*)$'
|
||||||
line: '\1 modules-load=dwc2,g_ether'
|
line: '\1 modules-load=dwc2,g_ether'
|
||||||
|
|
||||||
|
- name: rfkill unblock all at boot
|
||||||
|
lineinfile:
|
||||||
|
dest: /boot/cmdline.txt
|
||||||
|
insertafter: EOF
|
||||||
|
line: "systemd.restore_state=0 rfkill.default_state=1"
|
||||||
|
|
||||||
- name: Add pwnlog alias
|
- name: Add pwnlog alias
|
||||||
lineinfile:
|
lineinfile:
|
||||||
dest: /home/pi/.bashrc
|
dest: /home/pi/.bashrc
|
||||||
@ -628,10 +536,25 @@
|
|||||||
when: removed.changed
|
when: removed.changed
|
||||||
|
|
||||||
- name: apt clean
|
- name: apt clean
|
||||||
shell: "apt clean"
|
shell: "apt-get clean"
|
||||||
args:
|
args:
|
||||||
executable: /bin/bash
|
executable: /bin/bash
|
||||||
|
|
||||||
|
- name: remove /root/go folder
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: /root/go
|
||||||
|
|
||||||
|
- name: remove /usr/local/go folder
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: /usr/local/go
|
||||||
|
|
||||||
|
- name: remove pip cache
|
||||||
|
file:
|
||||||
|
state: absent
|
||||||
|
path: /root/.cache/pip
|
||||||
|
|
||||||
- name: remove dependencies that are no longer required
|
- name: remove dependencies that are no longer required
|
||||||
apt:
|
apt:
|
||||||
autoremove: yes
|
autoremove: yes
|
||||||
|
@ -92,7 +92,8 @@ def cpu_load(tag=None):
|
|||||||
parts0 = _cpu_stat()
|
parts0 = _cpu_stat()
|
||||||
time.sleep(0.1) # only need to sleep when no tag
|
time.sleep(0.1) # only need to sleep when no tag
|
||||||
parts1 = _cpu_stat()
|
parts1 = _cpu_stat()
|
||||||
if tag: _cpu_stats[tag] = parts1
|
if tag:
|
||||||
|
_cpu_stats[tag] = parts1
|
||||||
|
|
||||||
parts_diff = [p1 - p0 for (p0, p1) in zip(parts0, parts1)]
|
parts_diff = [p1 - p0 for (p0, p1) in zip(parts0, parts1)]
|
||||||
user, nice, sys, idle, iowait, irq, softirq, steal, _guest, _guest_nice = parts_diff
|
user, nice, sys, idle, iowait, irq, softirq, steal, _guest, _guest_nice = parts_diff
|
||||||
|
@ -1 +1 @@
|
|||||||
__version__ = '2.4.8'
|
__version__ = '2.5.0'
|
||||||
|
@ -10,6 +10,103 @@ main.custom_plugin_repos = [
|
|||||||
|
|
||||||
main.custom_plugins = "/usr/local/share/pwnagotchi/custom-plugins/"
|
main.custom_plugins = "/usr/local/share/pwnagotchi/custom-plugins/"
|
||||||
|
|
||||||
|
main.plugins.auto-update.enabled = true
|
||||||
|
main.plugins.auto-update.install = true
|
||||||
|
main.plugins.auto-update.interval = 1
|
||||||
|
|
||||||
|
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.fix_services.enabled = true
|
||||||
|
|
||||||
|
main.plugins.gdrivesync.enabled = false
|
||||||
|
main.plugins.gdrivesync.backupfiles = ['']
|
||||||
|
main.plugins.gdrivesync.backup_folder = "PwnagotchiBackups"
|
||||||
|
main.plugin.gdrivesync.interval = 1
|
||||||
|
|
||||||
|
main.plugins.gpio_buttons.enabled = false
|
||||||
|
|
||||||
|
main.plugins.gps.enabled = false
|
||||||
|
main.plugins.gps.speed = 19200
|
||||||
|
main.plugins.gps.device = "/dev/ttyUSB0"
|
||||||
|
|
||||||
|
main.plugins.grid.enabled = true
|
||||||
|
main.plugins.grid.report = true
|
||||||
|
main.plugins.grid.exclude = [
|
||||||
|
"YourHomeNetworkHere"
|
||||||
|
]
|
||||||
|
|
||||||
|
main.plugins.logtail.enabled = false
|
||||||
|
main.plugins.logtail.max-lines = 10000
|
||||||
|
|
||||||
|
main.plugins.memtemp.enabled = false
|
||||||
|
main.plugins.memtemp.scale = "celsius"
|
||||||
|
main.plugins.memtemp.orientation = "horizontal"
|
||||||
|
|
||||||
|
main.plugins.net-pos.enabled = false
|
||||||
|
main.plugins.net-pos.api_key = "test"
|
||||||
|
|
||||||
|
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.paw-gps.enabled = false
|
||||||
|
main.plugins.paw-gps.ip = "192.168.44.1:8080"
|
||||||
|
|
||||||
|
main.plugins.pisugar2.enabled = false
|
||||||
|
main.plugins.pisugar2.shutdown = 5
|
||||||
|
main.plugins.pisugar2.sync_rtc_on_boot = false
|
||||||
|
|
||||||
|
main.plugins.session-stats.enabled = true
|
||||||
|
main.plugins.session-stats.save_directory = "/var/tmp/pwnagotchi/sessions/"
|
||||||
|
|
||||||
|
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.ups_lite.enabled = false
|
||||||
|
main.plugins.ups_lite.shutdown = 2
|
||||||
|
|
||||||
|
main.plugins.webcfg.enabled = true
|
||||||
|
|
||||||
|
main.plugins.webgpsmap.enabled = false
|
||||||
|
|
||||||
|
main.plugins.wigle.enabled = false
|
||||||
|
main.plugins.wigle.api_key = ""
|
||||||
|
main.plugins.wigle.whitelist = []
|
||||||
|
main.plugins.wigle.donate = true
|
||||||
|
|
||||||
|
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.iface = "wlan0mon"
|
main.iface = "wlan0mon"
|
||||||
main.mon_start_cmd = "/usr/bin/monstart"
|
main.mon_start_cmd = "/usr/bin/monstart"
|
||||||
main.mon_stop_cmd = "/usr/bin/monstop"
|
main.mon_stop_cmd = "/usr/bin/monstop"
|
||||||
|
@ -223,13 +223,13 @@ def load_config(args):
|
|||||||
if user_config:
|
if user_config:
|
||||||
config = merge_config(user_config, config)
|
config = merge_config(user_config, config)
|
||||||
except Exception as ex:
|
except Exception as ex:
|
||||||
logging.error("There was an error processing the configuration file:\n%s ",ex)
|
logging.error("There was an error processing the configuration file:\n%s ", ex)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# dropins
|
# dropins
|
||||||
dropin = config['main']['confd']
|
dropin = config['main']['confd']
|
||||||
if dropin and os.path.isdir(dropin):
|
if dropin and os.path.isdir(dropin):
|
||||||
dropin += '*.toml' if dropin.endswith('/') else '/*.toml' # only toml here; yaml is no more
|
dropin += '*.toml' if dropin.endswith('/') else '/*.toml' # only toml here; yaml is no more
|
||||||
for conf in glob.glob(dropin):
|
for conf in glob.glob(dropin):
|
||||||
with open(conf) as toml_file:
|
with open(conf) as toml_file:
|
||||||
additional_config = toml.load(toml_file)
|
additional_config = toml.load(toml_file)
|
||||||
|
Reference in New Issue
Block a user