GNU General Public License v2.0

项目介绍

nxhack/openwrt-node-packages 是一个托管在 GitHub 上的开源项目,主要使用 Makefile 编写,采用 GNU General Public License v2.0 许可证,目前获得 286 个 Star、105 次 Fork。

仓库全名
nxhack/openwrt-node-packages
开源许可证
GNU General Public License v2.0
Star 数
286
Fork 数
105
未关闭 Issue
21

README 摘要

OpenWrt Node.js Packages (nodejs) Description OpenWrt Node.js Packages : for Head (Development branch) Note: support arches are aarch64, arm, x8664 License See LICENSE file. Usage Add the following line to feeds.conf or feeds.conf.default. Run Request to add a package is welcome If you want a new module (native module) that requires a precompiled binary, please open the issue. Note If you want to use with 25.12, see…

完整内容见 GitHub 原始 README 或本页 。

常见问题

openwrt-node-packages 用什么语言开发?

主要使用 Makefile 编写,采用 GNU General Public License v2.0 许可证,目前有 286 个 Star。

openwrt-node-packages 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v2.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 openwrt-node-packages 的源码?

可以直接克隆仓库:git clone https://github.com/nxhack/openwrt-node-packages.git,默认分支为 master;安装与运行步骤见仓库 README。

openwrt-node-packages 最近还在维护吗?

仓库最近一次更新为 2 天前,当前有 21 个未关闭 Issue;Star 数为 286,可作为社区活跃度的参考。

关于

OpenWrt Project Node.js packages. v20.x TLS v22.x LTS and v24.x LTS

描述取自 GitHub 官方 API,中文内容由 GitRead 中文社区 编辑团队整理。

语言占比

C++
JavaScript
Makefile
Shell

README

OpenWrt Node.js Packages (nodejs)

Description

OpenWrt Node.js Packages : for Head (Development branch)

Note: support arches are aarch64, arm, x86_64

License

See LICENSE file.

Usage

Add the following line to feeds.conf or feeds.conf.default.

src-git node https://github.com/nxhack/openwrt-node-packages.git

Run

./scripts/feeds update node
rm ./package/feeds/packages/node
rm ./package/feeds/packages/node-*
./scripts/feeds install -a -p node
make defconfig

Request to add a package is welcome

If you want a new module (native module) that requires a precompiled binary, please open the issue.

Note

If you want to use with 25.12, see openwrt-25.12 branch (Current stable series)

On the host side, the following preparations are required.

sudo apt-get install gcc-multilib g++-multilib
  • The libatomic package is required. (Install the 32-bit library at the same time, if necessary).

Since building Node.js involves opening a large number of files, please adjust your resource limits accordingly.

ulimit -n 4096

Illegal instruction issue

V8 JIT code generates FP instruction. Node.js does not work without hardware FPU.

If you are running nodejs on the Atheros AR71xx/AR933x, MediaTek MT76x8, it will not work because there is no hardware FPU. ARM cores without vfp or neon (such as bcm53xx) will not work either.

Enable Inspector

Processor ICU Inspector
32bit Disable NO
32bit small-icu YES
32bit full-icu YES
64bit Disable NO
64bit small-icu YES
64bit system-icu YES
64bit full-icu YES

Debugging Guide Nice to use Chrome DevTools.

Note: ICU currently supports only LITTLE ENDIAN.

Note about mDNS and homebridge

Read this document: mDNS Options

If you want, you can install the OpenWrt mDNS package (umdns / avahi-dbus-daemon / mdnsresponder).

(1) Some OpenWrt / Lede images have built in dnscrypt-proxy package, which by default listening on 5353 port.

In that case, installed avahi-daemon will not start on ipv4 interface, only on ipv6 because ipv4 port is taken.

This will lead to strange issue: your homebrdge accessory will be visible in ‘Home’ app, but can’t finish pairing.

To fix this, you have to stop and disable dnscrypt-proxy

Also, you have to enable: dbus and avahi-daemon services to start automatically, i.e for Lede:

/etc/init.d/dbus enable
/etc/init.d/avahi-daemon enable

(2) avahi on home network

Please read this document. ‘Why avahi and bonjour don’t work on your home network’

IGMP-querier will solve your problem.

OpenWrt allows “multicast_querier” (IGMP-querier) to be set when “igmp_snooping” is enabled.

OpenWrt custom packages available: https://github.com/nxhack/openwrt-custom-packages

Low memory

Specify v8-options.

--optimize_for_size --max_old_space_size=128 --gc_interval=100

For Reference: Avoid Garbage.

Or use swap.

Modules that use pre-compiled binary (native module)

node-authenticate-pam
node-aws-crt
node-bcryp
node-bignum
node-bluetooth-hci-socket
node-bufferutil
node-deasync
node-ejdb2_node
node-epoll
node-expat
node-ffi-napi			(ffi-napi, ref-napi)
node-fuse-bindings
node-hid
node-pty-prebuilt-multiarch
node-i2c-bus
node-leveldown
node-megahash
node-mdns
node-net-ping			(raw-socket)
node-openzwave-shared
node-pi-spi
node-pty
node-rpio
node-serialport-bindings
node-sleep
node-spi-device
node-sqlite3
node-statvfs
node-ubus
node-usb
node-utf-8-validate
node-zigbee2mqtt		(@serialport/bindings,unix-dgram)

Other modules can be installed by ‘npm install’.

Package Guidelines

See CONTRIBUTING.md file.

评论

暂无评论