[fatedier/frp]增加一个c/c++版本的协议接口吧

2024-06-25 458 views
4

方便的话,提供一个c或c++版本的反向代理功能库 方便大家在嵌入式系统上移植终端。 现在openwrt的开发环境不支持go语言。

回答

2

嵌入式系统上大多数是 ARM 架构的吗,如果是的话 Go 可以交叉编译出相应地版本,因为现在的优势就是跨平台,不需要为各个平台用 C 编写适配的代码。

如果是移植的话,主要就是和服务器端的通讯协议,这个其实很容易就能看出来,后面会优化整理一下,都放在 models/msg 下面,如果有必要的话会在文档上说明大致的处理逻辑。

4

我现在用openwrt,而且很多开发板的编译工具链都很老,编译不了go。 目前op的官方还没支持go,但有人给op打了go补丁。但该补丁只能在 gcc 5.3.0 上用,现在我们用的稳定分支是15.05,gcc是4.8.6 如果你们能提供c的一个通讯协议和转发处理(这个你们做通讯设计, 服务器开发,变动最清晰,你们做比较合适),剩下的功能我可以做。

8

@darcyg 我在其他平台交叉编译出的 ARM 版本的可执行程序,直接放上去执行,这个不能用吗?

目前交互协议还比较烂,后面准备优化的,如果上面说的那个实在不能用,等后面优化过后再提供吧,现在协议的改动也会比较频繁。你的意思应该就是需要提供一个协议的数据结构以及解析的步骤吧。

1

嗯,go我没试过。不清楚需要什么依赖库

1

@darcyg 你可以试下我编译好的 ARM 版本,依赖很少,主要就是 libc 和 libpthread。

0

@darcyg frp_0.7.0_linux_mips64

放上了一个 linux/mips64 的版本,这些我都没玩过,你可以测试一下看看能不能用:smile:

2

我用的板子是mipsel(32bit),编译的c库是ulibc 估计交叉编译的不能用。

4

mipsel有非官方的编译器