Removed old system files

This commit is contained in:
Andrew Lee 2020-11-15 13:44:30 -05:00
parent bcc38bf864
commit 4e99204820
Signed by: andrew
GPG key ID: 4DCE67C47836D125
14 changed files with 0 additions and 889 deletions

View file

@ -1,124 +0,0 @@
--[[
fLib by NDFJay
]]--
function exists(path)
local file = assert(io.open(path, "r"))
if file ~= nil then
file:close()
return true
end
return false
end
function getTable(path)
if exists(path) then
local file = io.open(path, "r")
local lines = {}
local i = 1
local line = file:read("*l")
while line ~= nil do
lines[i] = line
line = file:read("*l")
i = i + 1
end
file:close()
return lines
end
return {}
end
function getLine(path, n)
if exists(path) then
local lines = getTable(path)
return lines[n]
end
return ""
end
function getText(path)
if exists(path) then
local file = assert(io.open(path, "r"))
return file:read("*a")
end
return ""
end
function fappend(path, text)
local file = assert(io.open(path, "a"))
file:write(text.."\n")
file:close()
end
function fwrite(path, text)
local file = assert(io.open(path, "w"))
file:write(text)
file:close()
end
function fwriteAtStart(path, text)
local _text = getText(path)
fwrite(path, text.."\n".._text)
end
function fwriteFromTable(path, t)
local text = ""
for _, line in pairs(t) do
text = text..line.."\n"
end
fwrite(path, text)
end
function fappendFromTable(path, t)
local text = ""
for _, line in pairs(t) do
text = text..line.."\n"
end
fappend(path, text)
end
function fwriteAtStartFromTable(path, t)
local text = ""
for _, line in pairs(t) do
text = text..line.."\n"
end
fwriteAtStart(path, text)
end
function replaceLine(path, n, text)
local lines = getTable(path)
lines[n] = text
fwriteFromTable(path, lines)
end
function getName(path)
if exists(path) then
local lastSlashPos = 1
for i = 1, path:len() do
if path:sub(i, i) == "/" then
lastSlashPos = i
end
end
return path:sub(lastSlashPos + 1)
end
return ""
end
function getPath(path)
if exists(path) then
local lastSlashPos = 1
for i = 1, path:len() do
if path:sub(i, i) == "/" then
lastSlashPos = i
end
end
return path:sub(1, lastSlashPos)
end
return ""
end
function fremove(path)
os.remove(path)
end

View file

