mirror of
https://github.com/Alee14/bits-UI.git
synced 2025-01-22 10:41:58 -05:00
Removed old system files
This commit is contained in:
parent
bcc38bf864
commit
4e99204820
14 changed files with 0 additions and 889 deletions
|
@ -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
|
|
@ -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
|
|
@ -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,
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
DO NOT DELETE THIS FILE.
|
||||
This file is required for the updater.
|
|
@ -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)
|
|
@ -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
|
|
@ -1 +0,0 @@
|
|||
-- Not available on this build!
|
|
@ -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")
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -1,13 +0,0 @@
|
|||
|
||||
|
||||
77777777777777777777
|
||||
7ffffffffffffffffff7
|
||||
7ff000fffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
7ffffffffffffffffff7
|
||||
77777777777777777777
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in a new issue