cleaned up vtunnel, should actually work now
This commit is contained in:
parent
cf0cf32642
commit
0d01b03ddc
@ -10,7 +10,6 @@ cfg.peers = {}
|
|||||||
cfg.rtimer = 5
|
cfg.rtimer = 5
|
||||||
cfg.katimer = 30
|
cfg.katimer = 30
|
||||||
local listeners = {}
|
local listeners = {}
|
||||||
local timers = {}
|
|
||||||
local proxies = {}
|
local proxies = {}
|
||||||
|
|
||||||
local function loadcfg()
|
local function loadcfg()
|
||||||
@ -84,7 +83,7 @@ local function createTunnel(host,port,addr,raddr)
|
|||||||
end
|
end
|
||||||
proxy.connect()
|
proxy.connect()
|
||||||
proxy.last = computer.uptime()
|
proxy.last = computer.uptime()
|
||||||
return proxy, read
|
return proxy
|
||||||
end
|
end
|
||||||
|
|
||||||
vt = {}
|
vt = {}
|
||||||
@ -94,9 +93,8 @@ function start()
|
|||||||
print(string.format("Connecting to %s:%d",v.host,v.port))
|
print(string.format("Connecting to %s:%d",v.host,v.port))
|
||||||
v.addr = v.addr or vcomponent.uuid()
|
v.addr = v.addr or vcomponent.uuid()
|
||||||
v.raddr = v.raddr or vcomponent.uuid()
|
v.raddr = v.raddr or vcomponent.uuid()
|
||||||
local px,tr = createTunnel(v.host, v.port, v.addr, v.raddr)
|
local px = createTunnel(v.host, v.port, v.addr, v.raddr)
|
||||||
vcomponent.register(v.addr, "tunnel", px)
|
vcomponent.register(v.addr, "tunnel", px)
|
||||||
timers[v.addr] = tr
|
|
||||||
proxies[v.addr] = px
|
proxies[v.addr] = px
|
||||||
end
|
end
|
||||||
for k,v in pairs(os.tasks()) do
|
for k,v in pairs(os.tasks()) do
|
||||||
@ -106,12 +104,6 @@ function start()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
function vt.stop()
|
function vt.stop()
|
||||||
for k,v in pairs(listeners) do
|
|
||||||
event.ignore(v[1],v[2])
|
|
||||||
end
|
|
||||||
for k,v in pairs(timers) do
|
|
||||||
event.cancel(v)
|
|
||||||
end
|
|
||||||
for k,v in pairs(proxies) do
|
for k,v in pairs(proxies) do
|
||||||
vcomponent.unregister(k)
|
vcomponent.unregister(k)
|
||||||
end
|
end
|
||||||
@ -157,21 +149,14 @@ end
|
|||||||
vt.start = start
|
vt.start = start
|
||||||
_G.libs.vtunnel = vt
|
_G.libs.vtunnel = vt
|
||||||
|
|
||||||
print(pcall(start))
|
start()
|
||||||
local last = computer.uptime()
|
local last = computer.uptime()
|
||||||
while true do
|
while true do
|
||||||
local tE = {coroutine.yield()}
|
local tE = {coroutine.yield()}
|
||||||
if computer.uptime() > last + cfg.rtimer then
|
if computer.uptime() > last + cfg.rtimer then
|
||||||
for k,v in pairs(timers) do
|
for k,v in pairs(proxies) do
|
||||||
print(pcall(v))
|
v.read()
|
||||||
end
|
end
|
||||||
last = computer.uptime()
|
last = computer.uptime()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--[[
|
|
||||||
_G.vtunnel = {}
|
|
||||||
|
|
||||||
_G.vtunnel.start = start
|
|
||||||
_G.vtunnel.delpeer = delpeer
|
|
||||||
]]
|
|
||||||
|
Loading…
Reference in New Issue
Block a user