Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
wgreenberg committed May 22, 2024
1 parent 6a091c3 commit dc5c800
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 9 deletions.
32 changes: 23 additions & 9 deletions .github/workflows/build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Build serial
run: cargo build --bin serial --release
run: cargo build --target-dir ./ --bin serial --release
- uses: actions/upload-artifact@v4
with:
name: serial-${{ matrix.os }}
path: target/release/serial
path: ./serial
if-no-files-found: error
build_rootshell_and_rayhunter:
runs-on: ubuntu-latest
steps:
Expand All @@ -31,10 +32,11 @@ jobs:
- name: Install cross-compilation dependencies
uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: build-essential \
libc6-armhf-cross \
libc6-dev-armhf-cross \
gcc-arm-linux-gnueabihf
packages:
- build-essential
- libc6-armhf-cross
- libc6-dev-armhf-cross
- gcc-arm-linux-gnueabihf
version: 1.0
- name: Build rootshell (arm32)
run: cargo build --bin rootshell --target armv7-unknown-linux-gnueabihf --release
Expand All @@ -44,10 +46,12 @@ jobs:
with:
name: rootshell
path: target/armv7-unknown-linux-gnueabihf/release/rootshell
if-no-files-found: error
- uses: actions/upload-artifact@v4
with:
name: rayhunter-daemon
path: target/armv7-unknown-linux-gnueabihf/release/rayhunter-daemon
if-no-files-found: error
package_platform_zips:
needs:
- build_serial
Expand All @@ -57,6 +61,16 @@ jobs:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v4
with:
path: artifacts
- name: ls -R
run: ls -R artifacts
path: dist
- name: Archive release
uses: thedoctor0/[email protected]
with:
type: 'zip'
filename: 'release.zip'
directory: 'dist'
- name: Upload release
uses: actions/upload-artifact@v4
with:
name: release.zip
path: release.zip
if-no-files-found: error
56 changes: 56 additions & 0 deletions dist/install-common.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#!/bin/env bash

install() {
if [[ -z "${SERIAL_PATH}" ]]; then
echo "SERIAL_PATH not set, did you run this from install-linux.sh or install-mac.sh?"
exit 1
fi
check_adb
force_debug_mode
setup_rootshell
setup_rayhunter
}

check_adb() {
if ! command -v adb &> /dev/null
then
echo "adb not found, please ensure it's installed or check the README.md"
exit 1
fi
}

force_debug_mode() {
# Force a switch into the debug mode to enable ADB
$(SERIAL_PATH) AT
echo -n "adb enabled, waiting for reboot"
until adb shell true 2> /dev/null
do
echo -n .
sleep 1
done
echo
echo "it's alive!"
}

setup_rootshell() {
adb push target/armv7-unknown-linux-gnueabihf/release/rootshell /tmp/
$(SERIAL_PATH) "AT+SYSCMD=mv /tmp/rootshell /bin/rootshell"
sleep 1
$(SERIAL_PATH) "AT+SYSCMD=chown root /bin/rootshell"
sleep 1
$(SERIAL_PATH) "AT+SYSCMD=chmod 4755 /bin/rootshell"
echo "we have root!"
adb shell /bin/rootshell -c id
}

setup_rayhunter() {
adb shell '/bin/rootshell -c "mkdir /data/rayhunter"'
adb push config.toml.example /data/rayhunter/config.toml
adb push scripts/rayhunter_daemon /tmp/rayhunter_daemon
adb push scripts/misc-daemon /tmp/misc-daemon
adb shell '/bin/rootshell -c "mv /tmp/rayhunter_daemon /etc/init.d/rayhunter_daemon"'
adb shell '/bin/rootshell -c "mv /tmp/misc-daemon /etc/init.d/misc-daemon"'
adb shell '/bin/rootshell -c "chmod 755 /etc/init.d/rayhunter_daemon"'
adb shell '/bin/rootshell -c "chmod 755 /etc/init.d/misc-daemon"'
adb shell '/bin/rootshell -c "/etc/init.d/rayhunter_daemon start"'
}
6 changes: 6 additions & 0 deletions dist/install-linux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/env bash

set -e
export SERIAL_PATH="./serial-ubuntu-latest/serial"
. "$(dirname "$0")"/install-common.sh
install
6 changes: 6 additions & 0 deletions dist/install-mac.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/env bash

set -e
export SERIAL_PATH="./serial-mac-latest/serial"
. "$(dirname "$0")"/install-common.sh
install
1 change: 1 addition & 0 deletions dist/install-windows.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ECHO TODO
File renamed without changes.
File renamed without changes.

0 comments on commit dc5c800

Please sign in to comment.