mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-07-27 10:31:38 +08:00
🦄 Sync 2026-05-10 20:21:41
This commit is contained in:
parent
f85c2a52e2
commit
b5f9978332
@ -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
|
||||
|
||||
@ -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)?
|
||||
|
||||
@ -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"
|
||||
) &
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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)?
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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,
|
||||
|
||||
@ -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)
|
||||
|
||||
|
||||
@ -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)?
|
||||
|
||||
Loading…
Reference in New Issue
Block a user