fix: the auto-update plugin now also installs launchers and service files via setup.py (closes #470)
This commit is contained in:
parent
279d885ec6
commit
783ac61594
2
builder/data/etc/network/interfaces.d/eth0-cfg
Normal file
2
builder/data/etc/network/interfaces.d/eth0-cfg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
allow-hotplug eth0
|
||||||
|
iface eth0 inet dhcp
|
2
builder/data/etc/network/interfaces.d/lo-cfg
Normal file
2
builder/data/etc/network/interfaces.d/lo-cfg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
auto lo
|
||||||
|
iface lo inet loopback
|
7
builder/data/etc/network/interfaces.d/usb0-cfg
Normal file
7
builder/data/etc/network/interfaces.d/usb0-cfg
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
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
|
2
builder/data/etc/network/interfaces.d/wlan0-cfg
Normal file
2
builder/data/etc/network/interfaces.d/wlan0-cfg
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
allow-hotplug wlan0
|
||||||
|
iface wlan0 inet static
|
2
builder/data/usr/bin/hdmioff
Executable file
2
builder/data/usr/bin/hdmioff
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
sudo /opt/vc/bin/tvservice -o
|
2
builder/data/usr/bin/hdmion
Executable file
2
builder/data/usr/bin/hdmion
Executable file
@ -0,0 +1,2 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
sudo /opt/vc/bin/tvservice -p
|
@ -44,6 +44,36 @@
|
|||||||
"source": "data/usr/bin/monstart",
|
"source": "data/usr/bin/monstart",
|
||||||
"destination": "/usr/bin/monstart"
|
"destination": "/usr/bin/monstart"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/usr/bin/hdmion",
|
||||||
|
"destination": "/usr/bin/hdmion"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/usr/bin/hdmioff",
|
||||||
|
"destination": "/usr/bin/hdmioff"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/etc/network/interfaces.d/lo-cfg",
|
||||||
|
"destination": "/etc/network/interfaces.d/lo-cfg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/etc/network/interfaces.d/wlan0-cfg",
|
||||||
|
"destination": "/etc/network/interfaces.d/wlan0-cfg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/etc/network/interfaces.d/usb0-cfg",
|
||||||
|
"destination": "/etc/network/interfaces.d/usb0-cfg"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "file",
|
||||||
|
"source": "data/etc/network/interfaces.d/eth0-cfg",
|
||||||
|
"destination": "/etc/network/interfaces.d/eth0-cfg"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"source": "data/etc/systemd/system/pwngrid-peer.service",
|
"source": "data/etc/systemd/system/pwngrid-peer.service",
|
||||||
|
@ -280,22 +280,6 @@
|
|||||||
remote_src: yes
|
remote_src: yes
|
||||||
mode: 0755
|
mode: 0755
|
||||||
|
|
||||||
- name: create hdmion script
|
|
||||||
copy:
|
|
||||||
dest: /usr/bin/hdmion
|
|
||||||
mode: 0755
|
|
||||||
content: |
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
sudo /opt/vc/bin/tvservice -p
|
|
||||||
|
|
||||||
- name: create hdmioff script
|
|
||||||
copy:
|
|
||||||
dest: /usr/bin/hdmioff
|
|
||||||
mode: 0755
|
|
||||||
content: |
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
sudo /opt/vc/bin/tvservice -o
|
|
||||||
|
|
||||||
- name: add HDMI powersave to rc.local
|
- name: add HDMI powersave to rc.local
|
||||||
blockinfile:
|
blockinfile:
|
||||||
path: /etc/rc.local
|
path: /etc/rc.local
|
||||||
@ -329,39 +313,6 @@
|
|||||||
#
|
#
|
||||||
when: not user_config.stat.exists
|
when: not user_config.stat.exists
|
||||||
|
|
||||||
- name: configure lo interface
|
|
||||||
copy:
|
|
||||||
dest: /etc/network/interfaces.d/lo-cfg
|
|
||||||
content: |
|
|
||||||
auto lo
|
|
||||||
iface lo inet loopback
|
|
||||||
|
|
||||||
- name: configure wlan interface
|
|
||||||
copy:
|
|
||||||
dest: /etc/network/interfaces.d/wlan0-cfg
|
|
||||||
content: |
|
|
||||||
allow-hotplug wlan0
|
|
||||||
iface wlan0 inet static
|
|
||||||
|
|
||||||
- name: configure usb interface
|
|
||||||
copy:
|
|
||||||
dest: /etc/network/interfaces.d/usb0-cfg
|
|
||||||
content: |
|
|
||||||
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
|
|
||||||
|
|
||||||
- name: configure eth0 interface (pi2/3/4)
|
|
||||||
copy:
|
|
||||||
dest: /etc/network/interfaces.d/eth0-cfg
|
|
||||||
content: |
|
|
||||||
allow-hotplug eth0
|
|
||||||
iface eth0 inet dhcp
|
|
||||||
|
|
||||||
- name: enable ssh on boot
|
- name: enable ssh on boot
|
||||||
file:
|
file:
|
||||||
path: /boot/ssh
|
path: /boot/ssh
|
||||||
|
@ -143,20 +143,9 @@ def install(display, update):
|
|||||||
if not os.path.exists(source_path):
|
if not os.path.exists(source_path):
|
||||||
source_path = "%s-%s" % (source_path, update['available'])
|
source_path = "%s-%s" % (source_path, update['available'])
|
||||||
|
|
||||||
|
# setup.py is going to install data files for us
|
||||||
os.system("cd %s && pip3 install ." % source_path)
|
os.system("cd %s && pip3 install ." % source_path)
|
||||||
|
|
||||||
data_path = os.path.join(source_path, "builder/data")
|
|
||||||
for source in glob.glob("%s/**" % data_path, recursive=True):
|
|
||||||
if os.path.isfile(source):
|
|
||||||
dest = source.replace(data_path, '')
|
|
||||||
dest_path = os.path.dirname(dest)
|
|
||||||
if not os.path.isdir(dest_path):
|
|
||||||
os.makedirs(dest_path)
|
|
||||||
logging.info("[update] installing %s to %s ..." % (source, dest))
|
|
||||||
os.system("mv '%s' '%s'" % (source, dest))
|
|
||||||
|
|
||||||
os.system("systemctl daemon-reload")
|
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
26
setup.py
26
setup.py
@ -1,7 +1,29 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
from setuptools import setup, find_packages
|
from setuptools import setup, find_packages
|
||||||
import pwnagotchi
|
import os
|
||||||
|
import glob
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
setup_path = os.path.dirname(__file__)
|
||||||
|
data_path = os.path.join(setup_path, "builder/data")
|
||||||
|
|
||||||
|
for source_filename in glob.glob("%s/**" % data_path, recursive=True):
|
||||||
|
if os.path.isfile(source_filename):
|
||||||
|
dest_filename = source_filename.replace(data_path, '')
|
||||||
|
dest_folder = os.path.dirname(dest_filename)
|
||||||
|
|
||||||
|
print("installing %s to %s ..." % (source_filename, dest_filename))
|
||||||
|
try:
|
||||||
|
if not os.path.isdir(dest_folder):
|
||||||
|
os.makedirs(dest_folder)
|
||||||
|
|
||||||
|
shutil.copyfile(source_filename, dest_filename)
|
||||||
|
except Exception as e:
|
||||||
|
print("error installing %s: %s" % (source_filename, e))
|
||||||
|
|
||||||
|
# reload systemd units
|
||||||
|
os.system("systemctl daemon-reload")
|
||||||
|
|
||||||
required = []
|
required = []
|
||||||
with open('requirements.txt') as fp:
|
with open('requirements.txt') as fp:
|
||||||
@ -10,6 +32,8 @@ with open('requirements.txt') as fp:
|
|||||||
if line != "":
|
if line != "":
|
||||||
required.append(line)
|
required.append(line)
|
||||||
|
|
||||||
|
import pwnagotchi
|
||||||
|
|
||||||
setup(name='pwnagotchi',
|
setup(name='pwnagotchi',
|
||||||
version=pwnagotchi.version,
|
version=pwnagotchi.version,
|
||||||
description='(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFI pwning.',
|
description='(⌐■_■) - Deep Reinforcement Learning instrumenting bettercap for WiFI pwning.',
|
||||||
|
Loading…
x
Reference in New Issue
Block a user