Comments (7)
脚本照计在alpine里会安装并使用 virt-what 替代 systemd-detect-virt ,不清楚为什么会出问题,你这样运行看看
wget -O sing-box.sh https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh; sed -i '/clear/d' sing-box.sh; bash -x sing-box.sh
去到这个报错那里,把运行里的日志复制出来看看。
from sing-box.
Varane:~# wget -O sing-box.sh https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh; sed -i '/clear/d' sing-box.sh; bash -x sing-box.sh
--2024-05-15 09:55:00-- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 2606:50c0:8000::154, 2606:50c0:8001::154, 2606:50c0:8002::154, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|2606:50c0:8000::154|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 155254 (152K) [text/plain]
Saving to: 'sing-box.sh'
sing-box.sh 100%[===============================>] 151.62K --.-KB/s in 0.002s
2024-05-15 09:55:00 (87.5 MB/s) - 'sing-box.sh' saved [155254/155254]
- VERSION='v1.2.4 (2024.05.09)'
- GH_PROXY=https://ghproxy.agrayman.gay/
- TEMP_DIR=/tmp/sing-box
- WORK_DIR=/etc/sing-box
- START_PORT_DEFAULT=8881
- MIN_PORT=100
- MAX_PORT=65520
- MIN_HOPPING_PORT=10000
- MAX_HOPPING_PORT=65535
- TLS_SERVER_DEFAULT=addons.mozilla.org
- PROTOCOL_LIST=("XTLS + reality" "hysteria2" "tuic" "ShadowTLS" "shadowsocks" "trojan" "vmess + ws" "vless + ws + tls" "H2 + reality" "gRPC + reality")
- NODE_TAG=("xtls-reality" "hysteria2" "tuic" "ShadowTLS" "shadowsocks" "trojan" "vmess-ws" "vless-ws-tls" "h2-reality" "grpc-reality")
- CONSECUTIVE_PORTS=10
- CDN_DOMAIN=("cn.azhz.eu.org" "acjp.cloudflarest.link" "xn--b6gac.eu.org" "dash.cloudflare.com" "skk.moe" "visa.com")
- SUBSCRIBE_TEMPLATE=https://raw.githubusercontent.com/fscarmen/client_template/main
- export DEBIAN_FRONTEND=noninteractive
- DEBIAN_FRONTEND=noninteractive
- trap 'rm -rf /tmp/sing-box >/dev/null 2>&1 ; echo -e '''\n''' ;exit 1' INT QUIT TERM EXIT
- mkdir -p /tmp/sing-box
- E[0]='Language:\n 1. English (default) \n 2. 简体中文'
- C[0]='Language:\n 1. English (default) \n 2. 简体中文'
- E[1]='Add hysteria2 port hopping. Supported Clients: ShadowRocket / NekoBox / Clash'
- C[1]='添加 hysteria2 的跳跃端口,支持客户端: ShadowRocket / NekoBox / Clash'
- E[2]='Downloading Sing-box. Please wait a seconds ...'
- C[2]='下载 Sing-box 中,请稍等 ...'
- E[3]='Input errors up to 5 times.The script is aborted.'
- C[3]=输入错误达5次,脚本退出
- E[4]='UUID should be 36 characters, please re-enter (${UUID_ERROR_TIME} times remaining):'
- C[4]='UUID 应为36位字符,请重新输入 (剩余${UUID_ERROR_TIME}次):'
- E[5]='The script supports Debian, Ubuntu, CentOS, Alpine, Fedora or Arch systems only. Feedback: [https://github.com/fscarmen/sing-box/issues]'
- C[5]='本脚本只支持 Debian、Ubuntu、CentOS、Alpine、Fedora 或 Arch 系统,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[6]='Curren operating system is $SYS.\n The system lower than
$SYSTEM $ {MAJOR[int]} is not supported. Feedback: [https://github.com/fscarmen/sing-box/issues]' - C[6]='当前操作是 $SYS\n 不支持
$SYSTEM $ {MAJOR[int]} 以下系统,问题反馈:[https://github.com/fscarmen/sing-box/issues]' - E[7]='Install dependence-list:'
- C[7]=安装依赖列表:
- E[8]='All dependencies already exist and do not need to be installed additionally.'
- C[8]=所有依赖已存在,不需要额外安装
- E[9]='To upgrade, press [y]. No upgrade by default:'
- C[9]='升级请按 [y],默认不升级:'
- E[10]='(4/6) Please enter VPS IP (Default is: ${SERVER_IP_DEFAULT}):'
- C[10]='(4/6) 请输入 VPS IP (默认为: ${SERVER_IP_DEFAULT}):'
- E[11]='(2/6) Please enter the starting port number. Must be ${MIN_PORT} - ${MAX_PORT}, consecutive ${NUM} free ports are required (Default is: ${START_PORT_DEFAULT}):'
- C[11]='(2/6) 请输入开始的端口号,必须是 ${MIN_PORT} - ${MAX_PORT},需要连续${NUM}个空闲的端口 (默认为: ${START_PORT_DEFAULT}):'
- E[12]='(5/6) Please enter UUID (Default is ${UUID_DEFAULT}):'
- C[12]='(5/6) 请输入 UUID (默认为 ${UUID_DEFAULT}):'
- E[13]='(6/6) Please enter the node name. (Default is ${NODE_NAME_DEFAULT}):'
- C[13]='(6/6) 请输入节点名称 (默认为: ${NODE_NAME_DEFAULT}):'
- E[14]='Node name only allow uppercase and lowercase letters and numeric characters, please re-enter (${a} times remaining):'
- C[14]='节点名称只允许英文大小写及数字字符,请重新输入 (剩余${a}次):'
- E[15]='Sing-box script has not been installed yet.'
- C[15]='Sing-box 脚本还没有安装'
- E[16]='Sing-box is completely uninstalled.'
- C[16]='Sing-box 已彻底卸载'
- E[17]=Version
- C[17]=脚本版本
- E[18]='New features'
- C[18]=功能新增
- E[19]='System infomation'
- C[19]=系统信息
- E[20]='Operating System'
- C[20]=当前操作系统
- E[21]=Kernel
- C[21]=内核
- E[22]=Architecture
- C[22]=处理器架构
- E[23]=Virtualization
- C[23]=虚拟化
- E[24]=Choose:
- C[24]=请选择:
- E[25]='Curren architecture $(uname -m) is not supported. Feedback: [https://github.com/fscarmen/sing-box/issues]'
- C[25]='当前架构 $(uname -m) 暂不支持,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[26]='Not install'
- C[26]=未安装
- E[27]=close
- C[27]=关闭
- E[28]=open
- C[28]=开启
- E[29]='View links (sb -n)'
- C[29]='查看节点信息 (sb -n)'
- E[30]='Change listen ports (sb -p)'
- C[30]='更换监听端口 (sb -p)'
- E[31]='Sync Sing-box to the latest version (sb -v)'
- C[31]='同步 Sing-box 至最新版本 (sb -v)'
- E[32]='Upgrade kernel, turn on BBR, change Linux system (sb -b)'
- C[32]='升级内核、安装BBR、DD脚本 (sb -b)'
- E[33]='Uninstall (sb -u)'
- C[33]='卸载 (sb -u)'
- E[34]='Install Sing-box'
- C[34]='安装 Sing-box'
- E[35]=Exit
- C[35]=退出
- E[36]='Please enter the correct number'
- C[36]=请输入正确数字
- E[37]=successful
- C[37]=成功
- E[38]=failed
- C[38]=失败
- E[39]='Sing-box is not installed and cannot change the Argo tunnel.'
- C[39]='Sing-box 未安装,不能更换 Argo 隧道'
- E[40]='Sing-box local verion: $LOCAL\t The newest verion: $ONLINE'
- C[40]='Sing-box 本地版本: $LOCAL\t 最新版本: $ONLINE'
- E[41]='No upgrade required.'
- C[41]=不需要升级
- E[42]='Downloading the latest version Sing-box failed, script exits. Feedback:[https://github.com/fscarmen/sing-box/issues]'
- C[42]='下载最新版本 Sing-box 失败,脚本退出,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[43]='The script must be run as root, you can enter sudo -i and then download and run again. Feedback:[https://github.com/fscarmen/sing-box/issues]'
- C[43]='必须以root方式运行脚本,可以输入 sudo -i 后重新下载运行,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[44]='Ports are in used: ${IN_USED[*]}'
- C[44]='正在使用中的端口: ${IN_USED[*]}'
- E[45]='Ports used:
${NOW_START_PORT} - $ ((NOW_START_PORT+NOW_CONSECUTIVE_PORTS-1))' - C[45]='使用端口:
${NOW_START_PORT} - $ ((NOW_START_PORT+NOW_CONSECUTIVE_PORTS-1))' - E[46]='Warp / warp-go was detected to be running. Please enter the correct server IP:'
- C[46]='检测到 warp / warp-go 正在运行,请输入确认的服务器 IP:'
- E[47]='No server ip, script exits. Feedback:[https://github.com/fscarmen/sing-box/issues]'
- C[47]='没有 server ip,脚本退出,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[48]='ShadowTLS - Copy the above two Neko links and manually set up the chained proxies in order. Tutorial: https://github.com/fscarmen/sing-box/blob/main/README.md#sekobox-%E8%AE%BE%E7%BD%AE-shadowtls-%E6%96%B9%E6%B3%95'
- C[48]='ShadowTLS - 复制上面两条 Neko links 进去,并按顺序手动设置链式代理,详细教程: https://github.com/fscarmen/sing-box/blob/main/README.md#sekobox-%E8%AE%BE%E7%BD%AE-shadowtls-%E6%96%B9%E6%B3%95'
- E[49]='(1/6) Select more protocols to install (e.g. hgbd). The order of the port numbers of the protocols is related to the ordering of the multiple choices:\n a. all (default)'
- C[49]='(1/6) 多选需要安装协议(比如 hgbd),协议的端口号次序与多选的排序有关:\n a. all (默认)'
- E[50]='Please enter the $TYPE domain name:'
- C[50]='请输入 $TYPE 域名:'
- E[51]='Please choose or custom a cdn, http support is required:'
- C[51]='请选择或输入 cdn,要求支持 http:'
- E[52]='Please set the ip [${WS_SERVER_IP_SHOW}] to domain [${TYPE_HOST_DOMAIN}], and set the origin rule to [${TYPE_PORT_WS}] in Cloudflare.'
- C[52]='请在 Cloudflare 绑定 [${WS_SERVER_IP_SHOW}] 的域名为 [${TYPE_HOST_DOMAIN}], 并设置 origin rule 为 [${TYPE_PORT_WS}]'
- E[53]='Please select or enter the preferred domain, the default is ${CDN_DOMAIN[0]}:'
- C[53]='请选择或者填入优选域名,默认为 ${CDN_DOMAIN[0]}:'
- E[54]='The contents of the ShadowTLS configuration file need to be updated for the sing_box kernel.'
- C[54]='ShadowTLS 配置文件内容,需要更新 sing_box 内核'
- E[55]='The script runs today: $TODAY. Total: $TOTAL'
- C[55]='脚本当天运行次数: $TODAY,累计运行次数: $TOTAL'
- E[56]='Process ID'
- C[56]=进程ID
- E[57]='Selecting the ws return method:\n 1. Argo (default)\n 2. Origin rules'
- C[57]='选择 ws 的回源方式:\n 1. Argo (默认)\n 2. Origin rules'
- E[58]='Memory Usage'
- C[58]=内存占用
- E[59]='Install ArgoX scripts (argo + xray) [https://github.com/fscarmen/argox]'
- C[59]='安装 ArgoX 脚本 (argo + xray) [https://github.com/fscarmen/argox]'
- E[60]='The order of the selected protocols and ports is as follows:'
- C[60]=选择的协议及端口次序如下:
- E[61]='There are no replaceable Argo tunnels.'
- C[61]='没有可更换的Argo 隧道'
- E[62]='Add / Remove protocols (sb -r)'
- C[62]='增加 / 删除协议 (sb -r)'
- E[63]='(1/3) Installed protocols.'
- C[63]='(1/3) 已安装的协议'
- E[64]='Please select the protocols to be removed (multiple selections possible):'
- C[64]=请选择需要删除的协议(可以多选):
- E[65]='(2/3) Uninstalled protocols.'
- C[65]='(2/3) 未安装的协议'
- E[66]='Please select the protocols to be added (multiple choices possible):'
- C[66]=请选择需要增加的协议(可以多选):
- E[67]='(3/3) Confirm all protocols for reloading.'
- C[67]='(3/3) 确认重装的所有协议'
- E[68]='Press [n] if there is an error, other keys to continue:'
- C[68]='如有错误请按 [n],其他键继续:'
- E[69]='Install sba scripts (argo + sing-box) [https://github.com/fscarmen/sba]'
- C[69]='安装 sba 脚本 (argo + sing-box) [https://github.com/fscarmen/sba]'
- E[70]='Please set inSecure in tls to true.'
- C[70]='请把 tls 里的 inSecure 设置为 true'
- E[71]='Create shortcut [ sb ] successfully.'
- C[71]='创建快捷 [ sb ] 指令成功!'
- E[72]='Path to each client configuration file: /etc/sing-box/subscribe/\n The full template can be found at:\n https://t.me/ztvps/100\n https://github.com/chika0801/sing-box-examples/tree/main/Tun'
- C[72]='各客户端配置文件路径: /etc/sing-box/subscribe/\n 完整模板可参照:\n https://t.me/ztvps/100\n https://github.com/chika0801/sing-box-examples/tree/main/Tun'
- E[73]='There is no protocol left, if you are sure please re-run [ sb -u ] to uninstall all.'
- C[73]='没有协议剩下,如确定请重新执行 [ sb -u ] 卸载所有'
- E[74]='Keep protocols'
- C[74]=保留协议
- E[75]='Add protocols'
- C[75]=新增协议
- E[76]='Install TCP brutal'
- C[76]='安装 TCP brutal'
- E[77]='With sing-box installed, the script exits.'
- C[77]='已安装 sing-box ,脚本退出'
- E[78]='Parameter [ ] error, script exits.'
- C[78]='[ ] 参数错误,脚本退出'
- E[79]='(3/6) Please enter the port number of nginx. Must be ${MIN_PORT} - ${MAX_PORT} (Default is: ${PORT_NGINX_DEFAULT}):'
- C[79]='(3/6) 请输入 nginx 端口号,必须是 ${MIN_PORT} - ${MAX_PORT} (默认为: ${PORT_NGINX_DEFAULT}):'
- E[80]=subscribe
- C[80]=订阅
- E[81]='Adaptive Clash / V2rayN / NekoBox / ShadowRocket / SFI / SFA / SFM Clients'
- C[81]='自适应 Clash / V2rayN / NekoBox / ShadowRocket / SFI / SFA / SFM 客户端'
- E[82]=template
- C[82]=模版
- E[83]='To uninstall Nginx press [y], it is not uninstalled by default:'
- C[83]='如要卸载 Nginx 请按 [y],默认不卸载:'
- E[84]='Set SElinux: enforcing --> disabled'
- C[84]='设置 SElinux: enforcing --> disabled'
- E[85]='Please input Argo Token or Json ( User can easily obtain the json at https://fscarmen.cloudflare.now.cc ):'
- C[85]='请输入 Argo Token 或者 Json ( 用户通过以下网站轻松获取 json: https://fscarmen.cloudflare.now.cc ):'
- E[86]='Argo authentication message does not match the rules, neither Token nor Json, script exits. Feedback:[https://github.com/fscarmen/sba/issues]'
- C[86]='Argo 认证信息不符合规则,既不是 Token,也是不是 Json,脚本退出,问题反馈:[https://github.com/fscarmen/sba/issues]'
- E[87]='Please input the Argo domain (Default is temporary domain if left blank):'
- C[87]='请输入 Argo 域名 (如果没有,可以跳过以使用 Argo 临时域名):'
- E[88]='Please input the Argo domain (cannot be empty):'
- C[88]='请输入 Argo 域名 (不能为空):'
- E[89]='( Additional dependencies: nginx )'
- C[89]='( 额外依赖: nginx )'
- E[90]='Argo tunnel is: $ARGO_TYPE\n The domain is: $ARGO_DOMAIN'
- C[90]='Argo 隧道类型为: $ARGO_TYPE\n 域名是: $ARGO_DOMAIN'
- E[91]='Argo tunnel type:\n 1. Try\n 2. Token or Json'
- C[91]='Argo 隧道类型:\n 1. Try\n 2. Token 或者 Json'
- E[92]='Change the Argo tunnel (sb -t)'
- C[92]='更换 Argo 隧道 (sb -t)'
- E[93]='Can'''t get the temporary tunnel domain, script exits. Feedback:[https://github.com/fscarmen/sing-box/issues]'
- C[93]='获取不到临时隧道的域名,脚本退出,问题反馈:[https://github.com/fscarmen/sing-box/issues]'
- E[94]='Please bind [${ARGO_DOMAIN}] tunnel TYPE to HTTP and URL to [\localhost:${PORT_NGINX}] in Cloudflare.'
- C[94]='请在 Cloudflare 绑定 [${ARGO_DOMAIN}] 隧道 TYPE 为 HTTP,URL 为 [\localhost:${PORT_NGINX}]'
- E[95]='netfilter-persistent installation failed, but the installation progress will not stop. portHopping forwarding rules are temporary rules, reboot may be invalidated.'
- C[95]=netfilter-persistent安装失败,但安装进度不会停止。PortHopping转发规则为临时规则,重启可能失效
- E[96]='netfilter-persistent is not started, PortHopping forwarding rules cannot be persisted. Reboot the system, the rules will be invalidated, please manually execute [netfilter-persistent save], continue the script does not affect the subsequent configuration.'
- C[96]='netfilter-persistent未启动,PortHopping转发规则无法持久化,重启系统,规则将会失效,请手动执行 [netfilter-persistent save],继续运行脚本不影响后续配置'
- E[97]='Port Hopping/Multiple Ports (Port Hopping) function needs to occupy multiple ports, please make sure that these ports are not listening to other services \n Tip1: The number of ports should not be too many, the recommended number is about 1000, the minimum value: 10000, the maximum value: 65535.\n Tip2: nat machines have a limited number of ports to listen on, usually 20-30. If setting ports out of the nat range will cause the node to not work, please use with caution!\n This function is not used by default.'
- C[97]='端口跳跃/多端口(Port Hopping)功能需要占用多个端口,请保证这些端口没有监听其他服务\n Tip1: 端口选择数量不宜过多,推荐1000个左右,最小值:10000,最大值: 65535\n Tip2: nat 鸡由于可用于监听的端口有限,一般为20-30个。如设置了不开放的端口会导致节点不通,请慎用!\n 默认不使用该功能'
- E[98]='Enter the port range, e.g. 50000:51000. Leave blank to disable:'
- C[98]='请输入端口范围,例如 50000:51000,如要禁用请留空:'
- E[99]='The ${SING_BOX_SCRIPT} is detected to be installed. Script exits.'
- C[99]='检测到已安装 ${SING_BOX_SCRIPT},脚本退出!'
- check_cdn
- '[' -n https://ghproxy.agrayman.gay/ ']'
- wget --server-response --quiet --output-document=/dev/null --no-check-certificate --tries=2 --timeout=3 https://raw.githubusercontent.com/fscarmen/sing-box/main/README.md
- unset GH_PROXY
- statistics_of_run-times
++ ++ wget --no-check-certificate -qO- --tries=2 --timeout=2 'https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh'
grep -m1 -oE '[0-9]+[ ]+/[ ]+[0-9]+' - local 'COUNT=101 / 96630'
++ awk -F ' ' '{print $1}' - TODAY=101
++ awk -F ' ' '{print $3}' - TOTAL=96630
- [[ '' =~ -E ]]
- [[ '' =~ -C|-B ]]
- select_language
- '[' -z '' ']'
- '[' -s /etc/sing-box/language ']'
- L=E
++ text 0
++ grep -q '$'
++ eval echo '${E[0]}'
+++ echo 'Language:\n' 1. English '(default)' '\n' 2. 简体中文 - hint '\n Language:\n 1. English (default) \n 2. 简体中文 \n'
- echo -e '\033[33m\033[01m\n Language:\n 1. English (default) \n 2. 简体中文 \n\033[0m'
Language:
- English (default)
- 简体中文
++ text 24
++ grep -q '$'
++ eval echo '${E[24]}'
+++ echo Choose:
- reading ' Choose: ' LANGUAGE
++ info ' Choose: '
++ echo -e '\033[32m\033[01m Choose: \033[0m' - read -rp ' Choose: ' LANGUAGE
Choose:
from sing-box.
未全啊,还没有显示你报错那里的
from sing-box.
+++ echo 'Language:\n' 1. English '(default)' '\n' 2. 简体中文
- hint '\n Language:\n 1. English (default) \n 2. 简体中文 \n'
- echo -e '\033[33m\033[01m\n Language:\n 1. English (default) \n 2. 简体中文 \n\033[0m'
Language:
- English (default)
- 简体中文
++ text 24
++ grep -q '$'
++ eval echo '${E[24]}'
+++ echo Choose:
- reading ' Choose: ' LANGUAGE
++ info ' Choose: '
++ echo -e '\033[32m\033[01m Choose: \033[0m' - read -rp ' Choose: ' LANGUAGE
Choose: - '[' '' = 2 ']'
- check_system_info
++ type -p systemd-detect-virt - '[' -x ']'
++ systemd-detect-virt
sing-box.sh: line 606: systemd-detect-virt: command not found - VIRT=
- '[' -s /etc/os-release ']'
++ awk -F '"' 'tolower($0) ~ /pretty_name/{print $2}' /etc/os-release - SYS='Alpine Linux edge'
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- REGEX=("debian" "ubuntu" "centos|red hat|kernel|alma|rocky" "arch linux" "alpine" "fedora")
- RELEASE=("Debian" "Ubuntu" "CentOS" "Arch" "Alpine" "Fedora")
- EXCLUDE=("")
- MAJOR=("9" "16" "7" "3" "" "37")
- PACKAGE_UPDATE=("apt -y update" "apt -y update" "yum -y update --skip-broken" "pacman -Sy" "apk update -f" "dnf -y update")
- PACKAGE_INSTALL=("apt -y install" "apt -y install" "yum -y install" "pacman -S --noconfirm" "apk add --no-cache" "dnf -y install")
- PACKAGE_UNINSTALL=("apt -y autoremove" "apt -y autoremove" "yum -y autoremove" "pacman -Rcnsu --noconfirm" "apk del -f" "dnf -y autoremove")
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ debian ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ ubuntu ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ centos|red hat|kernel|alma|rocky ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ arch linux ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ alpine ]]
- SYSTEM=Alpine
- break
- '[' -z Alpine ']'
- for ex in "${EXCLUDE[@]}"
- [[ ! {Alpine Linux edge,,} =~ '' ]]
- '[' Alpine = CentOS ']'
- ALL_PARAMETER=(
$(sed -E 's/(-c|-e|-C|-E) //; s/=([^"])/ \1/g; s/sudo cloudflared service install //' <<< $ *))
++ sed -E 's/(-c|-e|-C|-E) //; s/=([^"])/ \1/g; s/sudo cloudflared service install //' - [[ 0 > 13 ]]
- check_root
++ id -u - '[' 0 '!=' 0 ']'
- check_arch
- case "$(uname -m)" in
++ uname -m
++ awk -F : '/flags/{print $2; exit}' /proc/cpuinfo - [[ fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext vmmcall fsgsbase bmi1 avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 arat =~ avx2 ]]
- SING_BOX_ARCH=amd64v3
- JQ_ARCH=amd64
- QRENCODE_ARCH=amd64
- ARGO_ARCH=amd64
- check_system_info
++ type -p systemd-detect-virt - '[' -x ']'
++ systemd-detect-virt
sing-box.sh: line 606: systemd-detect-virt: command not found - VIRT=
- '[' -s /etc/os-release ']'
++ awk -F '"' 'tolower($0) ~ /pretty_name/{print $2}' /etc/os-release - SYS='Alpine Linux edge'
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- [[ -z Alpine Linux edge ]]
- REGEX=("debian" "ubuntu" "centos|red hat|kernel|alma|rocky" "arch linux" "alpine" "fedora")
- RELEASE=("Debian" "Ubuntu" "CentOS" "Arch" "Alpine" "Fedora")
- EXCLUDE=("")
- MAJOR=("9" "16" "7" "3" "" "37")
- PACKAGE_UPDATE=("apt -y update" "apt -y update" "yum -y update --skip-broken" "pacman -Sy" "apk update -f" "dnf -y update")
- PACKAGE_INSTALL=("apt -y install" "apt -y install" "yum -y install" "pacman -S --noconfirm" "apk add --no-cache" "dnf -y install")
- PACKAGE_UNINSTALL=("apt -y autoremove" "apt -y autoremove" "yum -y autoremove" "pacman -Rcnsu --noconfirm" "apk del -f" "dnf -y autoremove")
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ debian ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ ubuntu ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ centos|red hat|kernel|alma|rocky ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ arch linux ]]
- for int in "${!REGEX[@]}"
- [[ alpine linux edge =~ alpine ]]
- SYSTEM=Alpine
- break
- '[' -z Alpine ']'
- for ex in "${EXCLUDE[@]}"
- [[ ! {Alpine Linux edge,,} =~ '' ]]
- '[' Alpine = CentOS ']'
- check_dependencies
- '[' Alpine = Alpine ']'
++ ++ wget
head -n 1 - local 'CHECK_WGET=wget: missing URL'
- grep -qi busybox
- DEPS_CHECK=('bash' 'rc-update' 'virt-what' 'python3' 'iptables' 'ip6tables')
- local DEPS_CHECK
- DEPS_INSTALL=('bash' 'openrc' 'virt-what' 'python3' 'iptables' 'ip6tables')
- local DEPS_INSTALL
- for g in "${!DEPS_CHECK[@]}"
++ type -p bash - '[' '!' -x /bin/bash ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p rc-update - '[' '!' -x /sbin/rc-update ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p virt-what - '[' '!' -x /usr/sbin/virt-what ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p python3 - '[' '!' -x /usr/bin/python3 ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p iptables - '[' '!' -x /sbin/iptables ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p ip6tables - '[' '!' -x /sbin/ip6tables ']'
- '[' 0 -ge 1 ']'
++ type -p systemctl - '[' '!' -x /bin/systemctl ']'
- DEPS_CHECK=('wget' 'tar' 'systemctl' 'ss' 'bash' 'openssl')
- local DEPS_CHECK
- DEPS_INSTALL=('wget' 'tar' 'systemctl' 'iproute2' 'bash' 'openssl')
- local DEPS_INSTALL
- for g in "${!DEPS_CHECK[@]}"
++ type -p wget - '[' '!' -x /usr/bin/wget ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p tar - '[' '!' -x /bin/tar ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p systemctl - '[' '!' -x /bin/systemctl ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p ss - '[' '!' -x /sbin/ss ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p bash - '[' '!' -x /bin/bash ']'
- for g in "${!DEPS_CHECK[@]}"
++ type -p openssl - '[' '!' -x /usr/bin/openssl ']'
- '[' '' = CentOS7 ']'
- '[' '' = CentOS8 ']'
++ type -p iptables - '[' '!' -x /sbin/iptables ']'
++ type -p ip6tables - '[' '!' -x /sbin/ip6tables ']'
- [[ 0 > 0 ]]
++ text 8
++ grep -q '$'
++ eval echo '${E[8]}'
+++ echo All dependencies already exist and do not need to be installed additionally. - info '\n All dependencies already exist and do not need to be installed additionally. \n'
- echo -e '\033[32m\033[01m\n All dependencies already exist and do not need to be installed additionally. \n\033[0m'
All dependencies already exist and do not need to be installed additionally.
- check_system_ip
++ ++ ip route show default
awk '/default/ {for (i=0; i<NF; i++) if ($i=="dev") {print $ (i+1); exit}}' - local DEFAULT_LOCAL_INTERFACE=eth0
- '[' -n eth0 ']'
++ ++ ip addr show eth0
sed -n 's#.*inet ([^/]+)/[0-9]+.global.#\1#gp' - local DEFAULT_LOCAL_IP4=185.151.146.163
++ ++ ip addr show eth0
sed -n 's#.*inet6 ([^/]+)/[0-9]+.global.#\1#gp' - local DEFAULT_LOCAL_IP6=2407:d840:51:1::95
- '[' -n 185.151.146.163 ']'
- local BIND_ADDRESS4=--bind-address=185.151.146.163
- '[' -n 2407:d840:51:1::95 ']'
- local BIND_ADDRESS6=--bind-address=2407:d840:51:1::95
++ wget -4 --bind-address=185.151.146.163 -qO- --bind-address=185.151.146.163 --no-check-certificate --user-agent=Mozilla --tries=2 --timeout=1 http://ip-api.com/json/ - IP4='{"status":"success","country":"Singapore","countryCode":"SG","region":"03","regionName":"North West","city":"Singapore","zip":"858877","lat":1.35208,"lon":103.82,"timezone":"Asia/Singapore","isp":"WAP.AC LTD","org":"FatDisco Ltd","as":"AS198100 WAP.AC LTD","query":"185.151.146.163"}'
++ expr '{"status":"success","country":"Singapore","countryCode":"SG","region":"03","regionName":"North West","city":"Singapore","zip":"858877","lat":1.35208,"lon":103.82,"timezone":"Asia/Singapore","isp":"WAP.AC LTD","org":"FatDisco Ltd","as":"AS198100 WAP.AC LTD","query":"185.151.146.163"}' : '.query":[ ]"([^"]).' - WAN4=185.151.146.163
++ expr '{"status":"success","country":"Singapore","countryCode":"SG","region":"03","regionName":"North West","city":"Singapore","zip":"858877","lat":1.35208,"lon":103.82,"timezone":"Asia/Singapore","isp":"WAP.AC LTD","org":"FatDisco Ltd","as":"AS198100 WAP.AC LTD","query":"185.151.146.163"}' : '.country":[ ]"([^"]).' - COUNTRY4=Singapore
++ expr '{"status":"success","country":"Singapore","countryCode":"SG","region":"03","regionName":"North West","city":"Singapore","zip":"858877","lat":1.35208,"lon":103.82,"timezone":"Asia/Singapore","isp":"WAP.AC LTD","org":"FatDisco Ltd","as":"AS198100 WAP.AC LTD","query":"185.151.146.163"}' : '.isp":[ ]"([^"]).' - ASNORG4='WAP.AC LTD'
- [[ E = C ]]
++ wget -6 --bind-address=2407:d840:51:1::95 -qO- --bind-address=2407:d840:51:1::95 --no-check-certificate --user-agent=Mozilla --tries=2 --timeout=1 https://api.ip.sb/geoip - IP6='{"organization":"Nearoute","longitude":103.8014,"timezone":"Asia/Singapore","isp":"Nearoute","offset":28800,"asn":51847,"asn_organization":"Nearoute Limited","country":"Singapore","ip":"2407:d840:51:1::95","latitude":1.3673,"continent_code":"AS","country_code":"SG"}'
++ expr '{"organization":"Nearoute","longitude":103.8014,"timezone":"Asia/Singapore","isp":"Nearoute","offset":28800,"asn":51847,"asn_organization":"Nearoute Limited","country":"Singapore","ip":"2407:d840:51:1::95","latitude":1.3673,"continent_code":"AS","country_code":"SG"}' : '.ip":[ ]"([^"]).' - WAN6=2407:d840:51:1::95
++ expr '{"organization":"Nearoute","longitude":103.8014,"timezone":"Asia/Singapore","isp":"Nearoute","offset":28800,"asn":51847,"asn_organization":"Nearoute Limited","country":"Singapore","ip":"2407:d840:51:1::95","latitude":1.3673,"continent_code":"AS","country_code":"SG"}' : '.country":[ ]"([^"]).' - COUNTRY6=Singapore
++ expr '{"organization":"Nearoute","longitude":103.8014,"timezone":"Asia/Singapore","isp":"Nearoute","offset":28800,"asn":51847,"asn_organization":"Nearoute Limited","country":"Singapore","ip":"2407:d840:51:1::95","latitude":1.3673,"continent_code":"AS","country_code":"SG"}' : '.isp":[ ]"([^"]).' - ASNORG6=Nearoute
- [[ E = C ]]
- check_install
- [[ '' = \i\s_\s\u\b ]]
- [[ -s /etc/sing-box/subscribe/qr ]]
- IS_SUB=no_sub
- ls '/etc/sing-box/conf/*hysteria2_inbounds.json'
- '[' -s /etc/systemd/system/sing-box.service ']'
++ text 26
++ grep -q '$'
++ eval echo '${E[26]}'
+++ echo Not install - STATUS[0]='Not install'
++ text 26
++ grep -q '$'
++ eval echo '${E[26]}'
+++ echo Not install - '[' 'Not install' = 'Not install' ']'
- '[' '!' -s /etc/sing-box/sing-box ']'
- '[' '' '!=' noninteractive_install ']'
++ text 26
++ grep -q '$'
++ wget --no-check-certificate --tries=2 --timeout=3 -qO- https://api.github.com/repos/SagerNet/sing-box/releases
++ awk -F '["v-]' '/tag_name/{print $5}'
++ sort -r
++ eval echo '${E[26]}'
+++ echo Not install
++ sed -n 1p - STATUS[1]='Not install'
- IS_ARGO=no_argo
- '[' -s /etc/systemd/system/argo.service ']'
- '[' -s /etc/systemd/system/argo.service ']'
- '[' '' = noninteractive_install ']'
- menu_setting
++ text 27
++ grep -q '$'
++ text 26
++ grep -q '$'
++ eval echo '${E[27]}'
+++ echo close
++ eval echo '${E[26]}'
+++ echo Not install
++ text 28
++ grep -q '$' - [[ Not install = \N\o\t\ \i\n\s\t\a\l\l ]]
- '[' '!' -s /etc/sing-box/cloudflared ']'
- wget --no-check-certificate -qO /tmp/sing-box/cloudflared https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64
++ eval echo '${E[28]}'
+++ echo open - [[ Not install =~ close|open ]]
++ text 34
++ grep -q '$'
++ eval echo '${E[34]}'
+++ echo Install Sing-box
++ text 80
++ grep -q '$'
++ eval echo '${E[80]}'
+++ echo subscribe
++ text 89
++ grep -q '$'
++ eval echo '${E[89]}'
+++ echo '(' Additional dependencies: nginx ')' - OPTION[1]='1. Install Sing-box + Argo + subscribe ( Additional dependencies: nginx )'
++ text 34
++ grep -q '$'
++ eval echo '${E[34]}'
+++ echo Install Sing-box
++ text 89
++ grep -q '$'
++ eval echo '${E[89]}'
+++ echo '(' Additional dependencies: nginx ')' - OPTION[2]='2. Install Sing-box + Argo ( Additional dependencies: nginx )'
++ text 34
++ grep -q '$'
++ eval echo '${E[34]}'
+++ echo Install Sing-box
++ text 80
++ grep -q '$'
++ eval echo '${E[80]}'
+++ echo subscribe
++ text 89
++ grep -q '$'
++ eval echo '${E[89]}'
+++ echo '(' Additional dependencies: nginx ')' - OPTION[3]='3. Install Sing-box + subscribe ( Additional dependencies: nginx )'
++ text 34
++ grep -q '$'
++ eval echo '${E[34]}'
+++ echo Install Sing-box - OPTION[4]='4. Install Sing-box'
++ text 32
++ grep -q '$'
++ eval echo '${E[32]}'
+++ echo Upgrade kernel, turn on BBR, change Linux system '(sb' '-b)' - OPTION[5]='5. Upgrade kernel, turn on BBR, change Linux system (sb -b)'
++ text 59
++ grep -q '$'
++ eval echo '${E[59]}'
+++ echo Install ArgoX scripts '(argo' + 'xray)' '[https://github.com/fscarmen/argox]' - OPTION[6]='6. Install ArgoX scripts (argo + xray) [https://github.com/fscarmen/argox]'
++ text 69
++ grep -q '$'
++ eval echo '${E[69]}'
+++ echo Install sba scripts '(argo' + 'sing-box)' '[https://github.com/fscarmen/sba]' - OPTION[7]='7. Install sba scripts (argo + sing-box) [https://github.com/fscarmen/sba]'
++ text 76
++ grep -q '$'
++ eval echo '${E[76]}'
+++ echo Install TCP brutal - OPTION[8]='8. Install TCP brutal'
- '[' 8 -ge 10 ']'
++ text 35
++ grep -q '$'
++ eval echo '${E[35]}'
+++ echo Exit - OPTION[0]='0. Exit'
- menu
- echo -e '======================================================================================================================\n'
======================================================================================================================
++ text 17
++ grep -q '$'
++ eval echo '${E[17]}'
+++ echo Version
++ text 18
++ grep -q '$'
++ eval echo '${E[18]}'
+++ echo New features
++ text 1
++ grep -q '$'
++ eval echo '${E[1]}'
+++ echo Add hysteria2 port hopping. Supported Clients: ShadowRocket / NekoBox / Clash
++ text 19
++ grep -q '$'
++ eval echo '${E[19]}'
+++ echo System infomation
++ text 20
++ grep -q '$'
++ eval echo '${E[20]}'
+++ echo Operating System
++ text 21
++ grep -q '$'
++ eval echo '${E[21]}'
+++ echo Kernel
++ uname -r
++ text 22
++ grep -q '$'
++ eval echo '${E[22]}'
+++ echo Architecture
++ text 23
++ grep -q '$'
++ eval echo '${E[23]}'
+++ echo Virtualization
- info ' Version: v1.2.4 (2024.05.09)\n New features: Add hysteria2 port hopping. Supported Clients: ShadowRocket / NekoBox / Clash\n System infomation:\n\t Operating System: Alpine Linux edge\n\t Kernel: 6.6.23-0-virt\n\t Architecture: amd64v3\n\t Virtualization: '
- echo -e '\033[32m\033[01m Version: v1.2.4 (2024.05.09)\n New features: Add hysteria2 port hopping. Supported Clients: ShadowRocket / NekoBox / Clash\n System infomation:\n\t Operating System: Alpine Linux edge\n\t Kernel: 6.6.23-0-virt\n\t Architecture: amd64v3\n\t Virtualization: \033[0m'
Version: v1.2.4 (2024.05.09)
New features: Add hysteria2 port hopping. Supported Clients: ShadowRocket / NekoBox / Clash
System infomation:
Operating System: Alpine Linux edge
Kernel: 6.6.23-0-virt
Architecture: amd64v3
Virtualization: - info '\t IPv4: 185.151.146.163 Singapore WAP.AC LTD '
- echo -e '\033[32m\033[01m\t IPv4: 185.151.146.163 Singapore WAP.AC LTD \033[0m'
IPv4: 185.151.146.163 Singapore WAP.AC LTD - info '\t IPv6: 2407:d840:51:1::95 Singapore Nearoute '
- echo -e '\033[32m\033[01m\t IPv6: 2407:d840:51:1::95 Singapore Nearoute \033[0m'
IPv6: 2407:d840:51:1::95 Singapore Nearoute - info '\t Sing-box: Not install\t \t\t \n\t Argo: Not install\t \t\t \n \t Nginx: Not install\t \t '
- echo -e '\033[32m\033[01m\t Sing-box: Not install\t \t\t \n\t Argo: Not install\t \t\t \n \t Nginx: Not install\t \t \033[0m'
Sing-box: Not install
Argo: Not install
Nginx: Not install - echo -e '\n======================================================================================================================\n'
======================================================================================================================
- (( b=1 ))
- (( b<=9 ))
- '[' 1 = 9 ']'
- hint ' 1. Install Sing-box + Argo + subscribe ( Additional dependencies: nginx ) '
- echo -e '\033[33m\033[01m 1. Install Sing-box + Argo + subscribe ( Additional dependencies: nginx ) \033[0m'
- Install Sing-box + Argo + subscribe ( Additional dependencies: nginx )
- (( b++ ))
- (( b<=9 ))
- '[' 2 = 9 ']'
- hint ' 2. Install Sing-box + Argo ( Additional dependencies: nginx ) '
- echo -e '\033[33m\033[01m 2. Install Sing-box + Argo ( Additional dependencies: nginx ) \033[0m'
- Install Sing-box + Argo ( Additional dependencies: nginx )
- (( b++ ))
- (( b<=9 ))
- '[' 3 = 9 ']'
- hint ' 3. Install Sing-box + subscribe ( Additional dependencies: nginx ) '
- echo -e '\033[33m\033[01m 3. Install Sing-box + subscribe ( Additional dependencies: nginx ) \033[0m'
- Install Sing-box + subscribe ( Additional dependencies: nginx )
- (( b++ ))
- (( b<=9 ))
- '[' 4 = 9 ']'
- hint ' 4. Install Sing-box '
- echo -e '\033[33m\033[01m 4. Install Sing-box \033[0m'
- Install Sing-box
- (( b++ ))
- (( b<=9 ))
- '[' 5 = 9 ']'
- hint ' 5. Upgrade kernel, turn on BBR, change Linux system (sb -b) '
- echo -e '\033[33m\033[01m 5. Upgrade kernel, turn on BBR, change Linux system (sb -b) \033[0m'
- Upgrade kernel, turn on BBR, change Linux system (sb -b)
- (( b++ ))
- (( b<=9 ))
- '[' 6 = 9 ']'
- hint ' 6. Install ArgoX scripts (argo + xray) [https://github.com/fscarmen/argox] '
- echo -e '\033[33m\033[01m 6. Install ArgoX scripts (argo + xray) [https://github.com/fscarmen/argox] \033[0m'
- Install ArgoX scripts (argo + xray) [https://github.com/fscarmen/argox]
- (( b++ ))
- (( b<=9 ))
- '[' 7 = 9 ']'
- hint ' 7. Install sba scripts (argo + sing-box) [https://github.com/fscarmen/sba] '
- echo -e '\033[33m\033[01m 7. Install sba scripts (argo + sing-box) [https://github.com/fscarmen/sba] \033[0m'
- Install sba scripts (argo + sing-box) [https://github.com/fscarmen/sba]
- (( b++ ))
- (( b<=9 ))
- '[' 8 = 9 ']'
- hint ' 8. Install TCP brutal '
- echo -e '\033[33m\033[01m 8. Install TCP brutal \033[0m'
- Install TCP brutal
- (( b++ ))
- (( b<=9 ))
- '[' 9 = 9 ']'
- hint ' 0. Exit '
- echo -e '\033[33m\033[01m 0. Exit \033[0m'
- Exit
- (( b++ ))
- (( b<=9 ))
++ text 24
++ grep -q '$'
++ eval echo '${E[24]}'
+++ echo Choose: - reading '\n Choose: ' CHOOSE
++ info '\n Choose: '
++ echo -e '\033[32m\033[01m\n Choose: \033[0m' - read -rp '
Choose: ' CHOOSE
Choose: + local VERSION_LATEST=1.9.0
++ ++ wget --no-check-certificate --tries=2 --timeout=3 -qO- https://api.github.com/repos/SagerNet/sing-box/releases
awk -F '["v]' -v 'var=tag_name.*1.9.0' '$0 ~ var {print $5; exit}'
- local ONLINE=1.9.0-rc.18
- ONLINE=1.9.0-rc.18
-
- wget --no-check-certificate --continue https://github.com/SagerNet/sing-box/releases/download/v1.9.0-rc.18/sing-box-1.9.0-rc.18-linux-amd64v3.tar.gz -qO-
tar xz -C /tmp/sing-box sing-box-1.9.0-rc.18-linux-amd64v3/sing-box
- wget --no-check-certificate --continue https://github.com/SagerNet/sing-box/releases/download/v1.9.0-rc.18/sing-box-1.9.0-rc.18-linux-amd64v3.tar.gz -qO-
- chmod +x /tmp/sing-box/cloudflared
- '[' -s /tmp/sing-box/sing-box-1.9.0-rc.18-linux-amd64v3/sing-box ']'
- mv /tmp/sing-box/sing-box-1.9.0-rc.18-linux-amd64v3/sing-box /tmp/sing-box
- wget --no-check-certificate --continue -qO /tmp/sing-box/jq https://github.com/jqlang/jq/releases/download/jq-1.7.1/jq-linux-amd64
- chmod +x /tmp/sing-box/jq
- wget --no-check-certificate --continue -qO /tmp/sing-box/qrencode https://github.com/fscarmen/client_template/raw/main/qrencode-go/qrencode-go-linux-amd64
- chmod +x /tmp/sing-box/qrencode
from sing-box.
找到原因了,你稍等我10分钟,我更新一下脚本。
from sing-box.
已更新了,你再运行一下看看。
from sing-box.
已解决 非常感谢
from sing-box.
Related Issues (20)
- 使用sb -v 升级核心有失败的情况 HOT 3
- Request: Option to Add Custom SNI for Reality HOT 2
- Created symlink from /etc/systemd/system/multi-user.target.wants/sing-box.service to /etc/systemd/system/sing-box.service. /dev/fd/63: line 358: -c: command not found HOT 2
- 有没有人知道协议b组合的移动端客户端有没有支持的? HOT 3
- singbox启动失败 HOT 4
- 1核512m内存的小鸡,用docker方式安装,u和内存都占用100%了, HOT 6
- reality协议可以增加vision流控吗 HOT 1
- 每个协议只能安装一次吗? HOT 1
- awk 报错导致失败 HOT 1
- 1.2.1 argo 不会安装了 HOT 10
- Hysteria-2协议增加端口跳跃 HOT 9
- 生成的 sing-box 订阅文件中 h2-reality 缺少 NODE_NAME HOT 6
- 最新脚本更新后导致HY2协议全部失效 HOT 14
- 小问题反馈:增加了HY2端口范围会与其他的协议端口冲突 HOT 11
- 纯v6小鸡,安装脚本,增加vmess+ws协议时一直卡在:下载singbox中,请稍等..... HOT 7
- Sing box 不能用 卸载重装了好多次重新订阅好多次还是这样 HOT 4
- > 现在只是简单的地区判断,如果还要检测ip是不是被ban,就要用curl命令,出于脚本尽量减少依赖的思路,全程用 wget ,没有安装curl HOT 15
- 纯V4的vps首次安装脚本,然后添加hy2协议后,还是会卡在:下载singbox中,请稍等。。。。 HOT 2
- 无错误的情况下退出码为非0数字 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sing-box.