免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

掌握 mise HTTP Backend:從直鏈 URL 安裝任意二進(jìn)制、腳本與歸檔的完整指南

掌握 mise HTTP Backend:從直鏈 URL 安裝任意二進(jìn)制、腳本與歸檔的完整指南 掌握 mise HTTP Backend從直鏈 URL 安裝任意二進(jìn)制、腳本與歸檔的完整指南【免費(fèi)下載鏈接】misedev tools, env vars, task runner項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mi/mise導(dǎo)讀httpbackend 是 mise 中最通用的一類工具后端它不依賴 GitHub Releases、npm、asdf 插件等任何發(fā)布渠道直接從你指定的下載 URL 拉取二進(jìn)制、腳本或歸檔并安裝。本指南圍繞 docs/dev-tools/backends/http.md 展開覆蓋從mise use http:...快速接入、URL 模板變量、平臺(tái)差異配置、校驗(yàn)和/大小校驗(yàn)、版本發(fā)現(xiàn)mise ls-remote到http-tarballs內(nèi)容緩存與鎖文件的完整鏈路。讀完本文你將能為任何只有下載鏈接、沒有現(xiàn)成發(fā)布后端的工具在 mise 中建立可校驗(yàn)、可跨平臺(tái)、可復(fù)現(xiàn)的安裝方案并理解其底層實(shí)現(xiàn)src/backend/http.rs。一、HTTP Backend 是什么何時(shí)使用httpbackend 通過直接下載 URL安裝二進(jìn)制、腳本或歸檔。適用場(chǎng)景非常明確發(fā)布方?jīng)]有提供 mise 支持的發(fā)布后端沒有 GitHub Releases、npm 包、asdf 插件等你自建制品倉庫需要把內(nèi)部工件接入 mise你希望完全控制從哪里下載、校驗(yàn)什么。核心原則文檔原文要求優(yōu)先使用 HTTPS URL并記錄期望的校驗(yàn)和checksum。該后端在源碼中對(duì)應(yīng) src/backend/http.rs 中的HttpBackend結(jié)構(gòu)體其get_type()返回BackendType::Httpsrc/backend/http.rs#L1091-L1093。你可以通過mise use http:工具名[...]版本或直接在mise.toml的[tools]中聲明來使用它。二、快速上手安裝與聲明2.1 命令行方式把示例 URL 換成你平臺(tái)的制品然后在當(dāng)前項(xiàng)目安裝mise use http:my-tool[urlhttps://example.com/releases/my-tool-v1.0.0.tar.gz]1.0.0 mise exec -- my-tool --version執(zhí)行后URL 與版本會(huì)被記錄進(jìn)項(xiàng)目的mise.toml。加-g可安裝為全局工具[tools] http:my-tool { version 1.0.0, url https://example.com/releases/my-tool-v1.0.0.tar.gz }2.2 固定 URL 與latest的邊界關(guān)鍵限制固定 URL 需要一個(gè)具體的版本標(biāo)簽。latest不會(huì)從下載 URL 自動(dòng)發(fā)現(xiàn)新版本——如果你需要mise ls-remote與自動(dòng)版本選擇必須配置version_list_url版本列表 URL。另外僅更新版本號(hào)不會(huì)改變靜態(tài) URL。對(duì)隨版本變化的制品請(qǐng)使用 URL 模板見下一節(jié)例如https://example.com/releases/my-tool-v{{version}}.tar.gz。2.3 支持的語法HTTP backend 的完整工具引用語法為帶 URL 參數(shù)的 HTTP 語法http:my-tool[urlhttps://example.com/releases/my-tool-v1.0.0.tar.gz]1.0.0三、核心選項(xiàng)url與模板變量httpbackend 的選項(xiàng)放在mise.toml的[tools]中參見 docs/dev-tools/index.md#Tool-Options 的通用說明。其中url是必填項(xiàng)——源碼中缺失 URL 時(shí)會(huì)直接報(bào)錯(cuò)Http backend requires url option或提示當(dāng)前平臺(tái)缺少platforms.key.urlsrc/backend/http.rs#L260-L272。3.1 靜態(tài) URL 與模板 URL[tools] http:my-tool { version 1.0.0, url https://example.com/releases/my-tool-v{{version}}.tar.gz }也可使用不含模板的靜態(tài) URL[tools] http:my-tool { version 1.0.0, url https://example.com/releases/my-tool-v1.0.0.tar.gz }3.2 可用模板變量URL 模板使用雙大括號(hào)語法如{{version}}變量說明version工具版本os()操作系統(tǒng)macos、linux或windowsarch()架構(gòu)x64或arm64os_family()OS 家族unix或windowsos()與arch()還支持重映射remapping用于處理命名約定不同的工具。例如 HashiCorp 系工具使用darwin而非macos、amd64而非x64[tools] # HashiCorp 工具使用 darwin 代替 macosamd64 代替 x64 http:sentinel { version 0.26.3, url https://releases.hashicorp.com/sentinel/{{version}}/sentinel_{{version}}_{{os(macosdarwin)}}_{{arch(x64amd64)}}.zip, }上述配置會(huì)生成如下 URLmacOS arm64sentinel_0.26.3_darwin_arm64.zipmacOS x64sentinel_0.26.3_darwin_amd64.zipLinux x64sentinel_0.26.3_linux_amd64.zip這正是倉庫中 registry/sentinel.toml 真實(shí)使用的模板寫法。源碼中template_string_for_target還會(huì)在mise lock時(shí)**為目標(biāo)平臺(tái)而非宿主機(jī)**渲染os()/arch()其單元測(cè)試直接斷言了 Linux/Windows 下的渲染結(jié)果src/backend/http.rs#L1431-L1446。3.3 平臺(tái)專屬 URLtable 形式當(dāng)不同平臺(tái)需要不同下載地址時(shí)使用platforms表[tools.http:my-tool] version 1.0.0 [tools.http:my-tool.platforms] macos-x64 { url https://example.com/releases/my-tool-v1.0.0-macos-x64.tar.gz } macos-arm64 { url https://example.com/releases/my-tool-v1.0.0-macos-arm64.tar.gz } linux-x64 { url https://example.com/releases/my-tool-v1.0.0-linux-x64.tar.gz }平臺(tái)鍵的兼容性說明macos與darwin、x64與amd64均可作為平臺(tái)鍵文檔與示例優(yōu)先使用macos和x64但所有變體都被接受OS/架構(gòu)遵循 mise 約定操作系統(tǒng)為linux、macos、windows架構(gòu)為x64、arm64如果你寫了類似darwin-aarch64的筆誤mise 會(huì)嘗試?yán)斫饽愕囊鈭D并做正確的事。四、完整性校驗(yàn)checksum、checksum_url、checksum_expr 與 size4.1checksum直接聲明從可信來源提供完整期望摘要。下面的值是占位符安裝前必須替換[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v1.0.0.tar.gz checksum sha256:REPLACE_WITH_THE_64_HEX_DIGIT_DIGEST提示也可以不在此處聲明校驗(yàn)和改用 mise.lock 統(tǒng)一管理校驗(yàn)和。安裝時(shí)verify_artifact會(huì)對(duì)下載文件執(zhí)行校驗(yàn)src/backend/http.rs#L1246-L1250開啟 lockfile 時(shí)verify_checksum還會(huì)校驗(yàn)鎖文件中記錄的 checksum 與 size不匹配會(huì)直接報(bào)錯(cuò)src/backend/http.rs#L916-L923。4.2 平臺(tái)專屬校驗(yàn)和[tools.http:my-tool] version 1.0.0 [tools.http:my-tool.platforms] macos-x64 { url https://example.com/releases/my-tool-v1.0.0-macos-x64.tar.gz, checksum sha256:REPLACE_WITH_THE_64_HEX_DIGIT_DIGEST, } macos-arm64 { url https://example.com/releases/my-tool-v1.0.0-macos-arm64.tar.gz, checksum sha256:REPLACE_WITH_THE_64_HEX_DIGIT_DIGEST, } linux-x64 { url https://example.com/releases/my-tool-v1.0.0-linux-x64.tar.gz, checksum sha256:REPLACE_WITH_THE_64_HEX_DIGIT_DIGEST, }4.3checksum_url從發(fā)布方獲取校驗(yàn)和checksum_url指向一個(gè)已發(fā)布的校驗(yàn)和來源。設(shè)置后mise lock會(huì)為每個(gè)目標(biāo)平臺(tái)解析校驗(yàn)和——包括當(dāng)前運(yùn)行平臺(tái)之外的其他平臺(tái)——且無需下載制品。這意味著單臺(tái)機(jī)器即可產(chǎn)出完整的跨平臺(tái) lockfile。checksum_url本身也是模板支持{{ version }}、{{ os() }}、{{ arch() }}也可通過platforms.key.checksum_url按平臺(tái)設(shè)置。它可以指向單個(gè)校驗(yàn)和文件如artifact.sha256內(nèi)容可以是純哈希也可以是hash filenameSHASUMS 風(fēng)格文件列出hash filename覆蓋多平臺(tái)按制品文件名匹配行清單文件如 JSON此時(shí)需配合下面的checksum_expr。對(duì)于單個(gè)文件與 SHASUMS 文件算法根據(jù)文件名自動(dòng)檢測(cè)*.sha512、SHA512SUMS、*.md5、*.b3默認(rèn) sha256# 單個(gè)校驗(yàn)和文件每個(gè)制品一個(gè) [tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-{{ version }}-{{ os() }}-{{ arch() }}.tar.gz checksum_url https://example.com/releases/my-tool-{{ version }}-{{ os() }}-{{ arch() }}.tar.gz.sha256 # SHASUMS一個(gè)文件列出所有平臺(tái) [tools.http:other-tool] version 1.0.0 url https://example.com/{{ version }}/other_{{ version }}_{{ os(macosdarwin) }}_{{ arch(x64amd64) }}.zip checksum_url https://example.com/{{ version }}/other_{{ version }}_SHASUMS源碼中的解析順序是平臺(tái)直接聲明的checksum→checksum_expr清單 → SHASUMS 列表按文件名匹配→ 單個(gè)校驗(yàn)和文件src/backend/http.rs#L973-L1032。值得注意的是若 SHASUMS 列表存在但沒有匹配當(dāng)前制品的條目mise 不會(huì)退化為取第一個(gè)哈希而是將該平臺(tái)標(biāo)記為未解析避免錯(cuò)誤鎖定其他平臺(tái)的校驗(yàn)和。4.4checksum_expr從清單中提取當(dāng)校驗(yàn)和位于清單而非純校驗(yàn)和文件中時(shí)用checksum_expr提取。從checksum_url獲取的清單正文會(huì)用 expr-lang 表達(dá)式求值可用變量body原始清單、version、os、arch、url目標(biāo)平臺(tái)的已解析制品 URL、filename。表達(dá)式必須求值為限定符形式的algo:hash字符串如sha256:hash、sha512:hash。算法前綴需在表達(dá)式內(nèi)構(gòu)造算法固定時(shí)拼接字面量sha256: entry.hash算法隨清單變化時(shí)讀取entry.algo : entry.hash[tools.http:my-tool] version 1.10.0 checksum_url https://example.com/versions.json # 匹配 url 等于已解析制品 URL 的條目返回 sha256:hash checksum_expr sha256: filter(fromJSON(body)[version ].files, { #.url url })[0].sha256 [tools.http:my-tool.platforms] linux-x64 { url https://example.com/my-tool-{{ version }}-linux-x86_64.tar.gz } macos-arm64 { url https://example.com/my-tool-{{ version }}-macos-arm64.tar.gz }expr-lang 的兩個(gè)陷阱文檔明確提示謂詞占位符必須寫成{ #... }——{后必須有一個(gè)空格因?yàn)閧#是 Tera 注釋定界符要用運(yùn)行時(shí)值索引 map必須強(qiáng)制求值[version ]——裸寫[version]會(huì)被當(dāng)作字面鍵名version。4.5size字節(jié)數(shù)檢查檢查期望字節(jié)數(shù)。下面的數(shù)字只是語法示例請(qǐng)使用真實(shí)制品大小。size 檢查不能替代校驗(yàn)和[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v1.0.0.tar.gz size 12345678平臺(tái)專屬 size 示例[tools.http:my-tool] version 1.0.0 [tools.http:my-tool.platforms] macos-x64 { url https://example.com/releases/my-tool-v1.0.0-macos-x64.tar.gz, size 12345678, } macos-arm64 { url https://example.com/releases/my-tool-v1.0.0-macos-arm64.tar.gz, size 9876543, } linux-x64 { url https://example.com/releases/my-tool-v1.0.0-linux-x64.tar.gz, size 11111111, }在源碼中size 校驗(yàn)位于verify_checksum鎖文件記錄了期望 size 時(shí)逐字節(jié)比對(duì)不一致會(huì)報(bào)Size mismatch錯(cuò)誤src/backend/http.rs#L915-L923。五、歸檔與二進(jìn)制處理strip_components、bin、rename_exe、format5.1strip_components解壓歸檔時(shí)剝離的目錄層級(jí)數(shù)[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v1.0.0.tar.gz strip_components 1注意當(dāng)strip_components與bin_path都未設(shè)置時(shí)若解壓后的歸檔在根層恰好只有一個(gè)目錄且沒有文件mise 會(huì)自動(dòng)應(yīng)用strip_components 1。這在 ripgrep 這類把二進(jìn)制打包在版本目錄中的工具上很常見如ripgrep-14.1.0-x86_64-unknown-linux-musl/rg。自動(dòng)檢測(cè)確保二進(jìn)制被直接放到 mise 期望的安裝路徑下。該自動(dòng)檢測(cè)邏輯在effective_strip_components中實(shí)現(xiàn)僅當(dāng)未顯式配置、非壓縮二進(jìn)制、非 raw 文件、未設(shè)置bin_path且should_strip_components判定為單目錄歸檔時(shí)才生效src/backend/http.rs#L390-L416。5.2bin重命名單個(gè)下載文件下載的單個(gè)二進(jìn)制文件名帶平臺(tái)后綴時(shí)可用bin重命名[tools.http:docker-compose] version 2.29.1 url https://github.com/docker/compose/releases/download/v{{ version }}/docker-compose-linux-x86_64 bin docker-compose # 從 docker-compose-linux-x86_64 重命名為 docker-compose提示下載單個(gè)二進(jìn)制非歸檔時(shí)mise 會(huì)自動(dòng)去掉文件名中的 OS/arch 后綴。例如docker-compose-linux-x86_64會(huì)自動(dòng)變成docker-compose。只有需要特定自定義名稱時(shí)才用bin。5.3rename_exe重命名歸檔內(nèi)的可執(zhí)行文件歸檔內(nèi)的可執(zhí)行文件帶平臺(tái)名、或安裝 kubectl 插件需要特定命名時(shí)使用。mise 會(huì)在解壓目錄或設(shè)置了bin_path時(shí)的該目錄中查找第一個(gè)可執(zhí)行文件并重命名為指定名稱[tools.http:openunison-cli] version 1.0.0 url https://nexus.tremolo.io/repository/openunison-cli/openunison-cli-v{{version}}-linux.zip rename_exe kubectl-openunison-cli # 重命名解壓出的二進(jìn)制以用作 kubectl 插件一次重命名多個(gè)二進(jìn)制時(shí)使用表形式——每個(gè)鍵是源名精確文件名或 glob值是新名稱[tools.http:mytool] version 1.0.0 url https://example.com/mytool-v{{version}}-linux.zip rename_exe { mytool-* mytool, myhelper-* myhelper }建議bin用于重命名單個(gè)二進(jìn)制下載rename_exe用于重命名歸檔內(nèi)的可執(zhí)行文件。源碼實(shí)現(xiàn)上rename_exe的標(biāo)量形式與表形式都會(huì)參與緩存鍵生成表形式被哈希為安全 token避免路徑分隔符、Windows 非法字符等進(jìn)入緩存目錄名并且bin/rename_exe都做了路徑穿越防護(hù)——bin../evil、rename_exea/b會(huì)被拒絕src/backend/http.rs#L1755-L1790。5.4format顯式指定歸檔格式當(dāng) URL 沒有文件擴(kuò)展名或擴(kuò)展名不正確時(shí)顯式聲明格式[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v1.0.0 format tar.xz # 顯式指定格式說明未指定format時(shí)mise 會(huì)從HTTP 重定向后的最終 URL自動(dòng)檢測(cè)格式再回退到配置的 URL。這使得無擴(kuò)展名的下載端點(diǎn)可以重定向到.tar.gz等歸檔。顯式format優(yōu)先級(jí)最高當(dāng)兩個(gè) URL 都沒有可用擴(kuò)展名、或需要覆蓋檢測(cè)結(jié)果時(shí)使用它。平臺(tái)專屬格式[tools.http:my-tool] version 1.0.0 [tools.http:my-tool.platforms] macos-x64 { url https://example.com/releases/my-tool-v1.0.0-macos-x64, format tar.xz, } linux-x64 { url https://example.com/releases/my-tool-v1.0.0-linux-x64, format tar.gz, } windows-x64 { url https://example.com/releases/my-tool-v1.0.0-windows-x64, format zip, }從源碼看格式檢測(cè)還會(huì)影響緩存身份顯式format或重定向后格式都會(huì)以format_fmt形式進(jìn)入緩存鍵避免內(nèi)容相同但處理方式不同的制品共享緩存條目src/backend/http.rs#L83-L127、src/backend/http.rs#L1678-L1703。5.5 單文件、壓縮二進(jìn)制與歸檔的分類處理extract_artifact根據(jù)檢測(cè)結(jié)果走三條路徑src/backend/http.rs#L610-L628壓縮二進(jìn)制.gz、.xz、.bz2、.zst解壓為單個(gè)文件并chmod xextract_compressed_binaryraw 文件未壓縮直接復(fù)制為可執(zhí)行文件Windows 上若設(shè)置了windows_script_interpreter還會(huì)生成.cmd啟動(dòng)器extract_raw_file歸檔tar/zip 等按strip_components解壓隨后處理rename_exeextract_archive。六、二進(jìn)制查找bin_path與查找順序bin_path指定解壓歸檔內(nèi)包含二進(jìn)制的目錄或下載文件應(yīng)放置的位置支持{{version}}模板。其路徑相對(duì)解壓后的安裝根目錄設(shè)置bin_path會(huì)禁用自動(dòng)根目錄剝離。對(duì)于形如my-tool-1.0.0/bin/my-tool的歸檔要么顯式剝離外層目錄配合strip_components 1要么保留結(jié)構(gòu)并用bin_path my-tool-{{ version }}/bin[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v1.0.0.tar.gz strip_components 1 bin_path bin二進(jìn)制路徑查找順序?qū)?yīng)list_bin_paths實(shí)現(xiàn)src/backend/http.rs#L1321-L1372設(shè)置了bin_path直接使用該目錄未設(shè)置在安裝路徑下查找bin/目錄無bin/目錄搜索子目錄中的bin/目錄找不到任何bin/目錄使用解壓目錄根。七、版本發(fā)現(xiàn)mise ls-remote的三種提取方式固定 URL 無法自動(dòng)發(fā)現(xiàn)版本。配置version_list_url后mise ls-remote即可列出版本版本解析如version latest也會(huì)基于該列表工作。源碼中fetch_versions負(fù)責(zé)抓取并交給parse_version_list解析src/backend/http.rs#L936-L950、src/backend/version_list.rs#L46-L127。7.1version_list_url數(shù)據(jù)源[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v{{version}}.tar.gz version_list_url https://example.com/releases/versions.txt版本列表 URL 可返回以下任意格式自動(dòng)識(shí)別無需額外配置純文本單個(gè)版本號(hào)如2.0.53按行分隔每行一個(gè)版本JSON 字符串?dāng)?shù)組[1.0.0, 1.1.0, 2.0.0]JSON 對(duì)象數(shù)組[{version: 1.0.0}, {tag_name: v2.0.0}]含 versions 數(shù)組的 JSON 對(duì)象{versions: [1.0.0, 2.0.0]}v前綴會(huì)被自動(dòng)剝離。mise 保留版本源返回的順序默認(rèn)將最后一個(gè)匹配條目視為最新。若源返回的語義版本順序不同可設(shè)version_order semver讓mise ls-remote按語義優(yōu)先級(jí)排序與選擇。完整的排序契約見 docs/dev-tools/index.md 的 Version ordering 一節(jié)。例如 GitHub releases API 返回最新在前把它當(dāng)作 HTTP 版本源時(shí)建議開啟語義排序[tools.http:my-tool] version latest version_order semver url https://example.com/my-tool-{{ version }}.tar.gz version_list_url https://api.github.com/repos/owner/my-tool/releases version_json_path .[].tag_name7.2version_regex從任意文本提取用正則從響應(yīng)中提取版本第一個(gè)捕獲組作為版本沒有捕獲組時(shí)使用整個(gè)匹配[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v{{version}}.tar.gz version_list_url https://example.com/releases/ version_regex my-tool-v(\d\.\d\.\d)\.tar\.gz提供正則時(shí)mise 會(huì)繞過get_text的 HTML 拒絕檢查直接獲取原始內(nèi)容因?yàn)檎齽t常被用于解析 HTML 目錄列表見 src/backend/version_list.rs#L30-L38。7.3version_json_pathjq 風(fēng)格 JSON 路徑用 jq 風(fēng)格的路徑表達(dá)式從 JSON 響應(yīng)提取版本[tools.http:my-tool] version 1.0.0 url https://example.com/releases/my-tool-v{{version}}.tar.gz version_list_url https://api.example.com/releases version_json_path .[].tag_name支持的路徑表達(dá)式.— 根值.[]— 遍歷數(shù)組元素.[].field— 提取每個(gè)數(shù)組元素的字段.field— 提取對(duì)象字段.field[]— 遍歷字段中的數(shù)組.field.subfield— 嵌套字段訪問.data.versions[]— 復(fù)雜嵌套路徑.[?fieldvalue]— 過濾字段等于指定值的數(shù)組元素常用示例# GitHub releases API 格式 version_json_path .[].tag_name# 嵌套 versions 數(shù)組 version_json_path .data.versions[]# Release info 對(duì)象 version_json_path .releases[].info.version# 只過濾穩(wěn)定版例如 Flutter version_json_path .releases[?channelstable].version[?fieldvalue]過濾語法在提取前過濾 JSON 數(shù)組非常適合只取多發(fā)布通道stable/beta/dev中的某一個(gè)。倉庫測(cè)試覆蓋了 Flutter 風(fēng)格 JSON 的通道過濾src/backend/version_list.rs#L342-L359。7.4version_exprexpr-lang 終極武器用 expr-lang 表達(dá)式提取版本是復(fù)雜場(chǎng)景下最靈活的方式。表達(dá)式接收響應(yīng)體為body變量應(yīng)返回版本字符串?dāng)?shù)組。它還接收versions變量——即version_regex或version_json_path已提取的值無前置提取時(shí)為空數(shù)組[tools.http:my-tool] version latest url https://example.com/releases/my-tool-v{{ version }}.tar.gz version_list_url https://example.com/versions.txt version_expr split(body, \n)更多表達(dá)式示例# 按行切分并過濾空行 version_expr filter(split(body, \n), # ! )# 解析 JSON 并提取對(duì)象鍵適用于 HashiCorp 風(fēng)格 JSON # 例如 {versions: {1.0.0: {}, 2.0.0: {}}} version_expr keys(fromJSON(body).versions)# 用 mise 的版本感知比較器排序 version_expr fromJSON(body) | map({ trimPrefix(#.tag_name, v) }) | sortVersions()expr-lang 內(nèi)置函數(shù)包括fromJSON(string)解析 JSON 字符串為值toJSON(value)把值轉(zhuǎn)為 JSON 字符串keys(map)取對(duì)象/map 的鍵數(shù)組values(map)取對(duì)象/map 的值數(shù)組len(value)取字符串/數(shù)組/map 的長度filter(array, predicate)與map(array, predicate)過濾或變換數(shù)組sort(array)與reverse(array)按字典序重排int(value)、float(value)、string(value)類型轉(zhuǎn)換mise 額外提供sortVersions(array)做版本感知排序基于versions::Versioning實(shí)現(xiàn)見 src/backend/version_list.rs#L146-L165。發(fā)現(xiàn)版本符合語義版本時(shí)優(yōu)先用version_order semver只有表達(dá)式自身需要排序中間值時(shí)用sortVersions()。version_expr是最后一步提取其結(jié)果即為版本列表。用versions變量對(duì)version_regex或version_json_path的結(jié)果做后處理。version_list_url、version_regex、version_json_path、version_expr這四個(gè)選項(xiàng)在源碼中被標(biāo)記為遠(yuǎn)程版本列表工具選項(xiàng)remote_version_listing_tool_option_keyssrc/backend/http.rs#L1103-L1110即只有它們參與mise ls-remote的數(shù)據(jù)獲取。八、緩存行為http-tarballs內(nèi)容緩存HTTP backend 會(huì)緩存下載與解壓結(jié)果節(jié)省磁盤并加速安裝。8.1 緩存位置普通用戶安裝時(shí)下載并解壓的文件緩存在$MISE_DATA_DIR/http-tarballs/而不是為每個(gè)工具安裝單獨(dú)存放。默認(rèn)路徑Linux~/.local/share/mise/http-tarballs/macOS~/.local/share/mise/http-tarballs/顯式的mise install --system、mise install --shared與mise install-into安裝會(huì)直接解壓到目標(biāo)目錄不使用持久解壓緩存——因此結(jié)果是自包含的不鏈接到安裝者用戶的主目錄。8.2 緩存鍵生成緩存鍵由文件內(nèi)容派生因此相同下載可在多個(gè)工具間共享文件內(nèi)容mise 計(jì)算下載文件的 Blake3 哈希獨(dú)立于期望的驗(yàn)證校驗(yàn)和解壓選項(xiàng)會(huì)改變解壓結(jié)果的選項(xiàng)也計(jì)入鍵包括根目錄剝離、重命名、相關(guān)格式或啟動(dòng)器選擇。源碼中cache_key按此拼接各部分src/backend/http.rs#L319-L371blake3內(nèi)容哈希[_format_格式][_name_重命名哈希][_strip_N][_rename_token][_binpath_路徑][_windows_script_interpreter_哈希]。注意bin_path本身不進(jìn)入鍵在符號(hào)鏈接階段處理以實(shí)現(xiàn)去重但配合rename_exe時(shí)會(huì)進(jìn)入鍵。示例緩存目錄結(jié)構(gòu)~/.local/share/mise/http-tarballs/ ├── 71f774faa03daf1a58cc3339f8c73e6557348c8e0a2f3fb8148cc26e26bad83f/ │ ├── bin/my-tool │ └── metadata.json └── 1c2af379bdf1fed266bc44b49271e2df5b0dafae09f1cc744b3505ec50c84719_strip_1/ ├── my-tool └── metadata.json上面的首個(gè)哈希在 e2e 測(cè)試中真實(shí)出現(xiàn)過——同一個(gè) tarball 在 e2e/backend/test_http 中生成blake3:71f774...鎖條目證明緩存鍵獨(dú)立于驗(yàn)證校驗(yàn)和的設(shè)計(jì)。8.3 符號(hào)鏈接安裝普通用戶安裝是到緩存解壓內(nèi)容的符號(hào)鏈接~/.local/share/mise/installs/http-my-tool/1.0.0 → ~/.local/share/mise/http-tarballs/71f774...e2e/backend/test_http_caching 驗(yàn)證了這一行為第一個(gè)工具安裝后緩存 1 個(gè)條目第二個(gè)工具使用同一 tarball 后緩存仍為 1 個(gè)條目復(fù)用不同 tarball 才新增條目最后直接斷言安裝目錄是符號(hào)鏈接且指向/http-tarballs/。該方案的好處節(jié)省空間普通用戶安裝可在工具間共享相同 tarball安裝更快復(fù)用已解壓內(nèi)容避免重復(fù)解壓下載可能仍需進(jìn)行以識(shí)別內(nèi)容一致性相同文件與解壓選項(xiàng)復(fù)用同一緩存內(nèi)容。系統(tǒng)、共享與 install-into 目標(biāo)存放真實(shí)文件而非符號(hào)鏈接避免卸載后殘留隱藏緩存條目并保證共享安裝獨(dú)立于特定用戶的數(shù)據(jù)目錄。8.4 緩存元數(shù)據(jù)每個(gè)緩存條目包含metadata.json{ url: https://example.com/releases/my-tool-v1.0.0.tar.gz, checksum: sha256:REPLACE_WITH_THE_64_HEX_DIGIT_DIGEST, size: 1024000, extracted_at: 1703001234, platform: macos-arm64 }源碼中CacheMetadata結(jié)構(gòu)體與之對(duì)應(yīng)write_metadata在解壓成功后寫入src/backend/http.rs#L40-L47、src/backend/http.rs#L722-L741。8.5 緩存管理普通 HTTP 安裝的緩存放于$MISE_DATA_DIR/http-tarballs/有意放在MISE_CACHE_DIR之外因此mise cache clear不會(huì)刪除已安裝符號(hào)鏈接仍引用的內(nèi)容。系統(tǒng)、共享與 install-into 目標(biāo)不會(huì)創(chuàng)建持久 HTTP 解壓緩存。九、與 mise.lock 的聯(lián)動(dòng)跨平臺(tái)鎖文件HTTP backend 是 lockfile 生態(tài)的重要成員。mise lock時(shí)resolve_lock_info會(huì)為每個(gè)目標(biāo)平臺(tái)解析制品 URL 與校驗(yàn)和src/backend/http.rs#L1145-L1183URL 模板按目標(biāo)平臺(tái)渲染lock_url_for_target無法解析的平臺(tái)會(huì)報(bào)錯(cuò)并標(biāo)記為跳過而非靜默寫空條目校驗(yàn)和按 平臺(tái)直接聲明 →checksum_expr清單 → SHASUMS 文件名匹配 → 單個(gè)校驗(yàn)和文件 的順序解析全程不下載制品配置了checksum_url卻解析不到校驗(yàn)和時(shí)會(huì)給出警告并僅鎖定 URL不帶校驗(yàn)和驗(yàn)證。安裝時(shí)若 lockfile 已啟用mise 會(huì)對(duì)每個(gè)平臺(tái)記錄blake3校驗(yàn)和與 size并在后續(xù)安裝中驗(yàn)證src/backend/http.rs#L889-L929。這正是 e2e/backend/test_http 中斷言checksum blake3:71f774...所驗(yàn)證的鏈路。完整的 lockfile 說明見 docs/dev-tools/mise-lock.md。十、端到端驗(yàn)證與真實(shí)注冊(cè)表案例倉庫中 e2e/backend/test_http 覆蓋了 HTTP backend 的完整實(shí)操矩陣可作為自測(cè)清單基礎(chǔ)安裝 mise x --運(yùn)行驗(yàn)證帶checksum的校驗(yàn)安裝多版本1.0.0 → 2.0.0切換平臺(tái)專屬 URLplatforms表darwin-arm64/darwin-amd64/linux-amd64raw 文件直裝無歸檔與 raw 文件 bin_pathlockfile 生成MISE_LOCKFILE1下mise.lock含 backend/url/platforms/checksumURL 模板{{version}}、模板化bin_path、Tera 帶空格語法{{ version }}。真實(shí)世界案例registry/sentinel.toml 展示了生產(chǎn)級(jí)配置——HashiCorp Sentinel 的完整 HTTP 后端聲明version_order semver bins [sentinel] [[backends]] full http:sentinel [backends.options] checksum_url https://releases.hashicorp.com/sentinel/{{ version }}/sentinel_{{ version }}_SHA256SUMS url https://releases.hashicorp.com/sentinel/{{ version }}/sentinel_{{ version }}_{{ os(macosdarwin) }}_{{ arch(x64amd64) }}.zip version_expr fromJSON(body).versions | keys() | sortVersions() version_list_url https://releases.hashicorp.com/sentinel/index.json它同時(shí)用到了模板重映射、SHASUMS 校驗(yàn)和源、version_expr版本提取與version_order semver——是本文所有概念的濃縮范本。結(jié)語HTTP backend 是 mise 工具生態(tài)的萬能插座一條直鏈、一段模板、一組校驗(yàn)選項(xiàng)即可把任何二進(jìn)制、腳本或歸檔納入統(tǒng)一的管理、版本選擇、緩存與鎖文件體系。從mise use一行命令接入到platforms表按平臺(tái)分發(fā)、checksum_url/checksum_expr無下載鎖定全平臺(tái)校驗(yàn)和再到version_expr處理任意復(fù)雜的版本清單其能力邊界遠(yuǎn)不止下載解壓——它把從 URL 安裝這件事完整地工程化了。結(jié)合 docs/dev-tools/backends/http.md、src/backend/http.rs 與 e2e/backend/test_http你可以為團(tuán)隊(duì)里任何只有下載鏈接的工具建立可復(fù)現(xiàn)、可審計(jì)的標(biāo)準(zhǔn)安裝方案。【免費(fèi)下載鏈接】misedev tools, env vars, task runner項(xiàng)目地址: https://gitcode.com/GitHub_Trending/mi/mise創(chuàng)作聲明:本文部分內(nèi)容由AI輔助生成(AIGC),僅供參考
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
九九色综合| 一起草Av| 婷婷五月av| 99精品在这里| 婷婷五月在线视频| 夜夜操加勒比| 综合激情站| 欧美天天干天天草| 狠狠看狠狠| 丁香五月综合激情久久潮喷| 最近中文字幕大全免费版在线 | 99九九99九九九视频精品| 久99久99精品免| 夜夜操夜夜爽| 91亚洲天堂| 久久婷婷六月综合综合| 日韩综合久久| 婷婷六月天激情| 96人人操人人操人人| 久久受www免费人成| 97人人干| 操一区| 五月激情丁香五月宗合| 亚洲综合激情五月天婷婷| 亚洲殴洲精品Av在线| 丁香六月色婷婷| 狠色狠色综合久久| 开心激情久久久久久久| 婷婷五月天AV激情| 五月深爱婷婷| 天天人人天天爽| 五月天久久网站| 成人在线日韩| 九九热AV| 亚洲婷婷开心五月| 色综合色综合色综合高潮| 欧美天天搞| 黄色片久久| 丁香婷婷性爱| 色色五月天激情| 久久六月天| tingtingzonghewang| 欧美色图45678| 性爱七区| 激情伊人| 丁香蜜臀黄色婷婷五月天| 久久综合激情五月天| 五月婷无码| 九九久久五月天综合伊人| 欧美色必爱| 婷婷五月天综合网| 极品人妻VIDEOSSS人妻| 影音 五月 婷婷 久久| 色婷婷网| 激情五月丁香五月色| www.色五月| 五月丁香六月婷| 日本色图综合| 久久九九免费视频| 久久久激情| 色婷婷操逼| 1区2区视频| 婷婷五月天美女21p| 人人操人人爱丁香五月| www.操.com| 狠狠干在线| 婷婷基地爱| 五月婷av| 99色在线| 国产精品成人网址| 综合99久久| 91爱啪啪| av人人操| 九九色影视| 超碰99在线观看| 99在线视频色版| 久久久久9| 色~性~乱~伦~噜| 亭亭色色五月天| 99ri在线观看视频| 伊人狠狠干| 99免费在线| 久久九九免费视频| 夜夜撸夜夜骑| 五月色婷婷夜色| 极品五月天| 丁香五月综合久久综合| 色婷婷精品小视频| 日本色爽| 午夜不卡久久精品无码免费| 丁香久久久| 91操在线视频| 激情五月天色婷婷| 操操自拍| 七月丁香五月婷婷在线| 影音先锋噜一噜| 啪啪91| 丁香婷婷精品视频| 中文字幕 中文字幕明步| 日本天堂免费99| 99视频内射三四| 天天射影院| 亚洲AV无码成人电影| 大鸡巴伊人网| 成人片久久网站| 久热这里只有精品视频6| 五月天婷婷在线观看| 天天射综合网站| 色婷綜合网| 亚洲激情97五月天| 丁香六月啪啪| 久婷五月| 婷婷丁香六月| 影音先锋男士资源网一区| 色九四色| 91色五月| 无码99| 在线成人网址| 大香蕉人人人| 日韩色色视频www| 最新色色五月天| 超碰狠狠干99| 亚洲色色色色色| 天天草比天天爽| 99热这里只有精品9| 丁香青青五月天| 热99国产精品| 97碰免费视频在线| 久久新| 五月丁香九九九综合| 99在线热| 激情综合国产| aaa久久| 丁香五月婷婷啪啪视频| 久久这里只有精品无码| 综合婷婷| 丁香密臀AV激情网| 九九热精品视频| 久久伊人日日夜夜| 中字幕视频在线永久在线观看免费| 五月丁香婷婷啪啪综合| 五月婷婷av| 天久综合91综合首页| 亚洲愉拍99热成人精品| 色婷婷五月天在线观看| 伊人色五月| 色五月视频,小说| 91精品久久久久久77777| 激情综合在线播放| 曰曰久久| 高清无码.com| 色色综合网站| 欧美日韩大黄| 无码成人播放器| 99久热这里有精品| 香蕉人妻AV久久久久天天| 99ri在线视频| 性爱久久| 97丁香五月| 狠狠色丁香乆乆| 婷婷五月激情欧美大胆视频| 香港九九六区八区99| 伊人丁香婷婷东京| 国产色色色色色| 激情网五月婷婷| 久久全意婷婷| 久久天天| 六月丁香婷婷五月天| 成人日韩欧美| 日日操,日日爽| 91操碰| 色婷婷888| 9久热| 人人操91| 天天操九九插| 久久五月婷婷视频| 99欧美| 欧美色图45678| 99久久6| 97精品综合| 亚洲色视频| 91狠狠色丁香婷婷综合久久精品| 亚洲亚洲人成综合网络| 成人免费va| 五月丁香人妻| 91操人视频| 日本色婷婷久久99精品91| 色情五月丁香| 色综合激情| 99色在线观看视频| 成人做爰A片免费看视频| 欧美色骚婷婷五月天| 人妻AV中文系列| 丁香五月天的网址。| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 亚州精品色情无码A片| av在线资源| 婷婷五月激情欧美| 婷婷综合中文字幕| 婷婷五月激情四月综合 | 激情深爱五月天| 99男人天堂| 99热只有| 人人操AV| 久色欧美| 狠狠狠狠狠狠色| 强壮的公次次弄得我高潮A片日本 | 天天天天天天天操| 丁香五月激情啪啪| 男人天堂 久久| 99热最新| 亚洲色夜| 99热成人在线| 激情99热| 色婷婷AAA| 91久久久久久久久久18| 激情床戏| 婷婷丁香五月色| 激情五月婷黄版| 九九色插| 99色视频| 超碰资源在线| 无码人妻一区| 婷婷五月综合啪| www婷婷| 91碰免费视频| 能看的av| 五五月丁香花激情综合网| 成人电影一区| 91丨九色丨国产打屁股| 五月丁香在线偷拍视频| 婷婷五六月丁香| 色天堂97| 亚洲视频久久| av人人操| 97干资源在线观看| 久婷婷视平| 99亚州综合精品成人网| www.婷婷| 欧美日综合| 六月丁香婷婷综合在线| 99久久极情精品一区| 电影蜘蛛女| 97香蕉久久超级碰碰高清版| 99久久精品国产色欲| 激情五月丁香五月色| 成人在线视频网| 亲子乱AV一区二区三区下载| 色欲久久久久久综合网综合网| 丁香五月天啪啪激情综和网| 五月婷婷免费视频| 三十路磁力链接| 久热久色| 亚洲色碰| 亚洲无码成人网| 丁香大香蕉| 玖玖99精品视频| 天天综合区| 丁香六月毛片| 五月天影院| 五月天婷婷色播在线网| 五月婷婷深爱六月| 丁香婷婷色五月| 噜噜噜精品欧美成人在线观看| 丁香六月av| 狠狠艹狠狠艹| 激情婷婷五月天在线观看| 天天插天天草人人玩| 五月丁香啪啪啪| 婷婷成人综合| 99热这里有精品24| 五月婷婷真爱激情网| 丁香五月婷婷欧美成人色图| 99热这里只有精品3| 丁香五月婷婷手机| 国产avapp 网| 人妻人人操| 五月激情综合网| 丁香六月综合激情| 男女啪啪视频久 9| 狼友超碰| 男人天堂亚洲综合| 夜夜撸天天操| 天天干天天色综合| 久久se 综合网 | 国产探花一片区| 婷婷五月天首页激情| 在线99精品| 亚洲成人在线综合| 天天爽天天操| 超碰97在线观看免费| 超碰成人公开| 色天使色婷婷| www,欧美干干干干干干| 五月天婷婷无码| 五月婷在线| 色999五月色| 久热婷婷| 九九久久高清| 噜噜噜噜噜日本视频| 99久久99热这里只有精品| 九九热只有精品| 色色五月婷| 思思久久99热只有频精品66| 午夜婷婷久久 | 久久婷五月综合| 超碰成人电影| 丁香六月亚洲综合| 婷婷婷久久久| 国产精产国品一二三在观看| 五月婷啪| 五月婷婷丁香狠狠撸久久| 五月色综合| 狠狠色噜噜狠狠狠888| 久久人妻久久| 第四色网婷婷| 成年人99热| 香蕉视频91| 九九热中文| 9国产在线视频| 丁香六月婷婷色播| 开心五月深爱五月丁香五月激情五月| 久久久激情| 婷婷5月久久综合网站| 五月丁香婷婷综合久久| 激情www| 操碰97| 狠狠综合区| www.av视频xx999.com| 99亚洲日韩| 亚洲一区二区无遮挡A片| 久久女婷| 亚洲啪啪网| 久久伊人婷婷| 色五婷婷| 欧美日韩999| 狠狠 久久| 丁香五月色情| 激情五月丁香亭亭| 色啪久 | 开心婷婷五月天综合| 天天日,天天射,天天舔| yazhoujiqingav| 久操人妻| 色色五月丁香婷婷| 26.uuu丁香五月婷婷| 人妻VideOssS人妻| a网站免费观看| 91色涩| 六月婷婷在线视频| 丁香99| 婷婷五月丁香色情| 精品成人在线| 五月婷婷之激情五月| 亚洲色综合| 色色色婷婷五月天| 99re热在线视频| 玖玖婷婷婷丁香五月| 丁香六月婷婷综合欧美| 密视AV综合在线| 色10月婷婷视频| 99日本精品视频热| www.久久99热地址发布| 婷婷的色色五月天| 婷婷射图五月天| 婷婷五月婷婷| 99热在线精品观看| 人妻久久久久久久| 五月激情五月丁香| 亚洲亚洲人成综合网络| 日本在线噜噜| 97成人在线视频| 亚洲色情在线| 久久思思99| 九九激情| 婷色五月| 青草视频在线观看视频| 五月伊人视频在线看| www久久久| 婷婷黄色五月天在线视频| 中文字幕在线日亚州9| 婷婷五月激情热播| 日本不卡高字幕在线2019| hd五月婷婷在线| 伊人热在线大香蕉| 九九在线视频| 综合五月丁香久久| 91狼友视频网页更新| 这里只有久久精99| 五月婷婷六月天| 99re在线观看| 婷婷丁香基地在线| 久久色9| 大香蕉久久久久| 九九热这里只有精品5| 亚洲精品亚洲人成人网| 66精品成人免费网站在线观看| 天天日日| 婷婷中文在线| 中文国产五月天| 婷婷伊人綜合中文字幕| 五月天综合在线观看视频| 久久五月婷综合| 色婷婷丁香五月观看| 天天做天天爰天天爽天天无遮挡| 婷婷视频网| 四虎成人精品永久免费AV九九| 亚洲AV影片在线观看| 亚洲AV日韩无码| 99乱视频| 丁香婷婷九月| 艳妇野外情欲放荡HD| 久久成人综合五月天| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 人妻操操色| 亚洲第二AV| 91大神操美女| wwwC0maV五月花| 婷婷情色五月天| 国产熟妇的荡欲午夜视频| 深夜A片| 色综合综合色| 色黄啪啪| 国产成人AV| 五月天激情久久| 婷婷丁香五月天哟啪| 猫咪伊人AV| 九九热av| 色五月婷婷老师| 五月天婷婷青青| 超碰在线中文字幕| www.久久| 91九色首页| 婷婷五月色综合| 99色色热热| 91大神在线免费看视频全集男男一起操| 噜噜噜久久| 日韩六十路91性交电影| 色吧五月| 精品视频二级九九| 777精品久无码人妻蜜桃| 婷婷社区五月天| 丁香五月98| 中文字幕在线不卡| 99九九中文字幕视频| 北条麻妃九九九国产精品视频| 婷婷五月天Av| 五月婷婷在线视频| 人人舔人人| 这里只有精品在线播放| 99精品视频偷拍| 久久婷婷桃花五月天| 99在线精品免费视频| 色欲丁香| 操人91| 五月婷婷激情综合| 色婷婷亚洲五月天| 婷婷五月另类网站| 97色色色色色| 丁香婷婷视频| 日韩五月丁香| 婷婷在线激情| 俺去也综合| 丁香六月激情网C0W| 亚洲五月天伊人| 久热久色| 亚洲另类婷婷五月丁香在线播放| sesesesezonghe| 色婷婷综合久久久久| 婷婷色偷拍| 婷婷久久婷婷| 久久久A级视频| 五月丁香888| 中文字幕久久婷九女同| 新男人天堂人妻| 丁香六月欧美| 97超碰在线免费观看| 色色丁香五月| 9 1超碰九色| 91se在线视频| 嫩草视频在线观看| 亚洲综合网区| 天天爱天天做天天爽| 丁香五月影院| 丁香婷婷五月天色播| 无码色| 天天舔天天爽| 九九热99热| 婷婷五月丁香五月| 成人做爰高潮A片免费视频| 天堂成人A片永久免费网站| 色狠狠色噜噜AV天堂五区| 成人免费120分钟啪啪| 久久在线视频免费观看| www狠狠爱com| 色婷婷久久综合| 9.1综合网| 99热综合| 五月丁香黄色| 色5月婷婷色| 大香蕉婷婷| 国产毛片欧美毛片久久久| 超碰成人黄色网| 日本在线观看aaa 99| 成人在线视频一区| 日日噜狠狠色综| 男女久久婷婷五月天| 天天日天天干天天天| www,超碰| 福利视频在线播放| 国产色99| 开心激情色婷婷五月天| 亚州色色色| 久草天堂| 97亚洲精品| 国产综合色婷婷精品久久| 亭亭五月丁香综合欧美| 岛国AV网站| 婷香五月激情视频| 成人va在线播放| 九九视频在线观看视频6| 五月天伊人久久| 六月五月丁香五月欧美| 五月丁香色| 狠狠干综合| 色婷婷AV久久| 亚洲精品乱码久久久久久按摩观| 青草激情综合| 婷婷九月| 成人五月天丁香婷| av网站中文| 99热97| av国产精品| 97精品综合久久内射| 热热久久精品视频| 伊人久久大香网| 国成人网| 美国少妇性做爰| 香蕉乱插| 婷婷五点亚洲| 99噜噜噜在线播放| 亚洲国产婷婷色五月| 操操操AV| 无码成人播放器| 久色网| 青青草激情网| 免费看欧美成人A片无码 | 人人妖人人97| 99免费综合网| 久久五月激情| 99亚洲视频| 色婷婷激情五月天| 91丁香色| 国产热精品| 激情小说婷婷| 99亚洲天堂| 六月丁香VA| 欧美黄色一级录像| 五月丁香六月日逼| AA丁香综合激情| 大香蕉啪啪网| 五月天伊人网| 激情婷婷丁香五月天小说| 久久婷婷六月综合综合| 超碰伊人碰婷婷五月| 夜夜做夜夜愛| 91婷婷丁香五月亚洲| 丁香伊人综合| 天天日天天干天天操| 区美毛片子| 色色综合激情| 日本久热| 99无码视频| 色色色婷婷五月天| 色五月天在线观看| 久久婷婷五月国产色综合激情| 亚洲色综合| 久久99久久99精品免观看粉| 五月婷啪啪| 超碰资源在线| 超碰AV在线| 91久热| 99爱视频在线观看| 色五月婷婷成人视频| 色婷婷激情| 激情婷婷人妻| 999热在线观看视频| 涩涩婷婷五月| 99热热热99精品婷婷| 婷婷五月天伦理| 97超碰婷婷五月天| 色99热| 大香蕉丁香| 婷婷综合一二三| 丁香五月91| 色欲一区二区三区精品A片| 26uuu丁香婷婷五月| 亚洲成人网在线观看| 丁香六月综合激情| 最近免费中文字幕大全高清大全1| 五月婷婷成人w| 日本三级日本黄色| 婷婷月综合| 久久er视频6| 大地资源色婷婷视频在线| 久久久久久久综合狠狠综合| 狠狠精品干练久久久无码中文字幕| 超碰二区| www.yw尤物| 色婷婷深爱五月| 日韩精品在线观看9| 国产婷婷综合| 亚洲五月天天| 激情婷婷五月天丁香| 青青草tp| 日本美女天天日天天爽| 色五月色五天色情网址| 97香蕉碰碰人妻国产欧美| 日韩成人免费电影| 久久久久久久久久久久久久久久一道本| 天天做好综合色| 色综合久久综合| 天天日综合| 久久这里只有欧美| 66精品国产成人| 伊人99久久| 99看片| 九九热a| 操97在线观看| www.五月丁香| 色婷婷成人五月| 伊人网欧美在线男人天堂五月丁香 | 亚洲爱婷婷| 99成人| 五月婷在线观看| 日韩 欧美 国产 一区 二区| 亚洲在线播放| 久久久这里有精品| 久草热在线视频| 99热这里只有精品手机在线观看| 99久久.www| 少妇性按摩无码中文A片| 五月婷婷影院| 国产精品-第3页-91JQ就要激情网91JQ5.JQJQ926.XYZ | 免费观看2018www黄色操逼网站| 深爱激情六月天| 色五月色综合| 99热九九这里只有精品10| 色婷婷五月成人网| 91九色PORNY大屁股| 天天插天天爽| 色综合久久天天综合网| 79精品视频在线观看,| 狠狠肏综合网| 7月婷婷六月丁香| 婷婷五月天大香蕉| 国产乱妇乱子在线播视频播放网站| 99爱在线视频观看| 综合网激情五月天| 99久久网站| 久久久色婷婷五月天| 国产午夜精品一区二区| 在线免费视频caop| 五月天色色无码| AV九九| www超碰| 激情视频综合| 激情六月色| 亚洲第一精品网站| 丁香五月乱中文字幕| 激情五月亚洲综合网| 五月天丁香啪啪综合| 五月丁香av中文| 色久女| 中文字幕综合| 成人电影AV在线观看| 婷婷九月在线| 久操干| 99久操视频| 国产婷婷色综合AV蜜臀AV | 网站免费一站二站| 欧美激情五月天| 99综合网| 狠狠色综合网站久久久久| 色婷婷深爱五月| 亚洲操逼网| 婷婷五月天久久综合88| 99热99精品在线观看| 国产av天天插天天操天天爽| 欧美97超碰| 亚洲综合视频八| 免费V片在线| 欧美男女婷婷| 日本激情91| 综合五月婷婷| 思思热在线视频观看精品| 包操45分钟网站| 五月天小说激情| 婷婷色情小说| 五月丁香五月婷婷| 亚洲婷婷五月天| 国产欧洲欧洲精品久久| 天天操狠狠操| 色婷婷五月视频| 综合五月天天天天天五月| 2050人人操免费工开爱| 99久久精品网| 五月天久久综合婷婷| 色婷丁香| 色色亚洲| 影音先锋自拍网| 国产乱轮一区二区三区| 99热99美国在线观看| 色婷婷基地| 丁香六月天色婷婷| 综合五月天| 97热这里只有精品| 亚洲无码 图片区| 丁香色影院| 五月婷婷色| 婷婷五月久久| 91无码视频| 欧美性生交XXXXX无码小说| 亚洲av另类在线观看| 极品另类| 色综合五月在线| 色婷婷电影网| 无码激情AAAAA片-区区| 日韩三及成人AV片| 五月天婷五月天综合网在线观| 婷婷六月色播| 人人摸人人搞| 久久久色情| 色婷婷五月影视| 99热这里只有是亚洲国产| 91性高潮久久久久久久久| 这里只有精品免费视频| 丁香av网| 天天综合色丁香| 日日干天天| 中文字幕日产A片在线看| 青青草原伊人网| 五月人妻婷婷| 欧美日综合| 亚洲性爱AV| 精品久久久999| 色色啊| 婷婷五月大香蕉| 99se丁香| 丁香婷婷五月天亚洲| 激情五月天偷拍综合网| 1024国产在线| 夜夜骑日日操| 91欧美日韩综合| 少妇真实被内射视频三四区| 色婷婷久久9.com| 五月婷婷激情| 蜜桃婷婷丁香| 九九热在线视频| 日韩另类| 日本欧美国产| 五月天激情综合网| 亚州精品久久久久AV无码| 天天射影院| 91免费看片| 久久人妻视步| 99热爆在线| 日本在线视频手机播放五月婷| 成人一级片| 中文成人在线| 日日日日操| 婷婷在线网| 六月丁香射婷婷欧美色图片 | 天天干天天操天天射| 青青草日本亚洲| 欧美人与性动交CCOO| 色情五月综合婷婷| 日本在线视频www色| 亚洲Av成人在线观看| 久99热| 丁香花大香蕉婷婷综合| 天天天添天天操| 色婷婷亚洲婷婷| 婷婷五月天播| 91一起操| 婷婷美女精品视频| 少妇被下春药玩弄A片| 五月天色狠狠| 99re在线播放| 欧洲日韩一区二区三区| AA片在线观看视频在线播放| 婷婷五日b| 2018国产大陆天天弄| 五月花婷婷在线精品视频| 天天爽天天操| 五月丁香六月婷婷综合免| 北京熟妇搡BBBB搡BBBB| 丁香婷婷六月天| 双性美人被调教到喷水A片| 安息电影在线观看完整版| 午夜天堂一区人妻| 婷婷丁香五月噜噜噜| 五月久久丁香| 狠狠穞A片一區二區三區| 视频1区2区| 丁香五月人妻| 欧美噜噜久久久XXX| 99这里有精品视频| Jh7Uf088VHafNm| 九月色婷婷综合亚洲| 日日操夜夜骑| 爱久综合| 欧洲色区| 噜噜精品| 色婷婷亚洲| 九九成人| 亚洲色情网站| 亚洲综合无码| 9+1视频网址| 婷婷五月色网| 激情五月色综合网| 999热这里只有精品| 青青999| 思思99热这里只有精品6| 亚洲无AV在线中文字幕| 丁香五月天色| 国产精品成av人在线视午夜片| 求可以看的AV网址| 五月天丁香欧美激情| 91碰碰碰| 国产精品A片| 久久婷婷人人| 98国产精品综合一区二区三区 | 色999亚洲人成色| 这里只有精彩视| 久色网址| 中字幕视频在线永久在线观看免费 | 久久激情五月天| 99在线观看免费精品视频| 婷婷狠狠青青| 99热在线观看精品| 色五月综合激情| 日韩成人免费电影| 色色五月天 亚洲| 99人人干| 四色AVwww| www.婷婷亚洲基地| 日本久久九| 婷婷伊人久久| 婷婷五月图片小说网| 亚洲色综合| 99re这里只有精品视频了| 九热视频在线精品15| 97精品人人A片免费看| 色色亚洲| 日日肏天天操| 日韩婷婷五月| 610018岁成人视频| 九九久久99| 婷婷激情五月色综合| 精品久色| 91色吧网| 丁香五月激情啪啪综合| 九九热这里| 97碰人人操| 天天视频亚洲| 婷久看人爽| 亚洲综合视频网| 疯狂做受XXXX高潮A片动画| 久久久久人妻精选| 婷婷五月天天| 久久久中文| 五月香蕉婷婷| 色综啪啪啪啪啪啪| 国产精品第一国产精品| 丁香五月色| 亚洲婷婷久久综合| 99热6精品| 天天夜天天色天天| 国产成人VA| 丁香五月激情宗合网| 色五月色图| 99婷婷五月天激情| 九九99偷拍视频| 九九日伊人| 高清无码网址| 99热精品观看| 亭亭玉月丁香| 久久婷婷视频| 婷婷五月综合亚洲| 久久免费婷婷视频| 激情网婷婷婷| 色色色色色色色色色999| 婷婷激情五月天在线视频| 激情综合网丁香| 国产成人av在线| 亚洲无线视频| 任你擦免费视频| 久草a片| 色玖玖玖| 久久99精品久久久久子伦| 丁香五月性爱爱五月| 精品久久久久成人码免费动漫| 啪啪啪综合网| 亚洲精品又粗又大又爽A片| 六月激情婷婷| 激情五月综合网| 亚洲色五月| 最近中文字幕大全免费版在线 | 综合久久综合久久| 色九月婷婷综合| 婷婷精品在线| 丁香五月激情宗合| 欧美噜噜免费观看| 激情婷婷五月天伊人在线观看| 婷婷六月爽| 伊人丁香花综合影院| 久久网思思| 狠狠五月综合在线| 色播五月婷婷| 欧美三级欧美一级| 丁香五月五月婷婷| 99视频在线| 久久小片| 99爱在线观看视频| 国产免费一区二区三州老师F1F1| 久久人妻少妇嫩草AV| 九九热99热| 99人人操人人操人人精| 亚洲无aV在线中文字幕 | 九九热av| 婷婷放心五日爱| 五月综合婷婷开心网| 五月婷丁香久久久| 99久久精品视频女神1| 这里只有精品在线视频在线观看| 狠色色狠网| 日91高清无玛| 天天干天天操天天爽| 少妇高潮呻吟A片免费看软件| 激情九月婷婷九月| 天堂网色色| 五月天综合网| www.婷婷,com| 人妻久久久久久| 开心五月网| 丰满人妻一区二区三区| 亚洲美女高潮久久久久久69| 九九AV| 婷婷五月天99综合网站| 久久婷婷人人| 操笔无码| 久久婷婷成人综合色怡春院| 久久停停超碰| 色色欧美色色色| 婷婷在线日韩综合| 色综合av超碰| 色五月婷婷操逼| 丁香六月啪啪| 色噜噜狠狠色综合无码久久欧美| 五月天婷婷一起草| 亚洲五月婷天天操| 夜夜爱网站| 天天日,天天干,天天操| 桃色成人网| 日本在线wwww| 婷婷五月天激情小说| 99热色无码| 五月天综合区| 97 A I色色| 猫咪伊人久久| 亚洲操逼网| 色婷婷综合电影| 爱之国产色情综合| 99色色| 91九色偷拍| a色色色色色| www.色婷婷.com| 51精品国自产在线| 久操干| 玖玖国产视频一区| 26uuu最新地址| 少妇AB又爽又紧无码网站| 色综合九九色综合88| 天天日夜夜爽。| 另类小说五月天| 久天综合| 五月天六月婷婷| 久久婷婷五月综合色丁香花| 色很很96| 久久草中文日韩欧美| 三日本无码| 色小说婷婷五月天天天| 玖玖色综合网| 亚洲乱码w在线观看| 欧美激情凹凸丁香网| 国产激情综合五月久久| 色婷婷瘦婷婷日韩| 看久久性爱视频| 亚洲黄网AV| 思思热在线视频观看精品| 色色五月激情| 久久亚洲婷婷| 成片免费播放| 99热九九这里只有精品| 五月丁香激情四射| 性爱激情小说AV五月丁香花| 日本熟女一区二区| 日本精品人妻无码77777| 婷婷五月天成人导航| 超碰人人艹| 亚洲欧洲国产精品| 成人综合AV| 五月丁香五月丁香五月丁香五月丁香91| 亚洲色vA| 99婷五月| av人人操| jiujiuxiangjiaowang| 丁香欧美| 色涩视频久久| 婷婷香五月| 超91热| 五月天激情社区| 天天射天天操天天干| 伊人丁香花综合影院| 久久五月婷6 9| 国产性色蜜乳| 丁香六月成人| 激情五月狠狠| 噼里啪啦完整版中文在线观看| 任我鲁这里有精品视频| 丁香五月激情五月开心五月| 欧美大片免费观看| 夜夜操夜夜爽| 夜夜撸夜夜骑| 996热re视频精品视频| 丁香婷婷情色五月天| 国产欧美精品AAAAAA片| 五月丁香久人妻中文| 亚洲九区| 黄网免费观看| 九色PORNY自拍成人精彩视频| 一操久久| 中文字幕AV在线| AV动漫不卡无码免费| 天天爱天天狠天天透| 九热免费视频| 99热这里只有精品55| 一本久久亚洲五月婷婷| 婷婷视频在线碰| 亚洲免费婷婷| 久久99精品视频| 五月丁香色色网| 成人深爱丁香五月| 影音先锋日本三级资源| 99re8这里只有精品99re8热视频| 69久久99精品久久久久| 大香蕉伊人久久| 99爱最新免费视频在线观看| 91人无码久久久久久| 综激情网| 婷色成人| 亚洲婷婷丁香五月| 大香蕉九九| 五月丁香六月激情综合在线| 激情婷婷网| 婷香五月激情视频| 第四色五月激情网| 久久ri精品视频| 日本三级日本三级99| 26uuu丁香婷婷五月| 色九月婷婷| 26uuu激情五月天| 久久久久久久久久久月丁| 天天干狠狠| av五月天婷婷丁香| 色色五月丁香| 久久涩视频| 激情九月婷婷| 五月婷婷激情四月| 亚洲精品99| 五月婷狠狠| 热99在线| 婷婷综合精品视频97| 国产韩日亚洲美州欧亚综合在线| 在线只有精品| 99色热综合| 天天综合色丁香| 日本黄色一级| 色色色干| 婷婷国产日本欧美| 欧美性爱日韩性爱| 福利视频在线播放| 五月丁查人人| 精品国产va久| 超碰色综合| 91在线看片| 免费看欧美成人A片无码| 成人va视频| 久久在线人妻| 日韩色色小视频| av在线免费网站| 五月天色区| 天天日日夜夜| 欧美激情综合色综合色| 9久视频| 婷婷五月六月| 欧美性生交XXXXX无码小说| 丁香综合网| 五月婷高清视频| 超碰在线精品| 五月丁香毛片| 日韩不卡123| 亚洲欧洲中文日韩久久AV乱码| 色玖玖导航| 日日爽日日| 偷拍视频五月天| 狠狠色丁香婷婷久久综合| 久操热| 99热精品中文字幕| 就爱啪啪婷婷| 久这里只有精品| 开心五月激情网| 一本久道综合99| 婷婷久久18| 东京热人妻一区二区三区在线| 9久热精品在线视频| 久久性视频| 婷婷色网| 综合婷婷| 婷婷五月综合激情免费视频| 婷婷五月天伊人在线| 这里只有精品视频视频在线观看| 丁香六月婷婷社区| 婷婷婷久久| 色吧网91| 日韩99无码| 日本久久激情| se色婷婷视频| 国产午夜精品一区二区三区四区| 99久久九九| 97天堂| 五月丁香激情综合网| 九九这里有精品| 丁香五月激情五月| 久久久免费精彩视频| 婷婷色五天| 五月天婷婷綜合院| 人人干女人| WWW,婷婷,COM| 亚洲精品久久久久久久久久吃药| 思思99精品视频在线观看| 日韩人妻无码精品| 91超碰在线观看| www99热| 久久这里在精品视频| 天天摸,天天爽| 五月天成人伊人| 噜噜噜精品欧美成人在线观看| 五月综合激情久久| 99这里只有精品视频在线| 欧美天天综合网站上去吧| 热热久久久久久久久| 性小说五月天| 男女啪啪做爰高潮无遮挡| 亚洲乱码日产精品BD| 激情色五月天| 自拍视频在线观看9| XX久久| 亚洲精品网址| 婷婷色情网| 任你草| 亚洲mm色| 开心 五月 综合| 五月天成人手机在线视频| 六月丁香婷婷五月| 狠狠爱婷婷丁香| 精品久久艹| 欧美色综合天天久久综合精品| 久草婷婷网 | 97超碰在线观看免费| 超碰人人99| 激情五月综合色| 5月婷婷性视频| 色 色 色综合com| 五月丁香婷婷综合久久| a在线观看| 思思干精品| 婷婷99狠狠躁天天躁中文| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 99热网址| 色99在线| 五月丁香成人网| 超碰精品在线| 亚洲操人| 亚洲AV影片在线观看| 人碰91| www.久久久久久| 99热这是里只有精品| 啪啪小说五月天| 无码任你操| 91色综合久久| 久久久18| 天天干com| 九九热视频精品| 五月天丁香婷婷视频网址| 色婷婷9| 婷婷激情五月天7| 激情伊人五月天| www.色99| 日本99视频精品免费播放| 国产精品噜噜在线视频| 五月天激情网站| 99原创自拍视频在线观看| 婷婷五月丁香花综合| xxx日本东京热| 日本啪啪天堂| 激情色五月天| 亚洲综合久| 色婷婷狠狠18| 日韩精品AV一区二区三区| 黄色激情网站在线观看| 色色色综合色| 色欲色香综合网| 无遮挡国产高潮视频免费观看 | 婷婷五月六月| 97影院一级片| 区欧美日韩成人| 色婷婷五月天激情在线播放| 久99久在线观看| 日韩黄在免| 99久久久国产大片| 五月丁香六月成人| 99国产精品白浆在线观看免费 | 99热亚洲| 五月精品99综合| 色五月丁香五月激情五月激情| 99精品无码| 国内久久婷婷| 色五月丁香一区在线| 狠狠干综合网| 欧美激情-区二区三区| 五月丁香在线国产| 岛国av网站| 乱乱av| 婷婷激情五月天网站| 六月婷婷av| 影音先锋91资源站| 九九久热| 色综啪啪网| 婷婷五月天天| 五月婷婷综合网| 性色人人爽| 亚洲精品国产成人AV在线| 婷婷 丁香 久久| 色久五月天| 午夜精品人妻无码一区二区三区| 国产无人区大片| 婷婷五月激情在线| 99成人| 婷婷五月在线| 久久激情视频99| 99亚洲色色| 99热免费精品| 激情婷婷激情在线不卡| 天天艹夜夜爽|