GithubHelp home page GithubHelp logo

tong's Introduction

tong

介绍

基于envoy代理下的wasm waf插件

软件目录架构

waf/
    README
    main.go                     > 主入口文件
    common/                     > 日志、服务获取库
    filter/                     > 过滤库
    internal/                   > 核心结构定义文件
    updater/                    > 规则更新库

编译命令: tinygo build -o ./envoy.wasm -target=wasi ./main.go

使用说明

  • 本项目仅提供了wasm插件,插件运行所需的规则API需要读者自行实现。
  • 日志由于wasm go sdk基本上个阶段不支持落本地磁盘日志,或者syslog等形式(阻塞的形式原理上均不允许),本项目使用httpCall形式,请求ES API落日志。读者若想实验日志阶段,需自行配置ES,更改配置文件项。

关于本项目

  1. envoy下wasm http filter插件仍处于实验阶段,本项目为实验学习性质,未经过实际测试,切勿用于正式环境。
  2. 本项目使用tinygo编译,原生的go库很多无法使用,具体可用函数库参阅: https://tinygo.org/docs/reference/lang-support/stdlib/
  3. tinygo对正则模块只能使用原生的regexp,插件运行出错,可能会导致envoy crash。

引用的项目

tong's People

Contributors

zksauren avatar

Stargazers

蓝悠梦 avatar XlKsyt avatar shen_changqing avatar  avatar Max Zhang avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.