Browse Source

Move umbrel-details to getumbrel/umbrel (#83)

swap
Mayank Chhabra 5 years ago
committed by GitHub
parent
commit
41e7425bc4
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      stage2/05-docker-compose/00-packages
  2. 1
      stage2/07-umbrel-details/00-packages
  3. 4
      stage2/07-umbrel-details/01-run.sh
  4. 109
      stage2/07-umbrel-details/files/umbrel-details

3
stage2/05-docker-compose/00-packages

@ -1,3 +1,4 @@
git
fswatch
jq
jq
python3-qrcode

1
stage2/07-umbrel-details/00-packages

@ -1 +0,0 @@
python3-qrcode

4
stage2/07-umbrel-details/01-run.sh

@ -1,4 +0,0 @@
#!/bin/bash -e
echo "Installing umbrel-details"
install -m 755 files/umbrel-details "${ROOTFS_DIR}"/usr/local/bin/umbrel-details

109
stage2/07-umbrel-details/files/umbrel-details

@ -1,109 +0,0 @@
#!/usr/bin/env python3
import sys
import os
import time
import subprocess
import io
import qrcode
umbrel_ascii = '''
,;###GGGGGGGGGGl#Sp
,##GGGlW""^' '`""%GGGG#S,
,#GGG" "lGG#o
#GGl^ '$GG#
,#GGb \GGG,
lGG" "GGG
#GGGlGGGl##p,,p##lGGl##p,,p###ll##GGGG
!GGGlW"""*GGGGGGG#""""WlGGGGG#W""*WGGGGS
"" "^ '" ""
@GGS lG#
!GGG !GGG
!GGG !GGG
!GGG !GGG
!GGG !GGG
!GGG !GGG
'GGG $GGl
"GGG#psqp##GG#
"%GGGGGG#"
'''.strip('\n')
def create_qr(data):
output_buffer = io.TextIOWrapper(io.BytesIO(), sys.stdout.encoding)
qr = qrcode.QRCode(border=0, error_correction=qrcode.constants.ERROR_CORRECT_Q)
qr.add_data(data)
qr.print_ascii(out=output_buffer)
output_buffer.seek(0)
qr_ascii = output_buffer.read().strip()
return qr_ascii
def combine_ascii(left_ascii, right_ascii, spacing=0):
left_lines = left_ascii.split('\n')
right_lines = right_ascii.split('\n')
no_left_lines = len(left_lines)
no_right_lines = len(right_lines)
left_width = max(list(map(lambda line: len(line), left_lines)))
max_height = max(no_left_lines, no_right_lines)
lines = []
for i in range(max_height):
left_line = left_lines[i] if i < no_left_lines else ""
right_line = right_lines[i] if i < no_right_lines else ""
padding = " " * ((left_width - len(left_line)) + spacing)
lines.append(left_line + padding + right_line)
return "\n".join(lines)
def read_file_when_available(file_path, timeout):
start = time.time()
while not os.path.exists(file_path):
if (time.time() - start) > timeout:
return False
time.sleep(1)
with open(file_path, "r") as file:
file_contents = file.read()
return file_contents
def run(command):
result = subprocess.run(command, stdout=subprocess.PIPE)
return result.stdout.decode('utf-8').rstrip("\n")
def main():
timeout = 30
tor_hostname_file = "/home/umbrel/umbrel/tor/data/web/hostname"
tor_hostname = read_file_when_available(tor_hostname_file, timeout)
ip = run(['hostname', '-I']).split(" ")[0]
if not tor_hostname or not ip:
print("Couldn't get connection details")
return
tor_hostname_qr_ascii = create_qr(tor_hostname.strip())
ascii_banner = combine_ascii(umbrel_ascii, tor_hostname_qr_ascii, spacing=10)
connection_details = f"""
{ascii_banner}
Your Umbrel is up and running at:
http://umbrel.local
http://{ip}
http://{tor_hostname}
"""
print(connection_details)
main()
Loading…
Cancel
Save