mirror of https://github.com/kepler155c/opus
require improvements, remove global Util
This commit is contained in:
parent
2b1d96ab37
commit
ae7508e89b
|
@ -1,6 +1,7 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
|
local Util = require('util')
|
||||||
local TableDB = require('tableDB')
|
local TableDB = require('tableDB')
|
||||||
local JSON = require('json')
|
local JSON = require('json')
|
||||||
|
|
||||||
-- see https://github.com/Khroki/MCEdit-Unified/blob/master/pymclevel/minecraft.yaml
|
-- see https://github.com/Khroki/MCEdit-Unified/blob/master/pymclevel/minecraft.yaml
|
||||||
-- see https://github.com/Khroki/MCEdit-Unified/blob/master/Items/minecraft/blocks.json
|
-- see https://github.com/Khroki/MCEdit-Unified/blob/master/Items/minecraft/blocks.json
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
local itemDB = require('itemDB')
|
local Util = require('util')
|
||||||
|
local itemDB = require('itemDB')
|
||||||
local Peripheral = require('peripheral')
|
local Peripheral = require('peripheral')
|
||||||
|
|
||||||
local ChestProvider = class()
|
local ChestProvider = class()
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local Event = {
|
local Event = {
|
||||||
uid = 1, -- unique id for handlers
|
uid = 1, -- unique id for handlers
|
||||||
routines = { }, -- coroutines
|
routines = { }, -- coroutines
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
local UI = require('ui')
|
local Util = require('util')
|
||||||
|
local UI = require('ui')
|
||||||
|
|
||||||
return function(args)
|
return function(args)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local ramfs = { }
|
local ramfs = { }
|
||||||
|
|
||||||
function ramfs.mount(dir, nodeType)
|
function ramfs.mount(dir, nodeType)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
local synchronized = require('sync')
|
local synchronized = require('sync')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local urlfs = { }
|
local urlfs = { }
|
||||||
|
|
||||||
|
|
|
@ -11,36 +11,6 @@ local DEFAULT_UPATH = 'https://raw.githubusercontent.com/kepler155c/opus/' .. br
|
||||||
local PASTEBIN_URL = 'http://pastebin.com/raw'
|
local PASTEBIN_URL = 'http://pastebin.com/raw'
|
||||||
local GIT_URL = 'https://raw.githubusercontent.com'
|
local GIT_URL = 'https://raw.githubusercontent.com'
|
||||||
|
|
||||||
local function standardSearcher(modname, env, shell)
|
|
||||||
if _G.package.loaded[modname] then
|
|
||||||
return function()
|
|
||||||
return _G.package.loaded[modname]
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function shellSearcher(modname, env, shell)
|
|
||||||
local fname = modname:gsub('%.', '/') .. '.lua'
|
|
||||||
|
|
||||||
if shell and type(shell.dir) == 'function' then
|
|
||||||
local path = shell.resolve(fname)
|
|
||||||
if fs.exists(path) and not fs.isDir(path) then
|
|
||||||
return loadfile(path, env)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
local function pathSearcher(modname, env, shell)
|
|
||||||
local fname = modname:gsub('%.', '/') .. '.lua'
|
|
||||||
|
|
||||||
for dir in string.gmatch(_G.package.path, "[^:]+") do
|
|
||||||
local path = fs.combine(dir, fname)
|
|
||||||
if fs.exists(path) and not fs.isDir(path) then
|
|
||||||
return loadfile(path, env)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
-- fix broken http get
|
-- fix broken http get
|
||||||
local syncLocks = { }
|
local syncLocks = { }
|
||||||
|
|
||||||
|
@ -81,83 +51,108 @@ local function loadUrl(url)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
-- require('BniCQPVf')
|
local function requireWrapper(env)
|
||||||
local function pastebinSearcher(modname, env, shell)
|
|
||||||
if #modname == 8 and not modname:match('%W') then
|
local function standardSearcher(modname, env, shell)
|
||||||
local url = PASTEBIN_URL .. '/' .. modname
|
if package.loaded[modname] then
|
||||||
local c = loadUrl(url)
|
return function()
|
||||||
if c then
|
return package.loaded[modname]
|
||||||
return load(c, modname, nil, env)
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- require('kepler155c.opus.master.sys.apis.util')
|
local function shellSearcher(modname, env, shell)
|
||||||
local function gitSearcher(modname, env, shell)
|
local fname = modname:gsub('%.', '/') .. '.lua'
|
||||||
local fname = modname:gsub('%.', '/') .. '.lua'
|
|
||||||
local _, count = fname:gsub("/", "")
|
if shell and type(shell.dir) == 'function' then
|
||||||
if count >= 3 then
|
local path = shell.resolve(fname)
|
||||||
local url = GIT_URL .. '/' .. fname
|
if fs.exists(path) and not fs.isDir(path) then
|
||||||
local c = loadUrl(url)
|
return loadfile(path, env)
|
||||||
if c then
|
end
|
||||||
return load(c, modname, nil, env)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
local function urlSearcher(modname, env, shell)
|
local function pathSearcher(modname, env, shell)
|
||||||
local fname = modname:gsub('%.', '/') .. '.lua'
|
local fname = modname:gsub('%.', '/') .. '.lua'
|
||||||
|
|
||||||
if fname:sub(1, 1) ~= '/' then
|
for dir in string.gmatch(package.path, "[^:]+") do
|
||||||
for entry in string.gmatch(_G.package.upath, "[^;]+") do
|
local path = fs.combine(dir, fname)
|
||||||
local url = entry .. '/' .. fname
|
if fs.exists(path) and not fs.isDir(path) then
|
||||||
|
return loadfile(path, env)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- require('BniCQPVf')
|
||||||
|
local function pastebinSearcher(modname, env, shell)
|
||||||
|
if #modname == 8 and not modname:match('%W') then
|
||||||
|
local url = PASTEBIN_URL .. '/' .. modname
|
||||||
local c = loadUrl(url)
|
local c = loadUrl(url)
|
||||||
if c then
|
if c then
|
||||||
return load(c, modname, nil, env)
|
return load(c, modname, nil, env)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
_G.package = {
|
-- require('kepler155c.opus.master.sys.apis.util')
|
||||||
path = LUA_PATH or 'sys/apis',
|
local function gitSearcher(modname, env, shell)
|
||||||
upath = LUA_UPATH or DEFAULT_UPATH,
|
local fname = modname:gsub('%.', '/') .. '.lua'
|
||||||
config = '/\n:\n?\n!\n-',
|
local _, count = fname:gsub("/", "")
|
||||||
loaded = {
|
if count >= 3 then
|
||||||
math = math,
|
local url = GIT_URL .. '/' .. fname
|
||||||
string = string,
|
local c = loadUrl(url)
|
||||||
table = table,
|
if c then
|
||||||
io = io,
|
return load(c, modname, nil, env)
|
||||||
os = os,
|
end
|
||||||
},
|
|
||||||
loaders = {
|
|
||||||
standardSearcher,
|
|
||||||
shellSearcher,
|
|
||||||
pathSearcher,
|
|
||||||
pastebinSearcher,
|
|
||||||
gitSearcher,
|
|
||||||
urlSearcher,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
local function requireWrapper(env)
|
|
||||||
|
|
||||||
local loaded = { }
|
|
||||||
|
|
||||||
return function(modname)
|
|
||||||
|
|
||||||
if loaded[modname] then
|
|
||||||
return loaded[modname]
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
for _,searcher in ipairs(_G.package.loaders) do
|
local function urlSearcher(modname, env, shell)
|
||||||
|
local fname = modname:gsub('%.', '/') .. '.lua'
|
||||||
|
|
||||||
|
if fname:sub(1, 1) ~= '/' then
|
||||||
|
for entry in string.gmatch(package.upath, "[^;]+") do
|
||||||
|
local url = entry .. '/' .. fname
|
||||||
|
local c = loadUrl(url)
|
||||||
|
if c then
|
||||||
|
return load(c, modname, nil, env)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
-- place package and require function into env
|
||||||
|
package = {
|
||||||
|
path = LUA_PATH or 'sys/apis',
|
||||||
|
upath = LUA_UPATH or DEFAULT_UPATH,
|
||||||
|
config = '/\n:\n?\n!\n-',
|
||||||
|
loaded = {
|
||||||
|
math = math,
|
||||||
|
string = string,
|
||||||
|
table = table,
|
||||||
|
io = io,
|
||||||
|
os = os,
|
||||||
|
},
|
||||||
|
loaders = {
|
||||||
|
standardSearcher,
|
||||||
|
shellSearcher,
|
||||||
|
pathSearcher,
|
||||||
|
pastebinSearcher,
|
||||||
|
gitSearcher,
|
||||||
|
urlSearcher,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function require(modname)
|
||||||
|
|
||||||
|
for _,searcher in ipairs(package.loaders) do
|
||||||
local fn, msg = searcher(modname, env, shell)
|
local fn, msg = searcher(modname, env, shell)
|
||||||
if fn then
|
if fn then
|
||||||
local module, msg = fn(modname, env)
|
local module, msg = fn(modname, env)
|
||||||
if not module then
|
if not module then
|
||||||
error(msg)
|
error(msg)
|
||||||
end
|
end
|
||||||
loaded[modname] = module
|
package.loaded[modname] = module
|
||||||
return module
|
return module
|
||||||
end
|
end
|
||||||
if msg then
|
if msg then
|
||||||
|
@ -166,6 +161,8 @@ local function requireWrapper(env)
|
||||||
end
|
end
|
||||||
error('Unable to find module ' .. modname)
|
error('Unable to find module ' .. modname)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
return require -- backwards compatible
|
||||||
end
|
end
|
||||||
|
|
||||||
return function(env)
|
return function(env)
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
local Util = require('util')
|
||||||
local TableDB = require('tableDB')
|
local TableDB = require('tableDB')
|
||||||
|
|
||||||
local itemDB = TableDB({ fileName = 'usr/etc/items.db' })
|
local itemDB = TableDB({ fileName = 'usr/etc/items.db' })
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local ME = {
|
local ME = {
|
||||||
jobList = { }
|
jobList = { }
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
local Logger = require('logger')
|
local Util = require('util')
|
||||||
|
local Logger = require('logger')
|
||||||
local Peripheral = require('peripheral')
|
local Peripheral = require('peripheral')
|
||||||
|
|
||||||
local MEProvider = class()
|
local MEProvider = class()
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local Peripheral = { }
|
local Peripheral = { }
|
||||||
|
|
||||||
local function getDeviceList()
|
local function getDeviceList()
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
local Util = require('util')
|
||||||
local Logger = require('logger')
|
local Logger = require('logger')
|
||||||
|
|
||||||
local Profile = {
|
local Profile = {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
|
local Util = require('util')
|
||||||
local Peripheral = require('peripheral')
|
local Peripheral = require('peripheral')
|
||||||
local itemDB = require('itemDB')
|
local itemDB = require('itemDB')
|
||||||
|
|
||||||
local RefinedProvider = class()
|
local RefinedProvider = class()
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
|
local Util = require('util')
|
||||||
local DEFLATE = require('deflatelua')
|
local DEFLATE = require('deflatelua')
|
||||||
local UI = require('ui')
|
local UI = require('ui')
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
Loading and manipulating a schematic
|
Loading and manipulating a schematic
|
||||||
|
|
|
@ -0,0 +1,56 @@
|
||||||
|
local Config = require('config')
|
||||||
|
|
||||||
|
local config = { }
|
||||||
|
|
||||||
|
local Security = { }
|
||||||
|
|
||||||
|
function Security.verifyPassword(password)
|
||||||
|
Config.load('os', config)
|
||||||
|
return config.password and password == config.password
|
||||||
|
end
|
||||||
|
|
||||||
|
function Security.getSecretKey()
|
||||||
|
Config.load('os', config)
|
||||||
|
if not config.secretKey then
|
||||||
|
config.secretKey = math.random(100000, 999999)
|
||||||
|
Config.update('os', config)
|
||||||
|
end
|
||||||
|
return config.secretKey
|
||||||
|
end
|
||||||
|
|
||||||
|
function Security.getPublicKey()
|
||||||
|
|
||||||
|
local exchange = {
|
||||||
|
base = 11,
|
||||||
|
primeMod = 625210769
|
||||||
|
}
|
||||||
|
|
||||||
|
local function modexp(base, exponent, modulo)
|
||||||
|
local remainder = base
|
||||||
|
|
||||||
|
for i = 1, exponent-1 do
|
||||||
|
remainder = remainder * remainder
|
||||||
|
if remainder >= modulo then
|
||||||
|
remainder = remainder % modulo
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
return remainder
|
||||||
|
end
|
||||||
|
|
||||||
|
local secretKey = Security.getSecretKey()
|
||||||
|
return modexp(exchange.base, secretKey, exchange.primeMod)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Security.updatePassword(password)
|
||||||
|
Config.load('os', config)
|
||||||
|
config.password = password
|
||||||
|
Config.update('os', config)
|
||||||
|
end
|
||||||
|
|
||||||
|
function Security.getPassword()
|
||||||
|
Config.load('os', config)
|
||||||
|
return config.password
|
||||||
|
end
|
||||||
|
|
||||||
|
return Security
|
|
@ -1,5 +1,7 @@
|
||||||
local Logger = require('logger')
|
local Crypto = require('crypto')
|
||||||
local Crypto = require('crypto')
|
local Logger = require('logger')
|
||||||
|
local Security = require('security')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local socketClass = { }
|
local socketClass = { }
|
||||||
|
|
||||||
|
@ -110,7 +112,7 @@ function Socket.connect(host, port)
|
||||||
type = 'OPEN',
|
type = 'OPEN',
|
||||||
shost = socket.shost,
|
shost = socket.shost,
|
||||||
dhost = socket.dhost,
|
dhost = socket.dhost,
|
||||||
t = Crypto.encrypt({ ts = os.time(), seq = socket.seq }, os.getPublicKey()),
|
t = Crypto.encrypt({ ts = os.time(), seq = socket.seq }, Security.getPublicKey()),
|
||||||
rseq = socket.wseq,
|
rseq = socket.wseq,
|
||||||
wseq = socket.rseq,
|
wseq = socket.rseq,
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local TableDB = class()
|
local TableDB = class()
|
||||||
function TableDB:init(args)
|
function TableDB:init(args)
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local Terminal = { }
|
local Terminal = { }
|
||||||
|
|
||||||
function Terminal.scrollable(ct, size)
|
function Terminal.scrollable(ct, size)
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
local Util = require('util')
|
local Util = require('util')
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local Tween = require('tween')
|
local Tween = require('tween')
|
||||||
local Region = require('region')
|
local Region = require('region')
|
||||||
|
|
||||||
local mapColorToGray = {
|
local mapColorToGray = {
|
||||||
|
@ -3425,7 +3425,7 @@ function UI.NftImage:setImage(image)
|
||||||
end
|
end
|
||||||
|
|
||||||
UI:loadTheme('usr/config/ui.theme')
|
UI:loadTheme('usr/config/ui.theme')
|
||||||
if os.getVersion and os.getVersion() >= 1.79 then
|
if Util.getVersion() >= 1.79 then
|
||||||
UI:loadTheme('sys/etc/ext.theme')
|
UI:loadTheme('sys/etc/ext.theme')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,19 @@ function Util.print(pattern, ...)
|
||||||
print(Util.tostring(pattern, ...))
|
print(Util.tostring(pattern, ...))
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function Util.getVersion()
|
||||||
|
local version
|
||||||
|
|
||||||
|
if _CC_VERSION then
|
||||||
|
version = tonumber(_CC_VERSION:gmatch('[%d]+%.?[%d][%d]', '%1')())
|
||||||
|
end
|
||||||
|
if not version and _HOST then
|
||||||
|
version = tonumber(_HOST:gmatch('[%d]+%.?[%d][%d]', '%1')())
|
||||||
|
end
|
||||||
|
|
||||||
|
return version or 1.7
|
||||||
|
end
|
||||||
|
|
||||||
function Util.runFunction(env, fn, ...)
|
function Util.runFunction(env, fn, ...)
|
||||||
setfenv(fn, env)
|
setfenv(fn, env)
|
||||||
setmetatable(env, { __index = _G })
|
setmetatable(env, { __index = _G })
|
||||||
|
|
|
@ -1,6 +1,32 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Util = require('util')
|
|
||||||
local UI = require('ui')
|
local Config = require('config')
|
||||||
|
local SHA1 = require('sha1')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
|
-- scrap this entire file. don't muck with standard apis
|
||||||
|
|
||||||
|
local REGISTRY_DIR = 'usr/.registry'
|
||||||
|
|
||||||
|
|
||||||
|
-- FIX SOMEDAY
|
||||||
|
function os.registerApp(app, key)
|
||||||
|
|
||||||
|
app.key = SHA1.sha1(key)
|
||||||
|
Util.writeTable(fs.combine(REGISTRY_DIR, app.key), app)
|
||||||
|
os.queueEvent('os_register_app')
|
||||||
|
end
|
||||||
|
|
||||||
|
function os.unregisterApp(key)
|
||||||
|
|
||||||
|
local filename = fs.combine(REGISTRY_DIR, SHA1.sha1(key))
|
||||||
|
if fs.exists(filename) then
|
||||||
|
fs.delete(filename)
|
||||||
|
os.queueEvent('os_register_app')
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
local sandboxEnv = Util.shallowCopy(getfenv(1))
|
local sandboxEnv = Util.shallowCopy(getfenv(1))
|
||||||
setmetatable(sandboxEnv, { __index = _G })
|
setmetatable(sandboxEnv, { __index = _G })
|
||||||
|
@ -149,7 +175,7 @@ end
|
||||||
local appPage = UI.Page({
|
local appPage = UI.Page({
|
||||||
backgroundColor = UI.ViewportWindow.defaults.backgroundColor,
|
backgroundColor = UI.ViewportWindow.defaults.backgroundColor,
|
||||||
menuBar = UI.MenuBar({
|
menuBar = UI.MenuBar({
|
||||||
showBackButton = not os.isPocket(),
|
showBackButton = not pocket,
|
||||||
buttons = {
|
buttons = {
|
||||||
{ text = 'Install', event = 'install' },
|
{ text = 'Install', event = 'install' },
|
||||||
{ text = 'Run', event = 'run' },
|
{ text = 'Run', event = 'run' },
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local UI = require('ui')
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Events')
|
multishell.setTitle(multishell.getCurrent(), 'Events')
|
||||||
UI:configure('Events', ...)
|
UI:configure('Events', ...)
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Util = require('util')
|
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local cleanEnv = Util.shallowCopy(getfenv(1))
|
local cleanEnv = Util.shallowCopy(getfenv(1))
|
||||||
cleanEnv.require = nil
|
cleanEnv.require = nil
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local UI = require('ui')
|
local UI = require('ui')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Help')
|
multishell.setTitle(multishell.getCurrent(), 'Help')
|
||||||
UI:configure('Help', ...)
|
UI:configure('Help', ...)
|
||||||
|
|
|
@ -1,14 +1,15 @@
|
||||||
local injector = requireInjector or load(http.get('http://pastebin.com/raw/c0TWsScv').readAll())()
|
local injector = requireInjector or load(http.get('http://pastebin.com/raw/c0TWsScv').readAll())()
|
||||||
require = injector(getfenv(1))
|
injector(getfenv(1))
|
||||||
local Util = require('util')
|
|
||||||
local UI = require('ui')
|
local Event = require('event')
|
||||||
local Event = require('event')
|
|
||||||
local History = require('history')
|
local History = require('history')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local sandboxEnv = Util.shallowCopy(getfenv(1))
|
local sandboxEnv = Util.shallowCopy(getfenv(1))
|
||||||
sandboxEnv.exit = function() Event.exitPullEvents() end
|
|
||||||
sandboxEnv.require = injector(sandboxEnv)
|
|
||||||
setmetatable(sandboxEnv, { __index = _G })
|
setmetatable(sandboxEnv, { __index = _G })
|
||||||
|
sandboxEnv.exit = function() Event.exitPullEvents() end
|
||||||
|
injector(sandboxEnv)
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Lua')
|
multishell.setTitle(multishell.getCurrent(), 'Lua')
|
||||||
UI:configure('Lua', ...)
|
UI:configure('Lua', ...)
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
local Event = require('event')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Network')
|
multishell.setTitle(multishell.getCurrent(), 'Network')
|
||||||
UI:configure('Network', ...)
|
UI:configure('Network', ...)
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Util = require('util')
|
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local Config = require('config')
|
|
||||||
local NFT = require('nft')
|
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
local FileUI = require('fileui')
|
local FileUI = require('fileui')
|
||||||
local Tween = require('tween')
|
local NFT = require('nft')
|
||||||
local SHA1 = require('sha1')
|
local SHA1 = require('sha1')
|
||||||
|
local Tween = require('tween')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local REGISTRY_DIR = 'usr/.registry'
|
local REGISTRY_DIR = 'usr/.registry'
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
local injector = requireInjector or load(http.get('http://pastebin.com/raw/c0TWsScv').readAll())()
|
requireInjector(getfenv(1))
|
||||||
require = injector(getfenv(1))
|
|
||||||
local Util = require('util')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local UI = require('ui')
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Devices')
|
multishell.setTitle(multishell.getCurrent(), 'Devices')
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'PIM')
|
multishell.setTitle(multishell.getCurrent(), 'PIM')
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local Socket = require('socket')
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
|
local Socket = require('socket')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local GROUPS_PATH = 'usr/groups'
|
local GROUPS_PATH = 'usr/groups'
|
||||||
local SCRIPTS_PATH = 'sys/etc/scripts'
|
local SCRIPTS_PATH = 'sys/etc/scripts'
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'System')
|
multishell.setTitle(multishell.getCurrent(), 'System')
|
||||||
UI:configure('System', ...)
|
UI:configure('System', ...)
|
||||||
|
@ -86,7 +88,7 @@ local systemPage = UI.Page {
|
||||||
grid = UI.ScrollingGrid {
|
grid = UI.ScrollingGrid {
|
||||||
y = 4,
|
y = 4,
|
||||||
values = {
|
values = {
|
||||||
{ name = 'CC version', value = os.getVersion() },
|
{ name = 'CC version', value = Util.getVersion() },
|
||||||
{ name = 'Lua version', value = _VERSION },
|
{ name = 'Lua version', value = _VERSION },
|
||||||
{ name = 'MC version', value = _MC_VERSION or 'unknown' },
|
{ name = 'MC version', value = _MC_VERSION or 'unknown' },
|
||||||
{ name = 'Disk free', value = Util.toBytes(fs.getFreeSpace('/')) },
|
{ name = 'Disk free', value = Util.toBytes(fs.getFreeSpace('/')) },
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local UI = require('ui')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Tabs')
|
multishell.setTitle(multishell.getCurrent(), 'Tabs')
|
||||||
UI:configure('Tabs', ...)
|
UI:configure('Tabs', ...)
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
local Event = require('event')
|
||||||
local Socket = require('socket')
|
local itemDB = require('itemDB')
|
||||||
|
local Socket = require('socket')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
local itemDB = require('itemDB')
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Turtles')
|
multishell.setTitle(multishell.getCurrent(), 'Turtles')
|
||||||
UI.Button.defaults.focusIndicator = ' '
|
UI.Button.defaults.focusIndicator = ' '
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
Base64 = require('base64')
|
Base64 = require('base64')
|
||||||
|
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
|
|
@ -2,19 +2,21 @@ if not turtle and not commands then
|
||||||
error('Must be run on a turtle or a command computer')
|
error('Must be run on a turtle or a command computer')
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Blocks = require('blocks')
|
||||||
local class = require('class')
|
local class = require('class')
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
local MEProvider = require('meProvider')
|
||||||
local Message = require('message')
|
local Message = require('message')
|
||||||
local UI = require('ui')
|
local Point = require('point')
|
||||||
local Schematic = require('schematic')
|
local Schematic = require('schematic')
|
||||||
local TableDB = require('tableDB')
|
local TableDB = require('tableDB')
|
||||||
local MEProvider = require('meProvider')
|
local UI = require('ui')
|
||||||
local Blocks = require('blocks')
|
local Util = require('util')
|
||||||
local Point = require('point')
|
|
||||||
|
|
||||||
local ChestProvider = require('chestProvider')
|
local ChestProvider = require('chestProvider')
|
||||||
if os.getVersion() == 1.8 then
|
if Util.getVersion() == 1.8 then
|
||||||
ChestProvider = require('chestProvider18')
|
ChestProvider = require('chestProvider18')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -685,7 +687,7 @@ end
|
||||||
-- figure out our orientation in the world
|
-- figure out our orientation in the world
|
||||||
function Builder:getTurtleFacing()
|
function Builder:getTurtleFacing()
|
||||||
|
|
||||||
if os.getVersion() == 1.8 then
|
if Util.getVersion() == 1.8 then
|
||||||
|
|
||||||
local directions = { -- reversed directions
|
local directions = { -- reversed directions
|
||||||
[5] = 'west',
|
[5] = 'west',
|
||||||
|
@ -935,7 +937,7 @@ function Builder:placeDirectionalBlock(b, slot, travelPlane)
|
||||||
local isSouth = (turtle.getHeadingInfo(Builder.facing).heading +
|
local isSouth = (turtle.getHeadingInfo(Builder.facing).heading +
|
||||||
turtle.getHeadingInfo(stairUpDirections[d]).heading) % 4 == 1
|
turtle.getHeadingInfo(stairUpDirections[d]).heading) % 4 == 1
|
||||||
|
|
||||||
if os.getVersion() == 1.8 then
|
if Util.getVersion() == 1.8 then
|
||||||
isSouth = false -- no stair bug in this version
|
isSouth = false -- no stair bug in this version
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local UI = require('ui')
|
|
||||||
local Event = require('event')
|
local ChestProvider = require('chestProvider18')
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
local ChestProvider = require('chestProvider18')
|
local Event = require('event')
|
||||||
|
local itemDB = require('itemDB')
|
||||||
|
local Peripheral = require('peripheral')
|
||||||
local RefinedProvider = require('refinedProvider')
|
local RefinedProvider = require('refinedProvider')
|
||||||
local itemDB = require('itemDB')
|
local Terminal = require('terminal')
|
||||||
local Terminal = require('terminal')
|
local UI = require('ui')
|
||||||
local Peripheral = require('peripheral')
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Resource Manager')
|
multishell.setTitle(multishell.getCurrent(), 'Resource Manager')
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ if not clipboard then
|
||||||
|
|
||||||
function clipboard.getText()
|
function clipboard.getText()
|
||||||
if clipboard.data then
|
if clipboard.data then
|
||||||
return Util.tostring(clipboard.data)
|
return tostring(clipboard.data)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
local injector = requireInjector or load(http.get('http://pastebin.com/raw/c0TWsScv').readAll())()
|
requireInjector(getfenv(1))
|
||||||
require = injector(getfenv(1))
|
|
||||||
|
|
||||||
local RefinedProvider = require('refinedProvider')
|
local RefinedProvider = require('refinedProvider')
|
||||||
local TableDB = require('tableDB')
|
local TableDB = require('tableDB')
|
||||||
|
|
||||||
local controller = RefinedProvider()
|
local controller = RefinedProvider()
|
||||||
if not controller:isValid() then
|
if not controller:isValid() then
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
|
local Event = require('event')
|
||||||
local Message = require('message')
|
local Message = require('message')
|
||||||
local UI = require('ui')
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Log Monitor')
|
multishell.setTitle(multishell.getCurrent(), 'Log Monitor')
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
|
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Socket = require('socket')
|
|
||||||
|
local Event = require('event')
|
||||||
|
local Logger = require('logger')
|
||||||
|
local Socket = require('socket')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
local Logger = require('logger')
|
local Util = require('util')
|
||||||
local Event = require('event')
|
|
||||||
|
|
||||||
Logger.setScreenLogging()
|
Logger.setScreenLogging()
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local Socket = require('socket')
|
|
||||||
local Logger = require('logger')
|
local Logger = require('logger')
|
||||||
|
local Socket = require('socket')
|
||||||
|
|
||||||
Logger.setScreenLogging()
|
Logger.setScreenLogging()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
local args = { ... }
|
||||||
|
|
||||||
|
local target = table.remove(args, 1)
|
||||||
|
target = shell.resolve(target)
|
||||||
|
|
||||||
|
fs.mount(target, unpack(args))
|
|
@ -14,10 +14,15 @@ end
|
||||||
|
|
||||||
multishell.term = term.current()
|
multishell.term = term.current()
|
||||||
|
|
||||||
local defaultEnv = Util.shallowCopy(getfenv(1))
|
local defaultEnv = { }
|
||||||
|
for k,v in pairs(getfenv(1)) do
|
||||||
|
defaultEnv[k] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
-- Begin multishell
|
-- Begin multishell
|
||||||
local parentTerm = term.current()
|
local parentTerm = term.current()
|
||||||
|
@ -557,9 +562,7 @@ while true do
|
||||||
elseif sEvent == "mouse_click" then
|
elseif sEvent == "mouse_click" then
|
||||||
local button, x, y = tEventData[1], tEventData[2], tEventData[3]
|
local button, x, y = tEventData[1], tEventData[2], tEventData[3]
|
||||||
lastClicked = nil
|
lastClicked = nil
|
||||||
if y == 1 and os.locked then
|
if y == 1 then
|
||||||
-- ignore
|
|
||||||
elseif y == 1 then
|
|
||||||
-- Switch process
|
-- Switch process
|
||||||
local w, h = parentTerm.getSize()
|
local w, h = parentTerm.getSize()
|
||||||
if x == 1 then
|
if x == 1 then
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local SHA1 = require('sha1')
|
|
||||||
|
local Security = require('security')
|
||||||
|
local SHA1 = require('sha1')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
|
|
||||||
local password = Terminal.readPassword('Enter new password: ')
|
local password = Terminal.readPassword('Enter new password: ')
|
||||||
|
|
||||||
if password then
|
if password then
|
||||||
os.updatePassword(SHA1.sha1(password))
|
Security.updatePassword(SHA1.sha1(password))
|
||||||
print('Password updated')
|
print('Password updated')
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local GPS = require('gps')
|
|
||||||
local Socket = require('socket')
|
|
||||||
local MEProvider = require('meProvider')
|
|
||||||
local Logger = require('logger')
|
|
||||||
local Point = require('point')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
local GPS = require('gps')
|
||||||
|
local Logger = require('logger')
|
||||||
|
local MEProvider = require('meProvider')
|
||||||
|
local Point = require('point')
|
||||||
|
local Socket = require('socket')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
if not device.wireless_modem then
|
if not device.wireless_modem then
|
||||||
error('Modem is required')
|
error('Modem is required')
|
||||||
|
|
|
@ -2,11 +2,13 @@ if not device.wireless_modem then
|
||||||
error('Wireless modem is required')
|
error('Wireless modem is required')
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local GPS = require('gps')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local UI = require('ui')
|
local GPS = require('gps')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Pickup Remote')
|
multishell.setTitle(multishell.getCurrent(), 'Pickup Remote')
|
||||||
|
|
||||||
|
|
|
@ -14,6 +14,10 @@ local version = "Version 1.1.6"
|
||||||
-- Original code by Bomb Bloke
|
-- Original code by Bomb Bloke
|
||||||
-- Modified to integrate with opus os
|
-- Modified to integrate with opus os
|
||||||
|
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local recTerm, oldTerm, arg, showInput, skipLast, lastDelay, curInput = {}, Util.shallowCopy(multishell.term), {...}, false, false, 2, ""
|
local recTerm, oldTerm, arg, showInput, skipLast, lastDelay, curInput = {}, Util.shallowCopy(multishell.term), {...}, false, false, 2, ""
|
||||||
local curBlink, oldBlink, tTerm, buffer, colourNum, xPos, yPos, oldXPos, oldYPos, tCol, bCol, xSize, ySize = false, false, {}, {}, {}, 1, 1, 1, 1, colours.white, colours.black, oldTerm.getSize()
|
local curBlink, oldBlink, tTerm, buffer, colourNum, xPos, yPos, oldXPos, oldYPos, tCol, bCol, xSize, ySize = false, false, {}, {}, {}, 1, 1, 1, 1, colours.white, colours.black, oldTerm.getSize()
|
||||||
local greys, buttons = {["0"] = true, ["7"] = true, ["8"] = true, ["f"] = true}, {"l", "r", "m"}
|
local greys, buttons = {["0"] = true, ["7"] = true, ["8"] = true, ["f"] = true}, {"l", "r", "m"}
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
local injector = requireInjector or load(http.get('http://pastebin.com/raw/c0TWsScv').readAll())()
|
requireInjector(getfenv(1))
|
||||||
require = injector(getfenv(1))
|
|
||||||
|
|
||||||
local UI = require('ui')
|
local Peripheral = require('peripheral')
|
||||||
local RefinedProvider = require('refinedProvider')
|
local RefinedProvider = require('refinedProvider')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
local Peripheral = require('peripheral')
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local controller = RefinedProvider()
|
local controller = RefinedProvider()
|
||||||
if not controller:isValid() then
|
if not controller:isValid() then
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local UI = require('ui')
|
|
||||||
local GPS = require('gps')
|
local GPS = require('gps')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Shapes')
|
multishell.setTitle(multishell.getCurrent(), 'Shapes')
|
||||||
|
|
||||||
|
@ -11,10 +13,12 @@ turtleId = tonumber(turtleId)
|
||||||
|
|
||||||
local script = [[
|
local script = [[
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local GPS = require('gps')
|
local GPS = require('gps')
|
||||||
local ChestProvider = require('chestProvider18')
|
local ChestProvider = require('chestProvider18')
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local itemProvider
|
local itemProvider
|
||||||
|
|
||||||
|
@ -245,8 +249,10 @@ end)
|
||||||
|
|
||||||
local levelScript = [[
|
local levelScript = [[
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local checkedNodes = { }
|
local checkedNodes = { }
|
||||||
local nodes = { }
|
local nodes = { }
|
||||||
|
|
|
@ -1,9 +1,16 @@
|
||||||
local parentShell = shell
|
local parentShell = shell
|
||||||
|
|
||||||
shell = { }
|
shell = { }
|
||||||
local sandboxEnv = Util.shallowCopy(getfenv(1))
|
local sandboxEnv = { }
|
||||||
|
for k,v in pairs(getfenv(1)) do
|
||||||
|
sandboxEnv[k] = v
|
||||||
|
end
|
||||||
setmetatable(sandboxEnv, { __index = _G })
|
setmetatable(sandboxEnv, { __index = _G })
|
||||||
|
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local DIR = (parentShell and parentShell.dir()) or ""
|
local DIR = (parentShell and parentShell.dir()) or ""
|
||||||
local PATH = (parentShell and parentShell.path()) or ".:/rom/programs"
|
local PATH = (parentShell and parentShell.path()) or ".:/rom/programs"
|
||||||
local ALIASES = (parentShell and parentShell.aliases()) or {}
|
local ALIASES = (parentShell and parentShell.aliases()) or {}
|
||||||
|
@ -223,8 +230,7 @@ if #tArgs > 0 then
|
||||||
return s, m
|
return s, m
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
local Config = require('config')
|
||||||
local Config = require('config')
|
|
||||||
local History = require('history')
|
local History = require('history')
|
||||||
|
|
||||||
local config = {
|
local config = {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Point = require('point')
|
|
||||||
local Logger = require('logger')
|
local Logger = require('logger')
|
||||||
|
local Point = require('point')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
if device and device.wireless_modem then
|
if device and device.wireless_modem then
|
||||||
Logger.setWirelessLogging()
|
Logger.setWirelessLogging()
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Util = require('util')
|
|
||||||
local Event = require('event')
|
local ChestProvider = require('chestProvider18')
|
||||||
local UI = require('ui')
|
local Event = require('event')
|
||||||
|
local MEProvider = require('meProvider')
|
||||||
local RefinedProvider = require('refinedProvider')
|
local RefinedProvider = require('refinedProvider')
|
||||||
local MEProvider = require('meProvider')
|
local UI = require('ui')
|
||||||
local ChestProvider = require('chestProvider18')
|
local Util = require('util')
|
||||||
|
|
||||||
local storage = RefinedProvider()
|
local storage = RefinedProvider()
|
||||||
if not storage:isValid() then
|
if not storage:isValid() then
|
||||||
|
|
|
@ -1,9 +1,11 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local UI = require('ui')
|
|
||||||
local ME = require('me')
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
|
local Event = require('event')
|
||||||
local Logger = require('logger')
|
local Logger = require('logger')
|
||||||
|
local ME = require('me')
|
||||||
|
local UI = require('ui')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
-- Must be a crafty turtle with duck antenna !
|
-- Must be a crafty turtle with duck antenna !
|
||||||
-- 3 wide monitor (any side of turtle)
|
-- 3 wide monitor (any side of turtle)
|
||||||
|
|
|
@ -1,10 +1,12 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Logger = require('logger')
|
|
||||||
local Message = require('message')
|
local Event = require('event')
|
||||||
local Event = require('event')
|
local Logger = require('logger')
|
||||||
local Point = require('point')
|
|
||||||
local TableDB = require('tableDB')
|
|
||||||
local MEProvider = require('meProvider')
|
local MEProvider = require('meProvider')
|
||||||
|
local Message = require('message')
|
||||||
|
local Point = require('point')
|
||||||
|
local TableDB = require('tableDB')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
A supplier turtle for the builder turtle. For larger builds, use
|
A supplier turtle for the builder turtle. For larger builds, use
|
||||||
|
@ -19,7 +21,7 @@ local MEProvider = require('meProvider')
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
local ChestProvider = require('chestProvider')
|
local ChestProvider = require('chestProvider')
|
||||||
if os.getVersion() == 1.8 then
|
if Util.getVersion() == 1.8 then
|
||||||
ChestProvider = require('chestProvider18')
|
ChestProvider = require('chestProvider18')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local Socket = require('socket')
|
local Event = require('event')
|
||||||
|
local Socket = require('socket')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local remoteId
|
local remoteId
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
@ -69,7 +71,7 @@ while true do
|
||||||
print()
|
print()
|
||||||
print('Connection lost')
|
print('Connection lost')
|
||||||
print('Press enter to exit')
|
print('Press enter to exit')
|
||||||
read()
|
pcall(read)
|
||||||
break
|
break
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Socket = require('socket')
|
|
||||||
local SHA1 = require('sha1')
|
local Crypto = require('crypto')
|
||||||
|
local Security = require('security')
|
||||||
|
local SHA1 = require('sha1')
|
||||||
|
local Socket = require('socket')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
local Crypto = require('crypto')
|
|
||||||
|
|
||||||
local remoteId
|
local remoteId
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
@ -31,7 +33,7 @@ if not socket then
|
||||||
error('Unable to connect to ' .. remoteId .. ' on port 19')
|
error('Unable to connect to ' .. remoteId .. ' on port 19')
|
||||||
end
|
end
|
||||||
|
|
||||||
local publicKey = os.getPublicKey()
|
local publicKey = Security.getPublicKey()
|
||||||
local password = SHA1.sha1(password)
|
local password = SHA1.sha1(password)
|
||||||
|
|
||||||
socket:write(Crypto.encrypt({ pk = publicKey, dh = os.getComputerID() }, password))
|
socket:write(Crypto.encrypt({ pk = publicKey, dh = os.getComputerID() }, password))
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
local Socket = require('socket')
|
local Event = require('event')
|
||||||
|
local Socket = require('socket')
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local remoteId
|
local remoteId
|
||||||
local args = { ... }
|
local args = { ... }
|
||||||
|
|
|
@ -5,7 +5,8 @@ if turtle and device.wireless_modem then
|
||||||
|
|
||||||
if homePt then
|
if homePt then
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
local config = {
|
local config = {
|
||||||
destructive = false,
|
destructive = false,
|
||||||
|
|
|
@ -2,7 +2,7 @@ print('\nStarting Opus..')
|
||||||
|
|
||||||
LUA_PATH = '/sys/apis'
|
LUA_PATH = '/sys/apis'
|
||||||
|
|
||||||
_G.Util = dofile('sys/apis/util.lua')
|
local Util = dofile('sys/apis/util.lua')
|
||||||
_G.debug = function(...) Util.print(...) end
|
_G.debug = function(...) Util.print(...) end
|
||||||
_G.requireInjector = dofile('sys/apis/injector.lua')
|
_G.requireInjector = dofile('sys/apis/injector.lua')
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
local function follow(id)
|
local function follow(id)
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Socket = require('socket')
|
|
||||||
local Point = require('point')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
local Point = require('point')
|
||||||
|
local Socket = require('socket')
|
||||||
|
|
||||||
turtle.status = 'follow ' .. id
|
turtle.status = 'follow ' .. id
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local checkedNodes = { }
|
local checkedNodes = { }
|
||||||
local nodes = { }
|
local nodes = { }
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
turtle.run(function()
|
turtle.run(function()
|
||||||
require = requireInjector(getfenv(1))
|
|
||||||
local GPS = require('gps')
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local GPS = require('gps')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
|
|
||||||
local id = {COMPUTER_ID}
|
local id = {COMPUTER_ID}
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local checkedNodes, nodes
|
local checkedNodes, nodes
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,10 @@
|
||||||
local function summon(id)
|
local function summon(id)
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local GPS = require('gps')
|
|
||||||
|
local GPS = require('gps')
|
||||||
|
local Point = require('point')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
local Point = require('point')
|
|
||||||
|
|
||||||
turtle.status = 'GPSing'
|
turtle.status = 'GPSing'
|
||||||
turtle.setPoint({ x = 0, y = 0, z = 0, heading = 0 })
|
turtle.setPoint({ x = 0, y = 0, z = 0, heading = 0 })
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
_G.clipboard = { internal, data }
|
_G.clipboard = { internal, data }
|
||||||
|
|
||||||
function clipboard.getData()
|
function clipboard.getData()
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
_G.device = { }
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
|
||||||
local Peripheral = require('peripheral')
|
local Peripheral = require('peripheral')
|
||||||
|
|
||||||
|
_G.device = { }
|
||||||
|
|
||||||
for _,side in pairs(peripheral.getNames()) do
|
for _,side in pairs(peripheral.getNames()) do
|
||||||
Peripheral.addDevice(device, side)
|
Peripheral.addDevice(device, side)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,172 +0,0 @@
|
||||||
require = requireInjector(getfenv(1))
|
|
||||||
local Config = require('config')
|
|
||||||
local SHA1 = require('sha1')
|
|
||||||
|
|
||||||
local REGISTRY_DIR = 'usr/.registry'
|
|
||||||
|
|
||||||
local config = {
|
|
||||||
enable = false,
|
|
||||||
pocketId = 10,
|
|
||||||
distance = 8,
|
|
||||||
}
|
|
||||||
|
|
||||||
local lockId
|
|
||||||
|
|
||||||
function lockScreen()
|
|
||||||
require = requireInjector(getfenv(1))
|
|
||||||
local UI = require('ui')
|
|
||||||
local Event = require('event')
|
|
||||||
|
|
||||||
local center = math.floor(UI.term.width / 2)
|
|
||||||
|
|
||||||
local page = UI.Page({
|
|
||||||
backgroundColor = colors.blue,
|
|
||||||
prompt = UI.Text({
|
|
||||||
x = center - 9,
|
|
||||||
y = math.floor(UI.term.height / 2),
|
|
||||||
value = 'Password',
|
|
||||||
}),
|
|
||||||
password = UI.TextEntry({
|
|
||||||
x = center,
|
|
||||||
y = math.floor(UI.term.height / 2),
|
|
||||||
width = 8,
|
|
||||||
limit = 8
|
|
||||||
}),
|
|
||||||
statusBar = UI.StatusBar(),
|
|
||||||
accelerators = {
|
|
||||||
q = 'back',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
|
|
||||||
function page:eventHandler(event)
|
|
||||||
if event.type == 'key' and event.key == 'enter' then
|
|
||||||
Config.load('os', config)
|
|
||||||
if SHA1.sha1(self.password.value) == config.password then
|
|
||||||
os.locked = false
|
|
||||||
Event.exitPullEvents()
|
|
||||||
lockId = false
|
|
||||||
return true
|
|
||||||
else
|
|
||||||
self.statusBar:timedStatus('Invalid Password', 3)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
UI.Page.eventHandler(self, event)
|
|
||||||
end
|
|
||||||
|
|
||||||
UI:setPage(page)
|
|
||||||
Event.pullEvents()
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.verifyPassword(password)
|
|
||||||
Config.load('os', config)
|
|
||||||
return config.password and password == config.password
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.getSecretKey()
|
|
||||||
Config.load('os', config)
|
|
||||||
if not config.secretKey then
|
|
||||||
config.secretKey = math.random(100000, 999999)
|
|
||||||
Config.update('os', config)
|
|
||||||
end
|
|
||||||
return config.secretKey
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.getPublicKey()
|
|
||||||
|
|
||||||
local exchange = {
|
|
||||||
base = 11,
|
|
||||||
primeMod = 625210769
|
|
||||||
}
|
|
||||||
|
|
||||||
local function modexp(base, exponent, modulo)
|
|
||||||
local remainder = base
|
|
||||||
|
|
||||||
for i = 1, exponent-1 do
|
|
||||||
remainder = remainder * remainder
|
|
||||||
if remainder >= modulo then
|
|
||||||
remainder = remainder % modulo
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
return remainder
|
|
||||||
end
|
|
||||||
|
|
||||||
local secretKey = os.getSecretKey()
|
|
||||||
return modexp(exchange.base, secretKey, exchange.primeMod)
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.updatePassword(password)
|
|
||||||
Config.load('os', config)
|
|
||||||
config.password = password
|
|
||||||
Config.update('os', config)
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.getPassword()
|
|
||||||
Config.load('os', config)
|
|
||||||
return config.password
|
|
||||||
end
|
|
||||||
|
|
||||||
os.lock = function()
|
|
||||||
--os.locked = true
|
|
||||||
|
|
||||||
if not lockId then
|
|
||||||
lockId = multishell.openTab({
|
|
||||||
title = 'Lock',
|
|
||||||
env = getfenv(1),
|
|
||||||
fn = lockScreen,
|
|
||||||
focused = true,
|
|
||||||
})
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
os.unlock = function()
|
|
||||||
os.locked = false
|
|
||||||
|
|
||||||
if lockId then
|
|
||||||
multishell.terminate(lockId)
|
|
||||||
lockId = nil
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.isTurtle()
|
|
||||||
return not not turtle
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.isAdvanced()
|
|
||||||
return term.native().isColor()
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.isPocket()
|
|
||||||
return not not pocket
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.getVersion()
|
|
||||||
local version
|
|
||||||
|
|
||||||
if _CC_VERSION then
|
|
||||||
version = tonumber(_CC_VERSION:gmatch('[%d]+%.?[%d][%d]', '%1')())
|
|
||||||
end
|
|
||||||
if not version and _HOST then
|
|
||||||
version = tonumber(_HOST:gmatch('[%d]+%.?[%d][%d]', '%1')())
|
|
||||||
end
|
|
||||||
|
|
||||||
return version or 1.7
|
|
||||||
end
|
|
||||||
|
|
||||||
-- move completely into overview
|
|
||||||
-- just post event from appstore
|
|
||||||
function os.registerApp(app, key)
|
|
||||||
|
|
||||||
app.key = SHA1.sha1(key)
|
|
||||||
Util.writeTable(fs.combine(REGISTRY_DIR, app.key), app)
|
|
||||||
os.queueEvent('os_register_app')
|
|
||||||
end
|
|
||||||
|
|
||||||
function os.unregisterApp(key)
|
|
||||||
|
|
||||||
local filename = fs.combine(REGISTRY_DIR, SHA1.sha1(key))
|
|
||||||
if fs.exists(filename) then
|
|
||||||
fs.delete(filename)
|
|
||||||
os.queueEvent('os_register_app')
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -2,10 +2,11 @@ if not turtle then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Grid = require ("jumper.grid")
|
|
||||||
|
local Grid = require ("jumper.grid")
|
||||||
local Pathfinder = require ("jumper.pathfinder")
|
local Pathfinder = require ("jumper.pathfinder")
|
||||||
local Point = require('point')
|
local Point = require('point')
|
||||||
|
|
||||||
local WALKABLE = 0
|
local WALKABLE = 0
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,10 @@ if not turtle then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local Scheduler = {
|
local Scheduler = {
|
||||||
uid = 0,
|
uid = 0,
|
||||||
queue = { },
|
queue = { },
|
||||||
|
|
|
@ -2,7 +2,7 @@ if not turtle then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local GPS = require('gps')
|
local GPS = require('gps')
|
||||||
|
|
||||||
function turtle.enableGPS(timeout)
|
function turtle.enableGPS(timeout)
|
||||||
|
|
|
@ -2,6 +2,10 @@ if not turtle then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local function noop() end
|
local function noop() end
|
||||||
|
|
||||||
turtle.point = { x = 0, y = 0, z = 0, heading = 0 }
|
turtle.point = { x = 0, y = 0, z = 0, heading = 0 }
|
||||||
|
|
|
@ -2,7 +2,9 @@ if fs.native then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
fs.native = Util.shallowCopy(fs)
|
fs.native = Util.shallowCopy(fs)
|
||||||
|
|
||||||
local fstypes = { }
|
local fstypes = { }
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
|
local Event = require('event')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
local Event = require('event')
|
|
||||||
|
|
||||||
local fileUid = 0
|
local fileUid = 0
|
||||||
local fileHandles = { }
|
local fileHandles = { }
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
|
local Event = require('event')
|
||||||
|
local GPS = require('gps')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
local GPS = require('gps')
|
local Util = require('util')
|
||||||
local Event = require('event')
|
|
||||||
|
|
||||||
-- move this into gps api
|
-- move this into gps api
|
||||||
local gpsRequested
|
local gpsRequested
|
||||||
|
|
|
@ -1,10 +1,13 @@
|
||||||
|
local Event = require('event')
|
||||||
local Socket = require('socket')
|
local Socket = require('socket')
|
||||||
local Event = require('event')
|
local Util = require('util')
|
||||||
|
|
||||||
local function telnetHost(socket)
|
local function telnetHost(socket)
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
|
||||||
local methods = { 'clear', 'clearLine', 'setCursorPos', 'write', 'blit',
|
local methods = { 'clear', 'clearLine', 'setCursorPos', 'write', 'blit',
|
||||||
'setTextColor', 'setTextColour', 'setBackgroundColor',
|
'setTextColor', 'setTextColour', 'setBackgroundColor',
|
||||||
'setBackgroundColour', 'scroll', 'setCursorBlink', }
|
'setBackgroundColour', 'scroll', 'setCursorBlink', }
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
local Socket = require('socket')
|
local Crypto = require('crypto')
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
local Crypto = require('crypto')
|
local Security = require('security')
|
||||||
|
local Socket = require('socket')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
Event.addRoutine(function()
|
Event.addRoutine(function()
|
||||||
|
|
||||||
|
@ -12,7 +14,7 @@ Event.addRoutine(function()
|
||||||
|
|
||||||
local data = socket:read(2)
|
local data = socket:read(2)
|
||||||
if data then
|
if data then
|
||||||
local password = os.getPassword()
|
local password = Security.getPassword()
|
||||||
if not password then
|
if not password then
|
||||||
socket:write({ msg = 'No password has been set' })
|
socket:write({ msg = 'No password has been set' })
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
local Socket = require('socket')
|
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
local Socket = require('socket')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
local function wrapTerm(socket, termInfo)
|
local function wrapTerm(socket, termInfo)
|
||||||
local methods = { 'blit', 'clear', 'clearLine', 'setCursorPos', 'write',
|
local methods = { 'blit', 'clear', 'clearLine', 'setCursorPos', 'write',
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
|
||||||
|
local Event = require('event')
|
||||||
local Peripheral = require('peripheral')
|
local Peripheral = require('peripheral')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Devices')
|
multishell.setTitle(multishell.getCurrent(), 'Devices')
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
if device.wireless_modem then
|
if device.wireless_modem then
|
||||||
|
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Config = require('config')
|
local Config = require('config')
|
||||||
local config = {
|
local config = {
|
||||||
host = false,
|
host = false,
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Terminal = require('terminal')
|
local Terminal = require('terminal')
|
||||||
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Debug')
|
multishell.setTitle(multishell.getCurrent(), 'Debug')
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
|
|
||||||
local Util = require('util')
|
local Util = require('util')
|
||||||
|
|
||||||
multishell.setTitle(multishell.getCurrent(), 'Net Daemon')
|
multishell.setTitle(multishell.getCurrent(), 'Net Daemon')
|
||||||
|
@ -6,7 +7,7 @@ multishell.setTitle(multishell.getCurrent(), 'Net Daemon')
|
||||||
_G.network = { }
|
_G.network = { }
|
||||||
|
|
||||||
local function netUp()
|
local function netUp()
|
||||||
require = requireInjector(getfenv(1))
|
requireInjector(getfenv(1))
|
||||||
local Event = require('event')
|
local Event = require('event')
|
||||||
|
|
||||||
local files = fs.list('/sys/network')
|
local files = fs.list('/sys/network')
|
||||||
|
|
Loading…
Reference in New Issue