@ -1,209 +0,0 @@
------------------------------------------------------------------ utils
local controls = {["\n"]="\\n", ["\r"]="\\r", ["\t"]="\\t", ["\b"]="\\b", ["\f"]="\\f", ["\""]="\\\"", ["\\"]="\\\\"}
local function isArray(t)
local max = 0
for k,v in pairs(t) do
if type(k) ~= "number" then
return false
elseif k > max then
max = k
end
end
return max == #t
end
local whites = {['\n']=true; ['\r']=true; ['\t']=true; [' ']=true; [',']=true; [':']=true}
function removeWhite(str)
while whites[str:sub(1, 1)] do
str = str:sub(2)
end
return str
end
------------------------------------------------------------------ encoding
local function encodeCommon(val, pretty, tabLevel, tTracking)
local str = ""
-- Tabbing util
local function tab(s)
str = str .. ("\t"):rep(tabLevel) .. s
end
local function arrEncoding(val, bracket, closeBracket, iterator, loopFunc)
str = str .. bracket
if pretty then
str = str .. "\n"
tabLevel = tabLevel + 1
end
for k,v in iterator(val) do
tab("")
loopFunc(k,v)
str = str .. ","
if pretty then str = str .. "\n" end
end
if pretty then
tabLevel = tabLevel - 1
end
if str:sub(-2) == ",\n" then
str = str:sub(1, -3) .. "\n"
elseif str:sub(-1) == "," then
str = str:sub(1, -2)
end
tab(closeBracket)
end
-- Table encoding
if type(val) == "table" then
assert(not tTracking[val], "Cannot encode a table holding itself recursively")
tTracking[val] = true
if isArray(val) then
arrEncoding(val, "[", "]", ipairs, function(k,v)
str = str .. encodeCommon(v, pretty, tabLevel, tTracking)
end)
else
arrEncoding(val, "{", "}", pairs, function(k,v)
assert(type(k) == "string", "JSON object keys must be strings", 2)
str = str .. encodeCommon(k, pretty, tabLevel, tTracking)
str = str .. (pretty and ": " or ":") .. encodeCommon(v, pretty, tabLevel, tTracking)
end)
end
-- String encoding
elseif type(val) == "string" then
str = '"' .. val:gsub("[%c\"\\]", controls) .. '"'
-- Number encoding
elseif type(val) == "number" or type(val) == "boolean" then
str = tostring(val)
else
error("JSON only supports arrays, objects, numbers, booleans, and strings", 2)
end
return str
end
function encode(val)
return encodeCommon(val, false, 0, {})
end
function encodePretty(val)
return encodeCommon(val, true, 0, {})
end
------------------------------------------------------------------ decoding
local decodeControls = {}
for k,v in pairs(controls) do
decodeControls[v] = k
end
function parseBoolean(str)
if str:sub(1, 4) == "true" then
return true, removeWhite(str:sub(5))
else
return false, removeWhite(str:sub(6))
end
end
function parseNull(str)
return nil, removeWhite(str:sub(5))
end
local numChars = {['e']=true; ['E']=true; ['+']=true; ['-']=true; ['.']=true}
function parseNumber(str)
local i = 1
while numChars[str:sub(i, i)] or tonumber(str:sub(i, i)) do
i = i + 1
end
local val = tonumber(str:sub(1, i - 1))
str = removeWhite(str:sub(i))
return val, str
end
function parseString(str)
str = str:sub(2)
local s = ""
while str:sub(1,1) ~= "\"" do
local next = str:sub(1,1)
str = str:sub(2)
assert(next ~= "\n", "Unclosed string")
if next == "\\" then
local escape = str:sub(1,1)
str = str:sub(2)
next = assert(decodeControls[next..escape], "Invalid escape character")
end
s = s .. next
end
return s, removeWhite(str:sub(2))
end
function parseArray(str)
str = removeWhite(str:sub(2))
local val = {}
local i = 1
while str:sub(1, 1) ~= "]" do
local v = nil
v, str = parseValue(str)
val[i] = v
i = i + 1
str = removeWhite(str)
end
str = removeWhite(str:sub(2))
return val, str
end
function parseObject(str)
str = removeWhite(str:sub(2))
local val = {}
while str:sub(1, 1) ~= "}" do
local k, v = nil, nil
k, v, str = parseMember(str)
val[k] = v
str = removeWhite(str)
end
str = removeWhite(str:sub(2))
return val, str
end
function parseMember(str)
local k = nil
k, str = parseValue(str)
local val = nil
val, str = parseValue(str)
return k, val, str
end
function parseValue(str)
local fchar = str:sub(1, 1)
if fchar == "{" then
return parseObject(str)
elseif fchar == "[" then
return parseArray(str)
elseif tonumber(fchar) ~= nil or numChars[fchar] then
return parseNumber(str)
elseif str:sub(1, 4) == "true" or str:sub(1, 5) == "false" then
return parseBoolean(str)
elseif fchar == "\"" then
return parseString(str)
elseif str:sub(1, 4) == "null" then
return parseNull(str)
end
return nil
end
function decode(str)
str = removeWhite(str)
t = parseValue(str)
return t
end
function decodeFromFile(path)
local file = assert(fs.open(path, "r"))
local decoded = decode(file.readAll())
file.close()
return decoded
end

View file

