feat: add official binaries with full FVM WAF functionality

- Extracted webserver (13.5MB) from safeline-mgt:9.3.9
- Extracted tcontrollerd (12MB) from safeline-tengine:9.3.9
- Extracted nginx from safeline-tengine:9.3.9
- Extracted libfusion.so (127MB) FVM engine from safeline-fvm:9.3.9
- Added musl libc for Alpine-based containers
- Created proper FVM C headers matching libfusion.so API
- Added install_full.sh for complete deployment
This commit is contained in:
2026-07-05 03:41:41 +08:00
parent 3178b8c448
commit f9c6bc221e
11 changed files with 98 additions and 5 deletions
+8 -1
View File
@@ -3,9 +3,13 @@
#include <stddef.h>
#include <stdbool.h>
#include <fvm-c/update.h>
typedef struct fvm_compiler fvm_compiler_t;
typedef struct fvm_output fvm_output_t;
typedef struct {
fvm_buf_t buf;
} fvm_output_t;
fvm_compiler_t *fvm_compiler_acquire(const char *api_table);
void fvm_compiler_release(fvm_compiler_t *compiler);
@@ -14,6 +18,9 @@ bool fvm_compiler_load_re(fvm_compiler_t *compiler, const char *re, size_t re_le
bool fvm_compiler_dump_re(fvm_compiler_t *compiler, char **out, size_t *out_len);
fvm_output_t *fvm_compile(fvm_compiler_t *compiler, const char *text);
fvm_output_t *fvm_serialize(fvm_output_t *output, bool diff, long base, long target);
void fvm_output_destroy(fvm_output_t *output);
fvm_update_t *fvm_dump(fvm_framework_t *fw);
#endif
+3 -1
View File
@@ -1,11 +1,13 @@
#ifndef FVM_FRAMEWORK_H
#define FVM_FRAMEWORK_H
#include <ct/string.h>
#include <stdbool.h>
typedef struct fvm_framework fvm_framework_t;
const char *fvm_api_table(void);
fvm_framework_t *fvm_framework_acquire(void *config);
void fvm_framework_release(fvm_framework_t *fw);
bool fvm_update(fvm_framework_t *fw, fvm_update_t *update);
#endif
+2 -2
View File
@@ -1,10 +1,10 @@
#ifndef FVM_PLOT_H
#define FVM_PLOT_H
#include <ct/string.h>
#include <fvm-c/update.h>
typedef struct {
ct_string_t buf;
fvm_buf_t buf;
} fvm_plot_t;
fvm_plot_t *fvm_plot(fvm_framework_t *fw);
+7 -1
View File
@@ -1,10 +1,16 @@
#ifndef FVM_UPDATE_H
#define FVM_UPDATE_H
#include <stddef.h>
#include <ct/string.h>
typedef struct {
ct_string_t buf;
const char *ptr;
size_t length;
} fvm_buf_t;
typedef struct {
fvm_buf_t buf;
} fvm_update_t;
fvm_update_t *fvm_update_create(ct_string_t data);