Skip to content

strogo/lua-vm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

简体中文 Golang lua minimum project

License codebeat badge Go Report Card GoDoc Build Status Coverage Status

Library

  • bit
  • buffer
  • crypto
  • fs
  • hash
  • io
  • net
  • regexp
  • store

Features

  • http/sock5 proxy
  • lua pool
  • file system

Installing

go get -u github.com/vlorc/lua-vm

Quick Start

  • Create Pool
pool.NewLuaPool()
  • Preload Script
pool.NewLuaPool().Preload(
		pool.Source(strings.NewReader("print('hello')")),
		pool.Value("tobuffer", base.ToBuffer),
)

Examples

  • Use tcp
import (
    "github.com/vlorc/lua-vm/pool"
    "github.com/vlorc/lua-vm/net/tcp"
    "github.com/vlorc/lua-vm/net/base"
)

func main() {
	p := pool.NewLuaPool().Preload(
		pool.Module("net.tcp", tcp.NewTCPFactory(driver.DirectDriver{})),
		pool.Module("buffer", base.BufferFactory{}),
	)
	if err := p.DoFile("demo/tcp.lua"); nil != err {
		println("error: ", err.Error())
	}
}

Lua Demo

About

Golang lua virtual machine

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%