• Stars
    star
    288
  • Rank 143,818 (Top 3 %)
  • Language
    C
  • License
    MIT License
  • Created almost 7 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Lightweight and fully asynchronous WebSocket client library based on libev

libuwsc(中文)

license PRs Welcome Issue Welcome Release Version Build Status

A Lightweight and fully asynchronous WebSocket client library based on libev for Embedded Linux. And provide Lua-binding.

Why should I choose libev?

libev tries to follow the UNIX toolbox philosophy of doing one thing only, as good as possible.

Features

  • Lightweight - 35KB(Using glibc,stripped)
  • Fully asynchronous - Use libev as its event backend
  • Support ssl - OpenSSL, mbedtls and CyaSSl(wolfssl)
  • Code structure is concise and understandable, also suitable for learning
  • Lua-binding

Dependencies

Install dependent packages

sudo apt install libev-dev libssl-dev

Build and install

git clone --recursive https://github.com/zhaojh329/libuwsc.git
cd libuwsc
mkdir build && cd build
cmake ..
make && sudo make install

Install on OpenWrt

opkg update
opkg list | grep libuwsc
opkg install libuwsc-nossl

If the install command fails, you can compile it yourself.

Contributing

If you would like to help making libuwsc better, see the CONTRIBUTING.md file.

More Repositories

1

rtty

🐛 Access your terminal from anywhere via the web.
C
3,643
star
2

oui

🐛 A framework used to develop Web interface for OpenWrt. Use Lua-eco + Vue3 + Vite + Element Plus.
C
1,030
star
3

rttys

Access your device's terminal from anywhere via the web.
Go
660
star
4

libuhttpd

A very flexible, lightweight and high performance HTTP server library based on libev and http-parser for Embedded Linux.
C
384
star
5

wifidog-ng

Next generation WifiDog implemented in Lua and kernel module.
Lua
229
star
6

evmongoose

DEPRECATED. Evmongoose is an asynchronous, event(libev) based multi-protocol embedded networking library with functions including TCP, HTTP, WebSocket, MQTT and much more. It's based on mongoose and libev implementation and it's support Lua API.
C
212
star
7

libumqtt

A Lightweight and fully asynchronous MQTT client C library based on libev
C
192
star
8

xluci2

DEPRECATED. xLuCI2 is a JavaScript Webgui for embedded devices running OpenWRT or LEDE
JavaScript
151
star
9

U-boot-1

U-boot学习笔记
104
star
10

lua-eco

🐛Lua-eco is a Lua interpreter with a built-in event loop for scheduling lightweight coroutines automatically, enabling efficient concurrency in Lua. Build high-performance, scalable applications.
C
71
star
11

wifidog-ng-authserver

A simple auth server for wifidog-ng to test
Go
22
star
12

lua-ffi

A portable lightweight C FFI for Lua, based on libffi and aiming to be mostly compatible with LuaJIT FFI.
C
22
star
13

buffer

A buffer similar to the skbuff in the kernel, but more suitable for application.
C
15
star
14

barebox

Better barebox. Support AR9331, AR9344 and more...
C
14
star
15

ssl

The encapsulation of OpenSSL, WolfSSL, and MBEDTLS aims to make usage easy.
C
8
star
16

log

C
3
star