🦄 Sync 2026-05-10 20:21:41

This commit is contained in:
github-actions[bot] 2026-05-10 20:21:41 +08:00
parent f85c2a52e2
commit b5f9978332
9 changed files with 70 additions and 25 deletions

View File

@ -5,12 +5,12 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=cloudreve
PKG_VERSION:=4.15.0
PKG_RELEASE:=5
PKG_VERSION:=4.16.0
PKG_RELEASE:=6
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/cloudreve/Cloudreve.git
PKG_SOURCE_VERSION:=34874071319e6d668a170471302fe9d5d22ace17
PKG_SOURCE_VERSION:=54dc81deefcd799300119d0b9bc19c935a0881b5
PKG_MIRROR_HASH:=skip
PKG_LICENSE:=GPL-3.0-only

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=hickory-dns
PKG_VERSION:=0.26.1
PKG_RELEASE:=22
PKG_RELEASE:=23
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/hickory-dns/hickory-dns/tar.gz/v$(PKG_VERSION)?

View File

@ -1,22 +1,39 @@
#!/bin/sh
. /lib/functions.sh
IF_TO_WATCH="wan_6"
SERVICE="hickory-dns"
DELAY=5
LOCK_DIR="/tmp/hickory-hotplug.lock"
TAG="hickory-hotplug"
## Restart service on ifup or ifupdate for the watched interface
if { [ "$ACTION" = "ifup" ] || [ "$ACTION" = "ifupdate" ]; } && [ "$INTERFACE" = "$IF_TO_WATCH" ]; then
logger -t hickory-hotplug "Interface ${IF_TO_WATCH} ${ACTION} - ${SERVICE} restart in ${DELAY}s"
[ "$INTERFACE" = "$IF_TO_WATCH" ] || exit 0
[ "$ACTION" = "ifup" ] || exit 0
(
sleep ${DELAY}
/etc/init.d/${SERVICE} enabled || {
logger -t "$TAG" "${SERVICE} not enabled, skipping restart"
exit 0
}
if /etc/init.d/${SERVICE} enabled; then
/etc/init.d/${SERVICE} restart >/dev/null 2>&1
logger -t hickory-hotplug "${SERVICE} restarted successfully after ${IF_TO_WATCH} ${ACTION}"
else
logger -t hickory-hotplug "${SERVICE} not enabled (skipped)"
fi
) &
fi
mkdir "$LOCK_DIR" 2>/dev/null || {
logger -t "$TAG" "Restart already pending, skipping"
exit 0
}
logger -t "$TAG" "${IF_TO_WATCH} ifup - ${SERVICE} restart in ${DELAY}s"
(
sleep "$DELAY"
/etc/init.d/${SERVICE} restart >/dev/null 2>&1
RET=$?
if [ "$RET" = "0" ]; then
logger -t "$TAG" "${SERVICE} restarted successfully after ${IF_TO_WATCH} ifup"
else
logger -t "$TAG" "${SERVICE} restart failed after ${IF_TO_WATCH} ifup, exit code ${RET}"
fi
rmdir "$LOCK_DIR"
) &

View File

@ -28,7 +28,12 @@ start_service() {
procd_set_param stderr 1
procd_set_param respawn "${respawn_threshold:-3600}" "${respawn_timeout:-5}" "${respawn_retry:-5}"
procd_close_instance hickory-dns
for i in $(seq 1 10); do
if ss -ltn | grep -q ':53'; then
break
fi
sleep 1
done
procd_open_instance ipv6-neigh
procd_set_param command $NEIGH_PROG --private-subnet-v4 -d "[::1]:53" -z lan
procd_set_param stdout 1

View File

@ -5,8 +5,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hysteria
PKG_VERSION:=2.8.2
PKG_RELEASE:=4
PKG_VERSION:=2.9.0
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/apernet/hysteria/tar.gz/app/v$(PKG_VERSION)?

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=ipv6-neigh
PKG_VERSION:=0.1.0
PKG_RELEASE:=7
PKG_RELEASE:=8
PKG_BUILD_DEPENDS:=rust/host
PKG_BUILD_PARALLEL:=1

View File

@ -7,7 +7,7 @@ use futures::stream::TryStreamExt;
use log::{debug, error, info, warn};
use netlink_packet_core::NetlinkPayload;
use netlink_packet_route::RouteNetlinkMessage;
use netlink_packet_route::address::AddressAttribute;
use netlink_packet_route::address::{AddressAttribute, AddressFlags, AddressHeaderFlags, AddressMessage};
use netlink_packet_route::neighbour::NeighbourMessage;
use netlink_packet_route::neighbour::{NeighbourAddress, NeighbourAttribute, NeighbourState};
use netlink_packet_route::route::RouteType;
@ -699,6 +699,21 @@ async fn dump_neighbours(handle: Handle, private_subnet_v4: bool, private_subnet
Ok(vec)
}
/// Check whether an address message is deprecated (preferred lifetime expired).
fn is_addr_deprecated(msg: &AddressMessage) -> bool {
if msg.header.flags.contains(AddressHeaderFlags::Deprecated) {
return true;
}
for attr in &msg.attributes {
match attr {
AddressAttribute::Flags(f) if f.contains(AddressFlags::Deprecated) => return true,
AddressAttribute::CacheInfo(ci) if ci.ifa_preferred == 0 => return true,
_ => {}
}
}
false
}
/// Enumerate non-link-local IPv6 prefixes currently assigned to `iface`.
/// Used during startup to filter out neighbour entries from expired/old prefixes.
async fn get_active_lan_prefixes(handle: Handle, iface: &str, private_subnet_v6: bool) -> Vec<LanPrefix> {
@ -712,6 +727,11 @@ async fn get_active_lan_prefixes(handle: Handle, iface: &str, private_subnet_v6:
let mut prefixes = Vec::new();
while let Ok(Some(msg)) = addresses.try_next().await {
let prefix_len = msg.header.prefix_len;
// Skip deprecated addresses; they are no longer used for new connections
// and should not be treated as active LAN prefixes.
if is_addr_deprecated(&msg) {
continue;
}
for attr in &msg.attributes {
if let AddressAttribute::Address(IpAddr::V6(addr)) = attr {
// Skip link-local
@ -752,6 +772,9 @@ async fn register_router_addresses(
let ifindex = link.header.index;
let mut addresses = handle.address().get().set_link_index_filter(ifindex).execute();
while let Ok(Some(msg)) = addresses.try_next().await {
if is_addr_deprecated(&msg) {
continue;
}
for attr in &msg.attributes {
let ip = match attr {
AddressAttribute::Address(ip) => ip,

View File

@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=naiveproxy
PKG_VERSION:=148.0.7778.96
PKG_RELEASE:=2
PKG_RELEASE:=4
ARCH_PREBUILT:=$(ARCH_PACKAGES)

View File

@ -1,8 +1,8 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=Xray-core
PKG_VERSION:=26.5.3
PKG_RELEASE:=9
PKG_VERSION:=26.5.9
PKG_RELEASE:=10
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/XTLS/Xray-core/tar.gz/v$(PKG_VERSION)?