Skip to content

Instantly share code, notes, and snippets.

@bxb100
Last active April 24, 2025 02:57
Show Gist options
  • Save bxb100/4fabdb0d62923373dee9df15b98eaf65 to your computer and use it in GitHub Desktop.
Save bxb100/4fabdb0d62923373dee9df15b98eaf65 to your computer and use it in GitHub Desktop.

首先安装 qnap 的社区版本, 注意因为 QNAP 非 root 运行, 所以现在基本上没法设置 systemctlping_group_range

论坛: https://forum.qnap.com/viewtopic.php?f=320&t=160538

安装完成后就有了 CLI, 然后根据 https://developers.cloudflare.com/cloudflare-one/tutorials/share-new-site 设置

最后更改一下 cloudflared start stop 命令 sudo vim /opt/CloudFlared/CloudFlared.sh

换一下 start stop 命令

注意 QNAP 当前登录的用户不一定是 root 所以一定要指定 tunnel --config /YOUR_CONFIG_PATH/.cloudflared/config.yml 地址 1

YOUR_CONFIG_PATH 一般为用户目录

#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME="CloudFlared"
QPKG_ROOT=`/sbin/getcfg $QPKG_NAME Install_Path -f ${CONF}`
APACHE_ROOT=`/sbin/getcfg SHARE_DEF defWeb -d Qweb -f /etc/config/def_share.info`
export QNAP_QPKG=$QPKG_NAME

export QPKG_NAME QPKG_ROOT

case "$1" in
  start)
    ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF)
    if [ "$ENABLED" != "TRUE" ]; then
        echo "$QPKG_NAME is disabled."
        exit 1
    fi

/bin/ln -sf $QPKG_ROOT /opt/$QPKG_NAME
/bin/ln -sf $QPKG_ROOT/cloudflared /usr/bin/cloudflared

# add tunel start up
./$QPKG_ROOT/cloudflared tunnel --config /YOUR_CONFIG_PATH/.cloudflared/config.yml run 2>&1 > /dev/null | tee $QPKG_ROOT/cloudflare.txt &
echo $! > /var/run/cloudflared_tunnel.pid
    ;;

  stop)

rm -rf /usr/bin/cloudflared
rm -rf /opt/$QPKG_NAME
ID=$(more /var/run/cloudflared_tunnel.pid)
if [ -e /var/run/cloudflared_tunnel.pid ]; then
kill -9 $ID;
rm -f /var/run/cloudflared_tunnel.pid;
fi

    ;;

  restart)
    $0 stop
    $0 start
    ;;

  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac

exit 0

Footnotes

  1. https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/tunnel-guide/local/#set-up-a-tunnel-locally-cli-setup

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment