add proxy setting

This commit is contained in:
Ing 2023-11-27 00:37:27 +08:00
parent ab04c65782
commit 8563d9e5c8
7 changed files with 1490 additions and 1386 deletions

View File

@ -68,7 +68,7 @@ for ETH in ${ETHX}; do
ip addr add ${IPC}/24 dev ${ETH}
sleep 1
fi
ethtool -s ${ETH} wol g 2>/dev/null
[ "${ETH::3}" = "eth" ] && ethtool -s ${ETH} wol g 2>/dev/null
done
# Get the VID/PID if we are in USB

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -42,6 +42,12 @@ SN="$(readConfigKey "sn" "${USER_CONFIG_FILE}")"
MAC1="$(readConfigKey "mac1" "${USER_CONFIG_FILE}")"
MAC2="$(readConfigKey "mac2" "${USER_CONFIG_FILE}")"
PROXY=$(readConfigKey "global_proxy" "${USER_CONFIG_FILE}")
if [ -n "${PROXY}" ]; then
export http_proxy="${PROXY}"
export https_proxy="${PROXY}"
fi
###############################################################################
# Mounts backtitle dynamically
function backtitle() {
@ -537,6 +543,11 @@ function moduleMenu() {
touch ${PART1_PATH}/.build
;;
o)
if ! tty | grep -q "/dev/pts"; then
DIALOG --title "$(TEXT "Modules")" \
--msgbox "$(TEXT "This feature is only available when accessed via web/ssh.")" 0 0
return
fi
MSG=""
MSG+="$(TEXT "This function is experimental and dangerous. If you don't know much, please exit.\n")"
MSG+="$(TEXT "The imported .ko of this function will be implanted into the corresponding arch's modules package, which will affect all models of the arch.\n")"
@ -1069,6 +1080,8 @@ function advancedMenu() {
echo "v \"$(TEXT "Report bugs to the author")\"" >>"${TMP_PATH}/menu"
echo "o \"$(TEXT "Install development tools")\"" >>"${TMP_PATH}/menu"
echo "g \"$(TEXT "Show QR logo:") \Z4${DSMLOGO}\Zn\"" >>"${TMP_PATH}/menu"
echo "1 \"$(TEXT "Set global proxy")\"" >>"${TMP_PATH}/menu"
echo "2 \"$(TEXT "Set github proxy")\"" >>"${TMP_PATH}/menu"
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
DIALOG --title "$(TEXT "Advanced")" \
@ -1572,6 +1585,7 @@ function advancedMenu() {
exit
fi
;;
v)
if [ -d "${PART1_PATH}/logs" ]; then
rm -f "${TMP_PATH}/logs.tar.gz"
@ -1615,6 +1629,67 @@ function advancedMenu() {
writeConfigKey "dsmlogo" "${DSMLOGO}" "${USER_CONFIG_FILE}"
NEXT="e"
;;
1)
RET=1
PROXY=$(readConfigKey "global_proxy" "${USER_CONFIG_FILE}")
while true; do
DIALOG --title "$(TEXT "Advanced")" \
--inputbox "$(TEXT "Please enter a proxy server url.(e.g., http://192.168.1.1:7981/)")" 0 70 "${PROXY}" \
2>${TMP_PATH}/resp
RET=$?
[ ${RET} -ne 0 ] && break
PROXY=$(cat ${TMP_PATH}/resp)
if [ -z "${PROXY}" ]; then
break
elif echo "${PROXY}" | grep -Eq "^(https?|socks5)://[^\s/$.?#].[^\s]*$"; then
break
else
DIALOG --title "$(TEXT "Advanced")" \
--yesno "$(TEXT "Invalid proxy server url, continue?")" 0 0
RET=$?
[ ${RET} -eq 0 ] && break
fi
done
[ ${RET} -ne 0 ] && return
if [ -z "${PROXY}" ]; then
deleteConfigKey "global_proxy" "${USER_CONFIG_FILE}"
unset http_proxy
unset https_proxy
else
writeConfigKey "global_proxy" "${PROXY}" "${USER_CONFIG_FILE}"
export http_proxy="${PROXY}"
export https_proxy="${PROXY}"
fi
;;
2)
RET=1
PROXY=$(readConfigKey "github_proxy" "${USER_CONFIG_FILE}")
while true; do
DIALOG --title "$(TEXT "Advanced")" \
--inputbox "$(TEXT "Please enter a proxy server url.(e.g., https://mirror.ghproxy.com/)")" 0 70 "${PROXY}" \
2>${TMP_PATH}/resp
RET=$?
[ ${RET} -ne 0 ] && break
PROXY=$(cat ${TMP_PATH}/resp)
if [ -z "${PROXY}" ]; then
break
elif echo "${PROXY}" | grep -Eq "^(https?|socks5)://[^\s/$.?#].[^\s]*$"; then
break
else
DIALOG --title "$(TEXT "Advanced")" \
--yesno "$(TEXT "Invalid proxy server url, continue?")" 0 0
RET=$?
[ ${RET} -eq 0 ] && break
fi
done
[ ${RET} -ne 0 ] && return
if [ -z "${PROXY}" ]; then
deleteConfigKey "github_proxy" "${USER_CONFIG_FILE}"
else
writeConfigKey "github_proxy" "${PROXY}" "${USER_CONFIG_FILE}"
fi
;;
e) break ;;
esac
done
@ -1739,7 +1814,7 @@ function languageMenu() {
###############################################################################
# Shows available keymaps to user choose one
function keymapMenu() {
OPTIONS="azerty bepo carpalx colemak dvorak fgGIod neo olpc qwerty qwertz"
OPTIONS="$(ls /usr/share/keymaps/i386 | grep -v include)"
DIALOG \
--default-item "${LAYOUT}" --no-items --menu "$(TEXT "Choose a layout")" 0 0 0 ${OPTIONS} \
2>${TMP_PATH}/resp
@ -1770,7 +1845,7 @@ function keymapMenu() {
# 4 - attachment name
# 5 - silent
function downloadExts() {
PROXY="$(readConfigKey "proxy" "${USER_CONFIG_FILE}")"
PROXY="$(readConfigKey "github_proxy" "${USER_CONFIG_FILE}")"
[ -n "${PROXY}" ] && [[ "${PROXY: -1}" != "/" ]] && PROXY="${PROXY}/"
T="$(printf "$(TEXT "Update %s")" "${1}")"
@ -1929,17 +2004,12 @@ function updateMenu() {
CUR_ADDONS_VER="$(cat "${PART3_PATH}/addons/VERSION" 2>/dev/null)"
CUR_MODULES_VER="$(cat "${PART3_PATH}/modules/VERSION" 2>/dev/null)"
CUR_LKMS_VER="$(cat "${PART3_PATH}/lkms/VERSION" 2>/dev/null)"
PROXY="$(readConfigKey "proxy" "${USER_CONFIG_FILE}")"
[ -n "${PROXY}" ] && [[ "${PROXY: -1}" != "/" ]] && PROXY="${PROXY}/"
rm -f "${TMP_PATH}/menu"
echo "a \"$(TEXT "Update all")\"" >>"${TMP_PATH}/menu"
echo "r \"$(TEXT "Update RR")(${CUR_RR_VER:-None})\"" >>"${TMP_PATH}/menu"
echo "d \"$(TEXT "Update addons")(${CUR_ADDONS_VER:-None})\"" >>"${TMP_PATH}/menu"
echo "m \"$(TEXT "Update modules")(${CUR_MODULES_VER:-None})\"" >>"${TMP_PATH}/menu"
echo "l \"$(TEXT "Update LKMs")(${CUR_LKMS_VER:-None})\"" >>"${TMP_PATH}/menu"
if [ -n "${DEBUG}" ]; then
echo "p \"$(TEXT "Set proxy server")\"" >>"${TMP_PATH}/menu"
fi
echo "u \"$(TEXT "Local upload")\"" >>"${TMP_PATH}/menu"
echo "b \"$(TEXT "Pre Release:") \Z4${PRERELEASE}\Zn\"" >>"${TMP_PATH}/menu"
echo "e \"$(TEXT "Exit")\"" >>"${TMP_PATH}/menu"
@ -1964,58 +2034,30 @@ function updateMenu() {
[ $? -ne 0 ] && continue
updateRR "RR"
;;
r)
T="$(printf "$(TEXT "Update %s")" "$(TEXT "RR")")"
downloadExts "RR" "${CUR_RR_VER:-None}" "https://github.com/wjz304/rr" "update" "0"
[ $? -ne 0 ] && continue
updateRR "RR"
;;
d)
T="$(printf "$(TEXT "Update %s")" "$(TEXT "addons")")"
downloadExts "addons" "${CUR_ADDONS_VER:-None}" "https://github.com/wjz304/rr-addons" "addons" "0"
[ $? -ne 0 ] && continue
updateExts "addons" "0"
;;
m)
T="$(printf "$(TEXT "Update %s")" "$(TEXT "modules")")"
downloadExts "modules" "${CUR_MODULES_VER:-None}" "https://github.com/wjz304/rr-modules" "modules" "0"
[ $? -ne 0 ] && continue
updateExts "modules" "0"
;;
l)
T="$(printf "$(TEXT "Update %s")" "$(TEXT "LKMs")")"
downloadExts "LKMs" "${CUR_LKMS_VER:-None}" "https://github.com/wjz304/rr-lkms" "rp-lkms" "0"
[ $? -ne 0 ] && continue
updateExts "LKMs" "0"
;;
p)
RET=1
while true; do
DIALOG --title "$(TEXT "Update")" \
--inputbox "$(TEXT "Please enter a proxy server url")" 0 70 "${PROXY}" \
2>${TMP_PATH}/resp
RET=$?
[ ${RET} -ne 0 ] && break
PROXY=$(cat ${TMP_PATH}/resp)
if [ -z "${PROXYSERVER}" ]; then
break
elif [[ "${PROXYSERVER}" =~ "^(https?|ftp)://[^\s/$.?#].[^\s]*$" ]]; then
break
else
DIALOG --title "$(TEXT "Update")" \
--yesno "$(TEXT "Invalid proxy server url, continue?")" 0 0
RET=$?
[ ${RET} -eq 0 ] && break
fi
done
[ ${RET} -eq 0 ] && writeConfigKey "proxy" "${PROXY}" "${USER_CONFIG_FILE}"
;;
u)
if ! tty | grep -q "/dev/pts"; then
DIALOG --title "$(TEXT "Update")" \

View File

@ -117,8 +117,13 @@
cat /proc/sys/kernel/syno_internal_netif_num # 查看当前鉴权的网卡数量
nproc # 查看当前线程数
# 驱动相关
# 设备相关
lsmod # 查看已加载驱动
lsusb # 查看USB设备
lsblk # 查看磁盘设备
lspci -Qnn # 查看PCI设备
# 驱动相关
ls -ld /sys/class/net/*/device/driver # 查看已加载网卡和对应驱动
cat /sys/class/net/*/address # 查看已加载网卡的MAC地址
@ -126,11 +131,16 @@
fdisk -l # 查看硬盘信息
lspci -d ::106 # 查看 ATA 控制器
lspci -d ::107 # 查看 HBA 控制器
ls -l /sys/class/scsi_host # 查看硬盘 host 信息
lspci -d ::108 # 查看 NVME 控制器
lspci -d ::805 # 查看 SD Card 控制器
ls -l /sys/class/scsi_host # 查看 ATA 硬盘 host 信息
ls -l /sys/class/mmc_host # 查看 SD Card 硬盘 host 信息
ls -l /sys/class/nvme # 查看 NVME 硬盘 host 信息
ls /sys/block/ # 查看块设备
ls /sys/block/sd* # 查看识别的 sata 硬盘 (非设备树(dtb)的型号)
ls /sys/block/sata* # 查看识别的 sata 硬盘 (设备树(dtb)的型号)
ls /sys/block/nvme* # 查看识别的 nvme 硬盘
ls /sys/block/mmc* # 查看识别的 SD Card 硬盘
cat /sys/block/sd*/device/syno_block_info # 查看识别的 sata 硬盘挂载点 (非设备树(dtb)的型号)
cat /sys/block/sata*/device/syno_block_info # 查看识别的 sata 硬盘挂载点 (设备树(dtb)的型号)
cat /sys/block/nvme*/device/syno_block_info # 查看识别的 nvme 硬盘挂载点