aboutsummaryrefslogtreecommitdiff
path: root/debian-container/lib/network.sh
diff options
context:
space:
mode:
authorRichard Qin <richard.qin.x@gmail.com>2026-10-29 00:49:35 +0800
committerRichard Qin <richard.qin.x@gmail.com>2026-10-29 00:49:35 +0800
commit940ab9def7850171d3f181afc2111ec8a2dc1ab7 (patch)
tree869876f2f6c3a4695a3c1a4e371201f72f6cda91 /debian-container/lib/network.sh
parent7ab30ab3ee572de1be2afc3083e4a28b594b1cba (diff)
downloadrutils-940ab9def7850171d3f181afc2111ec8a2dc1ab7.tar.gz
rutils-940ab9def7850171d3f181afc2111ec8a2dc1ab7.tar.xz
Add configurable host or isolated network modes for container entry and command execution.
Signed-off-by: Richard Qin <richard.qin.x@gmail.com>
Diffstat (limited to 'debian-container/lib/network.sh')
-rw-r--r--debian-container/lib/network.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/debian-container/lib/network.sh b/debian-container/lib/network.sh
new file mode 100644
index 0000000..333869f
--- /dev/null
+++ b/debian-container/lib/network.sh
@@ -0,0 +1,22 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: GPL-3.0-or-later
+# Copyright (C) 2026 by Richard Qin
+
+DC_NETWORK_MODE=${DEBIAN_NETWORK:-none}
+DC_NETWORK_UNSHARE_ARGS=()
+
+dc_network_prepare() {
+ local mode=${1:-$DC_NETWORK_MODE}
+
+ case "$mode" in
+ none)
+ DC_NETWORK_UNSHARE_ARGS=(--net)
+ ;;
+ host)
+ DC_NETWORK_UNSHARE_ARGS=()
+ ;;
+ *)
+ dc_die "网络模式无效:$mode(可选:none、host)"
+ ;;
+ esac
+}