@ -1,204 +0,0 @@
-- SHA-256, HMAC and PBKDF2 functions in ComputerCraft
-- By Anavrins
-- For help and details, you can PM me on the CC forums
-- http://www.computercraft.info/forums2/index.php?/user/12870-anavrins
-- You may use this code in your projects without asking me, as long as credit is given
-- Pastebin: https://pastebin.com/6UV4qfNF
-- Usage: https://pastebin.com/q2SQ7eRg
-- Last update: May 13, 2019
local mod32 = 2^32
local band = bit32 and bit32.band or bit.band
local bnot = bit32 and bit32.bnot or bit.bnot
local bxor = bit32 and bit32.bxor or bit.bxor
local blshift = bit32 and bit32.lshift or bit.blshift
local upack = unpack
local function rrotate(n, b)
local s = n/(2^b)
local f = s%1
return (s-f) + f*mod32
end
local function brshift(int, by) -- Thanks bit32 for bad rshift
local s = int / (2^by)
return s - s%1
end
local H = {
0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19,
}
local K = {
0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2,
}
local function counter(incr)
local t1, t2 = 0, 0
if 0xFFFFFFFF - t1 < incr then
t2 = t2 + 1
t1 = incr - (0xFFFFFFFF - t1) - 1
else t1 = t1 + incr
end
return t2, t1
end
local function BE_toInt(bs, i)
return blshift((bs[i] or 0), 24) + blshift((bs[i+1] or 0), 16) + blshift((bs[i+2] or 0), 8) + (bs[i+3] or 0)
end
local function preprocess(data)
local len = #data
local proc = {}
data[#data+1] = 0x80
while #data%64~=56 do data[#data+1] = 0 end
local blocks = math.ceil(#data/64)
for i = 1, blocks do
proc[i] = {}
for j = 1, 16 do
proc[i][j] = BE_toInt(data, 1+((i-1)*64)+((j-1)*4))
end
end
proc[blocks][15], proc[blocks][16] = counter(len*8)
return proc
end
local function digestblock(w, C)
for j = 17, 64 do
local v = w[j-15]
local s0 = bxor(bxor(rrotate(w[j-15], 7), rrotate(w[j-15], 18)), brshift(w[j-15], 3))
local s1 = bxor(bxor(rrotate(w[j-2], 17), rrotate(w[j-2], 19)), brshift(w[j-2], 10))
w[j] = (w[j-16] + s0 + w[j-7] + s1)%mod32
end
local a, b, c, d, e, f, g, h = upack(C)
for j = 1, 64 do
local S1 = bxor(bxor(rrotate(e, 6), rrotate(e, 11)), rrotate(e, 25))
local ch = bxor(band(e, f), band(bnot(e), g))
local temp1 = (h + S1 + ch + K[j] + w[j])%mod32
local S0 = bxor(bxor(rrotate(a, 2), rrotate(a, 13)), rrotate(a, 22))
local maj = bxor(bxor(band(a, b), band(a, c)), band(b, c))
local temp2 = (S0 + maj)%mod32
h, g, f, e, d, c, b, a = g, f, e, (d+temp1)%mod32, c, b, a, (temp1+temp2)%mod32
end
C[1] = (C[1] + a)%mod32
C[2] = (C[2] + b)%mod32
C[3] = (C[3] + c)%mod32
C[4] = (C[4] + d)%mod32
C[5] = (C[5] + e)%mod32
C[6] = (C[6] + f)%mod32
C[7] = (C[7] + g)%mod32
C[8] = (C[8] + h)%mod32
return C
end
local mt = {
__tostring = function(a) return string.char(unpack(a)) end,
__index = {
toHex = function(self, s) return ("%02x"):rep(#self):format(unpack(self)) end,
isEqual = function(self, t)
if type(t) ~= "table" then return false end
if #self ~= #t then return false end
local ret = 0
for i = 1, #self do
ret = bit32.bor(ret, bxor(self[i], t[i]))
end
return ret == 0
end
}
}
function toBytes(t, n)
local b = {}
for i = 1, n do
b[(i-1)*4+1] = band(brshift(t[i], 24), 0xFF)
b[(i-1)*4+2] = band(brshift(t[i], 16), 0xFF)
b[(i-1)*4+3] = band(brshift(t[i], 8), 0xFF)
b[(i-1)*4+4] = band(t[i], 0xFF)
end
return setmetatable(b, mt)
end
function digest(data)
local data = data or ""
data = type(data) == "table" and {upack(data)} or {tostring(data):byte(1,-1)}
data = preprocess(data)
local C = {upack(H)}
for i = 1, #data do C = digestblock(data[i], C) end
return toBytes(C, 8)
end
function hmac(data, key)
local data = type(data) == "table" and {upack(data)} or {tostring(data):byte(1,-1)}
local key = type(key) == "table" and {upack(key)} or {tostring(key):byte(1,-1)}
local blocksize = 64
key = #key > blocksize and digest(key) or key
local ipad = {}
local opad = {}
local padded_key = {}
for i = 1, blocksize do
ipad[i] = bxor(0x36, key[i] or 0)
opad[i] = bxor(0x5C, key[i] or 0)
end
for i = 1, #data do
ipad[blocksize+i] = data[i]
end
ipad = digest(ipad)
for i = 1, blocksize do
padded_key[i] = opad[i]
padded_key[blocksize+i] = ipad[i]
end
return digest(padded_key)
end
function pbkdf2(pass, salt, iter, dklen)
local salt = type(salt) == "table" and salt or {tostring(salt):byte(1,-1)}
local hashlen = 32
local dklen = dklen or 32
local block = 1
local out = {}
while dklen > 0 do
local ikey = {}
local isalt = {upack(salt)}
local clen = dklen > hashlen and hashlen or dklen
isalt[#isalt+1] = band(brshift(block, 24), 0xFF)
isalt[#isalt+1] = band(brshift(block, 16), 0xFF)
isalt[#isalt+1] = band(brshift(block, 8), 0xFF)
isalt[#isalt+1] = band(block, 0xFF)
for j = 1, iter do
isalt = hmac(isalt, pass)
for k = 1, clen do ikey[k] = bxor(isalt[k], ikey[k] or 0) end
if j % 200 == 0 then os.queueEvent("PBKDF2", j) coroutine.yield("PBKDF2") end
end
dklen = dklen - clen
block = block+1
for k = 1, clen do out[#out+1] = ikey[k] end
end
return setmetatable(out, mt)
end
return {
digest = digest,
hmac = hmac,
pbkdf2 = pbkdf2,
}

View file

@ -1,2 +0,0 @@
DO NOT DELETE THIS FILE.
This file is required for the updater.

View file

@ -1,86 +0,0 @@
--[[
bits-UI Boot: A boot script for bits-UI.
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
local version = "1.0 Alpha 2"
local desktop = "/system/desktop.lua"
term.clear()
term.setCursorPos(1,1)
print("Starting up bits-UI ".. version .."...")
sleep(1)
if term.isColor() then
term.setTextColor(colors.green)
print("[OK] Advanced Computer is detected...")
else
print("[ERROR] You need a advanced computer in order to make the UI functional...")
sleep(3)
os.shutdown()
end
sleep(1)
if fs.exists(desktop) then
term.setTextColor(colors.green)
print("[OK] Desktop has been found...")
else
term.setTextColor(colors.red)
print("[ERROR] Desktop cannot be found...")
sleep(2)
os.shutdown()
end
sleep(1)
if fs.exists("/home") then
term.setTextColor(colors.green)
print("[OK] Home has been found...")
else
fs.makeDir("/Home")
term.setTextColor(colors.green)
print("[OK] Home directory has been created...")
end
if fs.exists("/etc") then
term.setTextColor(colors.green)
print("[OK] Etc has been found...")
else
fs.makeDir("/etc")
term.setTextColor(colors.green)
print("[OK] Etc directory has been created...")
end
sleep(1)
if fs.exists("/home/.config") then
term.setTextColor(colors.green)
print("[OK] Config has been found...")
else
config = io.open("/home/.config", "w")
config:close()
term.setTextColor(colors.blue)
print("[INFO] Config has not been found!")
print("[INFO] You will be sent to the post installation setup...")
sleep(2)
shell.run("/system/post-setup.lua")
end
sleep(1)
term.setTextColor(colors.green)
print("[DONE] Boot sequence has been completed...")
term.setTextColor(colors.white)
sleep(1)
shell.run(desktop)

View file

@ -1,54 +0,0 @@
--[[
bits-UI Desktop: A Desktop for bits-UI
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
os.loadAPI("/system/apis/flib.lua")
local backgroundColour = 32768
local backgroundImage = "/home/.background"
local panelColour = 8192
local appTitle = "[Apps]"
function drawPanel()
local time = os.time()
local formattedTime = textutils.formatTime(time, false)
term.setCursorPos(1,1)
term.setBackgroundColor(panelColour)
term.setTextColor(1)
term.clearLine()
term.setCursorPos(2, 1)
print(appTitle)
term.setCursorPos(44, 1)
print(formattedTime)
end
function drawDesktop()
term.setBackgroundColor(backgroundColour)
term.clear()
bground = paintutils.loadImage(backgroundImage)
paintutils.drawImage(bground,1,1)
drawPanel()
end
--[[
if fs.exists("/programs") then
end
]]
-- Initialize Desktop
drawDesktop()
while true do
local event, button, X, Y = os.pullEventRaw()
drawDesktop()
end

View file

@ -1 +0,0 @@
-- Not available on this build!

View file

@ -1,64 +0,0 @@
--[[
bits-UI Setup: Post installation setup for bits-UI
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
os.loadAPI("/system/apis/sha256.lua")
os.loadAPI("/system/apis/json.lua")
local config = "/home/.config"
term.clear()
term.setCursorPos(1,1)
term.setTextColor(colors.white)
print("Welcome to the bits-UI Post Setup!")
sleep(2)
print("Please enter your password.")
--print("(Don't set your real password in servers.)")
local passPath = "/etc/passwd.pwd"
if fs.exists(passPath) then
print("[INFO] Password file exists! Skipping.")
sleep(2)
else
local passwd = read(" ")
local insertPasswd = fs.open(passPath, "a")
local hashedString = sha256.pbkdf2(passwd, 2, 32):toHex()
insertPasswd.writeLine(hashedString)
insertPasswd.close()
print("Thanks, I will save that.")
end
sleep(3)
term.clear()
term.setCursorPos(1,1)
term.setTextColor(colors.white)
print("Copying files to local user.")
fs.makeDir("/home/Documents")
fs.makeDir("/home/Downloads")
fs.makeDir("/home/Pictures")
if fs.exists("/system/skel/README.txt") then
shell.run("copy", "/system/skel/README.txt", "/home/Documents")
else
print("[ERROR] Unable to find README.txt...")
end
if fs.exists("/system/skel/.background") then
shell.run("copy", "/system/skel/.background", "/home")
else
print("[ERROR] Unable to find the background...")
end
sleep(1)
print("Finished copying files.")
sleep(2)
shell.run("/system/desktop.lua")

View file

@ -1,29 +0,0 @@
--[[
bits-UI Recovery Script: A script that's going to show you to either reset the computer or transfer files.
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
term.clear()
term.setCursorPos(1,1)
term.setTextColor(colors.white)
print("Welcome to the bits-UI recovery mode!")
sleep(2)
print("Do you want to either reset or transfer?")
local input = read();
if input == "reset" then
shell.run("/system/recovery/reset.lua")
elseif input == "transfer" then
shell.run("/system/recovery/transfer.lua")
else
os.reboot()
end

View file

@ -1,36 +0,0 @@
--[[
bits-UI Reset Script: A script that will wipe the system to the default factory settings.
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
function clear()
term.clear()
term.setCursorPos(1,1)
term.setTextColor(colors.white)
end
clear()
print("Are you sure you want to reset bits-UI? (y/n)")
local input = read()
if input == "y" then
print("Erasing all user stored data...")
fs.delete("/home")
fs.delete("/etc/passwd.pwd")
sleep(2)
print("Erased all data...")
sleep(2)
print("Rebooting...")
sleep(3)
os.reboot()
else
os.reboot()
end

View file

@ -1,29 +0,0 @@
--[[
bits-UI Transfer Script: A script that will transfer files from one system to the other.
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
term.clear()
term.setCursorPos(1,1)
term.setTextColor(colors.white)
print("Welcome to the bits-UI transfer!")
sleep(2)
if fs.exists("/disk") then
shell.run("copy", "/home", "/disk")
shell.run("copy", "/etc/passwd.pwd", "/disk")
else
print("You need a floppy disk to copy over data.")
print("Transfer has been halted.")
sleep(2)
os.reboot()
end

View file

@ -1,13 +0,0 @@
77777777777777777777
7ffffffffffffffffff7
7ff000fffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
7ffffffffffffffffff7
77777777777777777777

View file

@ -1,7 +0,0 @@
Thanks for downloading bits-UI!
Please note that this project is in very early development and there might not be as much features as you'll expect but in future builds will be more!
Oh yeah! Feel free to contribute to this project by the following link!
Source Code: https://github.com/aleeproductions/bits-UI

View file

@ -1,31 +0,0 @@
--[[
bits-UI Update: A boot loader for bits-UI
Copyright (C) 2020 Alee14
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
]]--
local gitMode = false
if fs.exists("/.git") then
gitMode = true
else
gitMode = false
end
if gitMode == true then
print("NOTICE: Git mode is set to true!\n\nWhich means that you cannot update, you must use Git to update.\n")
print("Args: \"git pull\"")
sleep(2)
os.reboot()
else
print("Running the updater...")
sleep(1)
shell.run("pastebin", "run", "7XY80hfG")
end