memo() { # 获取传入的参数 updatedContent=$* # 转义特殊字符 # escapedContent=$(echo -n "$updatedContent" | jq -sRr @uri) # 构建请求体数据 # data="{\"content\": \"$escapedContent\"}" # 构建请求体数据 data="{\"content\": \"$updatedContent\"}" # 发送请求 response=$(curl -s -X POST -H "Content-Type: application/json" \ -H "Authorization: bearer eyJhbGciOiJIUzI1NiIsImtpZCI6InYxIiwidHlwIjoiSldUIn0.eyJuYW1lIjoidGlhbnl1bnBlcmZlY3QiLCJpc3MiOiJtZW1vcyIsInN1YiI6IjEiLCJhdWQiOlsidXNlci5hY2Nlc3MtdG9rZW4iXSwiaWF0IjoxNzA5MTc5NTUyfQ.LFxWB4efya1sL7VoJ42xpXxbAip-udT_Kx2OwZ8Y3-E" \ -d "$data" \ "https://memos.tianyunperfect.cn/api/v1/memo") # 判断是否存在name字段 if [[ $response == *"name"* ]]; then echo "记录成功 https://memos.tianyunperfect.cn" else echo "失败" $response fi } todo() { memo "#todo $*" } # 通用上传函数 function upload_file_common() { # 参数1: 文件路径 local file_path="$1" # 参数2: 上传URL(例如:http://x.xxx.cn:44704/2025/) local upload_url="$2" # 参数3: 用户名(可选,用于HTTP Basic Auth) local username="${3:-admin}" # 参数4: 密码(可选,用于HTTP Basic Auth) local password="${4:-123456}" # 检查文件路径是否为空 if [ -z "$file_path" ]; then echo "Error: file_path is empty!" return 1 fi # 检查文件是否存在 if [ ! -f "$file_path" ]; then echo "Error: file does not exist!" return 1 fi # 检查上传URL是否为空 if [ -z "$upload_url" ]; then echo "Error: upload_url is empty!" return 1 fi # 获取文件名 local file_name=$(basename "$file_path") # 构造完整的上传目标URL local full_upload_url="${upload_url%/}/$file_name" # 使用curl上传文件 echo "Uploading file '$file_name' to '$full_upload_url'..." local response=$(curl -u "$username:$password" -T "$file_path" "$upload_url" 2>&1) # 检查curl命令是否成功执行 if [ $? -ne 0 ]; then echo "Error: Failed to upload file. Response: $response" return 1 fi # 构造下载地址 local download_url="${upload_url%/}/$file_name" download_url="${download_url#http://}" # 打印下载地址 echo "File uploaded successfully!" echo "Download URL: $download_url" } # 上传文件到指定的URL function upload_file() { # 获取当前年份 local current_year=$(date +"%Y") # 构造上传URL,使用当前年份替换固定的2025 local upload_url="https://dufs.n1.tianyunperfect.cn:10086/${current_year}/" # 调用通用上传函数 upload_file_common "$1" "$upload_url" "admin" "tianyunperfect" } # 上传临时文件到指定的URL function upload_tmp_file() { upload_file_common "$1" "https://dufs.n1.tianyunperfect.cn:10086/upload_tmp_file/" "admin" "tianyunperfect" } # 获取本机IP地址 get_ip_address() { ip_address=$(ifconfig | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1' | head -n 1) echo "$ip_address" } # 设置代理 set_proxy() { local ip=$(get_ip_address) local proxy_command="export https_proxy=http://${ip}:7890 http_proxy=http://${ip}:7890 all_proxy=socks5://${ip}:7890" echo "$proxy_command" eval "$proxy_command" echo "Proxy has been set to $ip:7890" } # 取消代理设置 unset_proxy() { local unset_command="unset https_proxy http_proxy all_proxy" echo "$unset_command" eval "$unset_command" echo "Proxy has been unset" } alias bili_download="docker run --rm -it -v $(pwd):/app siguremo/yutto --vcodec hevc:copy --no-danmaku --no-subtitle -c 500a5c19%2C1755912683%2Ce17e7%2A21CjDCd3ivQILA5nZTwIzWWpSeWWDdUYZ1ZuS-TROqTZGjGSy_gdJYd3GCtw6JOI6oqd4SVkNFaC15TDg3LTN3M0tNRkRIN0hCbGxmeDlVanlYaEo4akFBMmxrOHlyUldJc0R4bHRveGY2UGNWTldNc2hFSEQyclhxNnZEZEZkZ2Nvbjk2YVVJR09BIIEC"