99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
9九色首页| 九九色精品| 色色五月婷婷狠狠| 《》【无码】想被搞到爽AV应募而来的超M素人 西纯子 10musume-011723-01 | 婷婷五月天在婷| 五月婷婷激情刺激| 操97免费超级视频| 天天爽天天日人人爱| 五月天婷婷基地| 夜夜天天天天天干天天爽| 超碰亚洲欧美| 久久东京热婷婷五月| 超碰99在线| 超碰97在线操| 色婷婷综合网| 5月婷婷6月六月丁香| 激情综合色图| 亚洲中文字幕翔田千里| 中文字幕在线日亚州9| 天天操夜夜啊| 亚洲视频二区| xxxx五月天色色| 婷婷精品在线| nvrentiantang av| 第四色婷婷五月| 九色七七| 欧美日韩成人| 超碰在线视屏| 少妇人妻人伦A片| 去干网av| 99热这里只有精品1025| 色婷婷久久视屏| 日日操日日爽| Av狠狠色丁香婷| 五月丁香久久| 婷婷亚洲天堂| 97色女人在线| www,色婷婷| 人人综合色| 久久人人九九| 婷婷综合色图| 日日操夜夜爽| 丁香五月天在线| 这里只有视频精品| 五月丁香婷婷综合| 婷婷五月丁香六月| 九九热精品视频在线观看| 激情欧美丁香五月| 夜夜夜夜夜操| 婷婷五月另类网站| 五月激激激情综合网| 色噜噜狠狠色综合AV兰草影视| 狠狠色狠狠色综合日日91| 欧美韩国日本| 无码激情AAAAA片-区区| 大香蕉久久青青| 五月丁香色综合| 色婷婷a v| 天天做 天天爱| 婷婷黄色五月天在线视频| AV在线免费网站| 中文字幕亚洲-区久久99婷婷| 久久性爱99国产| 五月丁香六月婷| 日本三级日本三级99| 婷婷五月天在线一区| 欧美成人网婷婷综合在线| 99在线观看精品| 另类国产欧美视频| 欧美熟妇一区二区三区| 婷婷激情四射网| 国产4P视频精品五区| 亚洲无码性爱| 夫妻超碰在线| 婷婷丁香五月91| 国产亚洲av片| 丁香婷婷五月六月久久| 新97人人上人人| 91日视频| 97人人射| tingting五月天亚洲| 丁香五月久久| WWW.桔色成人.COM入口| 人人视频色| 99热这里只有在线| 免费看成人747474九号视频在线观看| 欧美精品999| 久久婷婷综合网| 五月天激情综合| 久9免费视频| 婷婷综合97| 色丁香五月婷婷| 天天色视频| 五月天激情视频| 另类图片激情五月| 成人电影一区| 亚洲成人AV电影网| www.91在线看| 丁香色情五月综合网站| 高潮毛片遮挡费高一百度| 91操在线视频| 99re久热只有精品6在线直播| 深爱激情九九五月天| 在线成人网站| 97涩涩丁香五月天| 这里只有精品免费 | 夜夜撸日日操| 狼友视频在线观看18| 九九久久99精品免费观看www| 五月婷婷色| 婷婷永久在线| 色色色热| 婷婷香蕉视频| 少妇丁香婷婷 | 婷婷伊人视婷婷婷| 亚州精品色情在线观看| 五月丁香龟婷婷| 26uuu欧美| 这里只有精彩视频| 91操女| 97AV人人插人人操| 激情婷婷内射| 久久色五月天| 国产日韩精品SUV| 人人操91色| 9久热在线视频精品| 秋霞电影一级黄| 六月婷婷狠狠做| 五月丁香成人小说| 五月丁香综合色婷婷| 久99精品视频| 校园激情 亚洲| 欧美成人va| 啪啪91| 狠狠色综合图片| 中文字幕永久免费| 亚洲国产99| 99热这里只有精| 久热A片| 另类 在线| 五月丁香综合网色欲| 深爱激情婷| 中文字幕在线资源| 久久综合激情| 亚洲色区17| 激情综合5| 色综合天天网| 五月丁香天天| 丁香婷婷久久 | 久婷首页| 婷婷开心激情五月激情网| 九九人人操| 天天爱天天天射AV| 69五月天视频| 99色在线观看| 欧美极品999| 婷婷丁香激情综合色情| 激情操逼婷婷| 五月天婷婷婷| 91日综合欧美| 9999热这里只有精品| 91AV婷婷| 99在线观看精品| 天天干天天操天天干天天操天天干天天操| 丁香五月天激情视频| 婷婷综合九月| 婷婷丁香五月亚洲| 丁香五月婷婷操逼| 天天夜夜操| 婷婷久久大香蕉| 丁香婷婷婷五月综合色情| 日夜夜天天| 九九视频在线观看| 三级黄网站| 影音先锋偷偷色男人站| 超碰国产AV| 丁香五月天精品| 日日干日日| 色色五月丁香婷婷| 成片免费观看视频大全| www狠狠| 99这里只有| 久久久久9| 久久六月天| 超碰93在线观看| 2005天天干天天1| 日韩不卡123| 亚洲成人精品三区| 人人爱人人摸人人澡| 一级操逼大片| 永久地址 色| 97精品人人A片免费看| 性日本激情| 色五月婷婷91| 色婷婷成人网| 成人日韩欧美| A一级操| 中文字幕成人| 99热乎| 亚洲综合婷婷| 99热久只有| 我爱大香蕉| 日日骑夜夜撸| 成人午夜天| 成人五月天色天堂| 成人精品视频99在线观看免费 | 99精品大片| 91午夜婷婷狠狠久久综合9色| 五月丁香色狠狠干大屄| 97啪在线观看视频| 综合成人小说婷婷| 久久网日本| 97干97色| 亚洲Av入口| 久久99热网| 亚洲丁香五月天在线视频| 亚洲国产精品SUV| 提提热五月天婷婷| 五月亭亭色| 色五月天丁香婷婷| 99热国产这里只有| 91久久九九| 六月色婷婷| 色婷婷综合亚洲| 亚洲午夜一区二区| 亚洲九九免费| 久月久在线视频| 黄色AAAAA| 亚洲AV成人无码精品| 九九这里都是精品| 婷婷丁香六月综合激情站| 色噜噜狠狠色综无码久久合欧美| 久久A区B区| 亚洲视频码| 丁香五月婷婷综合精品素人| 天天爽天天弄| 日本天堂免费99| 三级黄网站| 中文字幕日韩无码制服诱或| 亚洲性视频| 五月丁香综合激情| 激情二色月| 亚洲天堂有码| 天天综合精品| 六月丁香婷婷综合狠狠爱夜夜爱| 五月婷深深爱激情网| 婷婷日本色| 99ri国产| 五月婷婷六月丁香综合| 99婷婷五月天| 五月草影视| 色婷婷瘦婷婷日韩| 少妇高潮呻吟A片免费看软件| 色婷五月| 久久五月婷婷电影| 久久艹网| 男人操女人高潮91视频| 日日夜夜干| 亚洲激情av| 国产一级片| 婷婷五月天天爽| 久久女婷| 九九十99视频| 国内熟女黄色系列| 久久五月丁香| 五月丁香精品| 色屌丝中文字幕| 九九综合精品| 国産精品| 99热黄| 99∨VTV| 激情五月天无人视频在线| 色99热| 777影视理论片大全在线观看| 欧美这里只有精品| 五月天激情Av| 精品国产va久久久久| 这里只有精品在线观看视频| 久久九九怡红院| 激情五月综合网最新 | 色婷婷小视频| 九九在线视频| www久久99| 婷婷娌伦网| 日本成人小说婷婷六月| 久久这里都是精品视频| 久久这里只有国产| 久久九九网| 丁香五月成人自拍| 1024在线视频| 99天堂在线观看免费视频| 五月综合激情| 久久97| 影音先锋一区| 亚洲成人网在线观看| 99热这里只有精品4| 日日操日日射| 天插天啪天啪天啪| AV九九| 亚洲色图81p| 色色网91| 94干大香蕉| 99热6色| www:99热视频| 久久综合久色欧美综合狠狠| 五月婷婷视频| 激情综合网五月婷婷| 亚洲麻豆乱码国产2028| www,婷婷五月天,com| 婷婷五月天天天日日夜夜| 色综合香蕉视频| 91蜜桃婷婷狠狠久久综合9色| 99精品热| 五月天激情国产综合婷婷婷| 色婷婷五月天成人网| 婷婷狠狠久久| 九九大香视频| 超碰免费大香蕉| 国产永久一黄| 99久久精品国产色欲| 51精品国内探花| 婷婷九九色| 玖玖九九9999在线观看视频精品| 丁香六月婷婷社区| 原琪琪色影院| 五月丁香综合啪啪| 精品国产va久久久久久久| 丁香色情五月天| 秋霞电影一级黄| 久去色色| 79色色免费| 色五月婷婷婷婷| 久久这里只有精品22| 亚洲激情综合五月婷婷啪啪| 激情五月天com| 丁香色综合| 丁香六月无码播放| 超碰三级片| 久热人妻| 欧美性猛交XXXX乱大交极品| 日本A片一区| 蜜乳人妻一区二区三区| 亚洲精品成人| 日日鲁鲁夜夜爽爽| 日本成人噜噜噜| 欧洲亚洲午夜| 思思99热| 97碰 在线视频观看| 操久久精| 狠狠干天天内射| 99久久综合精品五月天| 五月丁香影院| 99热亚洲| 久久婷婷的综合色丁香五月| 久久五月综合| 五月丁香婷婷激情澎湃四射| 五月丁香久| 五月婷婷激情综合| 日日噜噜久久婷婷五月天| 99啪| 丁香五月综合在线播放 | 婷婷色色网| 欧美激情综合五月色丁香| 人人操日| 丁香婷婷欧美综合| 中文字幕在线观看视频www| 五月婷婷六月丁香激情综合网| 丁香婷婷伊人| 久久亚洲婷婷| 五月天婷婷色综合| 亚洲国产精品五月天| 五月激情基地| 思思热精品在线视频| 婷婷中合| www.久久久久| 婷婷丁香成人五月天| 97丁香五月| 五月婷婷成人| 伊人99热| 79色色色色| 91久久精品无码一区二区三区| 五月亭亭直播| 九色激情| 婷婷色系婷色| 99自拍视频网站| 五月丁香狠狠爱| 色婷婷播放| 人人综合久| 久久婷婷操| 97视频91| 中文字幕不卡视频| 五月婷婷co.m| www.五月丁香| 三级毛片7979| 六月丁香激情网| 色99在线| 婷婷五月天国产精品| 九九热在线99| 久久九九Com| 99久久网站| a久久免费视频| 激情丁香五月天| 九月婷婷综合网| 翔田千里无码| 另类小说五月天| 色色哒五月婷婷六月丁香| 婷婷区日本| 亚州色婷婷| 97超级操操| 深爱激情久久| 色婷婷五月天| 欧洲婷婷五月天| 五月丁香色| 青柠影视免费高清电视剧| 欧洲综合视频| 激情文学五月丁香六月婷婷| 在线不卡AC| 99爱欧美| 九九久久精品| 欧美噜噜噜草| 五月天婷婷激情在线色图| 麻豆AV一区二区三区| 狠狠色狠狠| 婷婷色操| 中文字幕综合网| 51XX午夜影福利| 性色av大香综合| 极品另类| 六月色色| 精品无码久久久久久久久| 五月婷婷深深爱爱| 亚洲12p| 五月婷高清视频| 精品夜夜澡人妻无码AV| 婷婷精品在线| 成人va在线| 五月丁香六月婷婷视频| 热久久婷婷| 99久热这里只有精品| 丁香六月青青草| 婷婷五月天福利| 久久五月天视频| 丁香五月另类色婷婷麻豆| 五月丁香婷婷色色| 九九碰九九爱97| 婷婷综合网在线| 欧美综合激情| 日本在线va| 超碰在线观看9| 色婷婷成人| 99er6| 欧美成人猛片AAAAAAA| 中文字幕性爱丰满| 97色97干| 国产乱妇无乱码大黄AA片| 五月天婷婷激情小说| 丁香六月婷婷操逼网| 五月做爱| 99九九热在线观看| 亚洲艹网| 亚洲六月综合激情久久下卡| 亚洲精品永久久久久久| 亚洲欧美婷婷五月色综合| 青草五月天| 婷婷五月天无码视频| 在线中文字幕免费视频| 久热91精品| www.91.com处女在线直播| 亚洲综合网在线| 五月丁香综合激情| 丁香六月av| 99操不停| 久久在线视频只有这里有精品| 亚洲成人婷婷| 色色综合无码| 激情婷婷五月综合| 久热免费| 99热无码首页| 亚洲中文丁香| 激情五月天福利| 久久性爱视频| 婷婷六月五月| 国产激情综合五月| 无码动漫AV| 色婷网| 五月激情久久综合网| 丁香九月综合| 亚洲中文字幕翔田千里| AAA久久| www.婷婷五月| 香蕉99网| 激情婷婷| 五月丁香啪综合| 丁香婷婷射| A1片久久久| 久久精品凹凸分类| 色99视频| 狠狠色五月天| 亚洲最大五月六月丁香婷婷| 欧美五月丁香啪啪响视频| 激情丁香五月综合| 无码少妇高潮喷水A片免费| 99综合自拍| 五月色婷婷激情| 九月激情网| 在线一起草av| 久久精品凹凸分类| 亚洲超碰在线| www.91色| 99亚洲精品| 五月天激情图| 激情综合五月色在线| 超碰男人色| 五月婷婷久久爱| 少妇人妻人伦A片| 99精品久久久| 97色色网| 色色网站在线| 五月婷婷自拍| 日韩久久这里只有精品| 激情5月婷婷狠狠干| 亚洲一级色电影| 婷婷五月a| 狠狠ri| 国产这里只有精品| 色婷婷久久| 日本久热| 五月丁香婷婷综合久久| 色综合天堂| 婷婷五月天播播| 婷婷五月天首页| 国产精品噜噜在线视频| 一夜福利不卡| 九月婷婷综合八月丁香在线观看| aaa丁香五月天| 丝袜人妻| 丁香综合网| 七七九色| 久久刺激网| 91 久热| 激情久久久| 综合久久狠狠| AV中文网| 日本www免费九九| 欧美日韩精品人妻狠狠躁免费视频| 激情婷婷黄色五月 | 丁香蜜臀黄色婷婷五月天| 五月丁香色婷婷伊人| www.夜夜騎夜夜狠| 九九综合精品| 婷婷六月天精品| 精品亚洲国产成AV人片传媒| 日本精品九九九| www.91.com处女在线直播| 五月丁香激情综合啪| 26uuu成人网| 亚洲激情四谢| 俺五月| 4399成人黄A片| 肏日网在线看| 九九99一区| 国产XXXX搡XXXXX搡麻豆| 99热日韩| 婷婷四色五月| 色玖玖综合网| 色综合综合色| 婷婷少妇激情| 99热爱爱干干日| 91性人人| 十一月婷婷激情四射| 亲子乱AV-区二区三区| 99热骚货| 大香蕉久久视频久久视频| 免费99情趣网视频| 成人精品视频99在线观看免费| 六月婷婷综合| 97综合在线| 五月丁香无码| 成人视频一区| 久久亚洲A| 国产精品美女| 丁香五月老师| 久久色大香蕉| 婷婷瑟瑟五月天| 五月停停99| 五月停停激情网| 五月天大香焦| 开心五月婷婷| 久久新地址| 少妇高潮一区二区三区99欧美| 日韩一级片| 婷婷永久在线| 日本成人噜噜| 激情六月天婷婷| 中文幕无线码中文字蜜桃| H亚洲| 日本色99| 99热伊人| 天天天天做夜夜夜夜做| 91 九色 入口| 亚洲激情四射| 婷婷五月丁香婷婷| 欧美碰碰| 成人婷99最新| 五月天欧美 另类小说| 婷婷丁香综合网| 婷婷婷婷色| 色五月欧美| 综合久| 九九这里有精品视频| 国产黄大片在线观看画质优化| 俺去也在线视频| 丁香狠狠操| 91人人操人人| 激情www.98com| 伊人激情网| 婷婷五月丁香久久| 玖玖九九99| 亚洲综合成人网站| 亚洲1区| 色婷婷视频综合| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 综合色五月天| 五月丁香色狠狠干大屄| 日本97久久久精品| 超碰v| 精品人妻一区二区| 六月婷婷狠狠| 久久综合伊人77777蜜臀| 九九无码| 亚洲色婷婷| 99区视频| 五月天丁香综合久久国产| 2018国产大陆天天弄| 这里只有精品无码| 丁香六月婷婷| 婷香五月| 婷婷五月天综合网| 色色a| 99er6| www.久久久久久| 九九99久久精品| 五月色婷婷影院| 亚洲最大五月天成人网| 激情五月深爱五月| 国产成人在线精品| 99日视频在线| 久久九九Com| 俺去也综合| 99精品综合视频| 五月丁香狠狠地噜噜噜噜| 九月色婷婷| 99久久.www| 狠狠色综合五月人人| 四色99久久| 99精品无码| 情涩婷婷五月天| 丁香激情网| 久久五月婷婷丁香| 天天日天天干天天爱| 丁香婷婷性久久| 亚洲欧洲另类图片| 噼里啪啦完整版中文在线观看| 99久在线精品99re5热视频| 六月婷婷国产| 五月丁香婷婷婷婷综合网| 亚洲色婷婷五月天| 日本不卡一区二区三区| www.99在线| 日本久久99| 久9热视频| 色婷婷成人| 精品无码久久久久久久久| 激情五月天之五月婷婷| 激情五月天在线观看色婷婷| 九九青青草成人| 五月丁香花视频| 玖玖婷婷视频| 五月婷婷六月丁香首页| 日韩大片艹艹| 99久精品视频| 啪啪 综合网| 色欲影香| 青青草原亚洲天堂| 99综合视频一体| 久久久99精品免费观看| 亚洲色婷婷视频| 婷婷综合网站| 79色色色色| 久久人妻www| 丁香五月五月婷婷| 超碰资源在线| 亚洲成人免费电影| 狠狠干狠狠干| 亚洲精品久久久久久久久久飞鱼| 无码成人播放器| 五月丁香六月激情| 久久婷婷大香蕉| 97狠狠碰| 97在线精品视频| 婷婷五月深情丁香深爱日韩| 五月天伊人av| 五月花婷婷丁香| 激情综合网五月婷婷| 五月婷婷中文字幕| 超碰碰碰碰| 人人色人人弄人人操| 麻豆忘忧草午夜| 视频久久9| 亚洲愉拍99热成人精品| 精品婷婷五月视| 激情五月婷婷老师| 色丁香五月天| 最近免费中文字幕大全高清大全1| 亚洲欧洲另类图片| 久色五月天| 狠狠色丁香久久久婷| 婷婷五月天伦理| 成人丁香五月| 99这里只有精品视频| 午夜天堂一区人妻| 97碰碰在线观看视频| 99热免费精品热久久66| 色丁香影院| 色婷婷九月| 九九色情网站| 琪琪色五月天| av在线色五月丁香婷区久| 色色五月天婷婷丁香| 久久久久久欧美精品se一二三四| 97操男人的天堂| 伊人婷婷青青cao| 丁香婷婷色情社区成人小说| 婷婷五月天精品| Aaa久久| 欧美激情综合色综合啪啪五月| 色亚洲视频| 五月天另类激情在线| 激情久久久| 538任你爽视频不一样的| anquye伊人| 丁香六月久久| 久久精品国产精品| 97在线精品| 欧美人妻一区二区| 福利视频在线播放| 色五月成人| 五月婷婷天| 欧美成人精品A片免费一区99| 人人插9| 激情综合五月天| 色婷视频| 洗浴中心操B视频| 五月婷婷丁香av| 婷婷五月天精品| 9999综合99综合人| 久久人妻情侣| 色色色网站| WWW.久久久久久久| 午夜丁香婷婷| 婷婷五月天综合亚洲| 九月婷婷综合| 玖玖爱综合网| 五月丁香婷婷啪啪网| 五月丁香亚洲综合网| 五月婷婷婷| 97在线刺激| 五月婷婷官网色| 丁香五月综合网| 五月视频日本免费观看| 婷婷丁香五月天激情| 大香蕉婷婷五月| 色五月激情五月天| 激情婷婷在线| 亚洲第一色区| 久热精品免费视频4| 激情五月六月婷婷综合啪啪| 久草五月| 热99精品视频在线观看| 色香蕉影院| 婷婷五月电影| 激情99热| 操碰99| 免费黄色AV| 国产精品人妻在线网址| 丁香婷婷久久综合在线| 亚洲黄色精品| 亚洲性爱干干| 色五月婷婷在线| 婷婷六月天| 久久久性爱视频| 亚洲午夜AV| 欧美人人操| 色婷婷操逼| 99热啪啪| 五月婷婷六月丁香激情深爱| 91狠狠综合久久久| 五月丁香成人日| 极品少妇XXXX精品少妇偷拍| 五月永久激情| 噢美99| 久热网在线视频| 男人的天堂99| 丁五月激情视频免费| 丁香五月综合激情性爱| 久久色天堂| WWW.天天日| 欧美人与性动交CCOO| 五月停停丁香| 国产亚洲色婷婷久久99精品9j| av人人干| 超碰九色| 99国产精品白浆在线观看免费 | 五月丁香成年黄色| 99re热在线视频| 热九九在线| 丁香香蕉射射射| 五月天婷婷在线播放免费| 激情AV中文| 超碰狠狠操| 六月婷婷色综合| 影音先锋91男人资源在线播放| 婷婷五月情天| 亚洲免费观看高清完整版AV线| 玖玖爱资源站| 日日操夜夜操狠狠操| 色婷婷网大全在线| 色综合伊人网| 久久er视频6| 91 欧美| 99热亚洲精品| www.狠狠| 日本波多野结衣视频| 五月婷婷成人| 五月色情婷婷开心五月色情| www亚洲无码| 97色婷婷| 26UUU欧美激情一区二区| 亚洲欧美在线观看| 亚洲最大激情无码| 久久久久久xxxxx| 大香蕉久久伊人网| 久久99精品九九久久久婷婷| 婷婷丁香五月天欧美| 丁香香蕉婷婷| 婷婷亚洲综合| jiZZdr| 国产在线6| 99九精品| 少妇人妻偷人精品无码视频新浪| 亚洲九九视频| va中文资源在线观看| 大香蕉九九操| 免费视频在线观看的网站| 人人摸人人澡人人| 丁香五月天欧美| 日本三级中国三级99| 1024操逼| 色99网| 五月天色丁香| 色五月av伊人| 婷婷激情五月| 婷婷综合一二三| 色狠狠色综合久久久绯色aⅴ影视| 色综合久久88色综合天天99| 色色色色网色色网色色| 色婷婷成人丁香| 99人人操人人爱久久久| www.一区二区三区| 五月综合色| 黄网免费观看| 九九热免费视频| 伊人五月天婷婷| 精品婷婷五月天| 九九色色网| 91一道本| 9热久久在线| 99色爱| 婷婷色综合| 亚洲1区| 国产性爱一级| A久久| 人人摸人人搞| 五月精品免费XXX| 米奇激情婷婷| 五月婷婷丁香五月亚洲色| 99热9| 婷婷五月天奸女| 丁香五月婷婷大香蕉| 婷婷干| 色五天综合| 8090在线影视少妇| 亚洲激情久久| 欧美99| 亚洲中文字幕网| 色色婷| 五月丁香综合激情| 120分钟婬片免费看| 丁香婷婷基地| 久九色| 深爱五月激情| 五月婷婷中文| 99精品亚洲| 五月天色五月| www.久久| 大战熟女丰满人妻AV| 99热官网| 人妻丰满精品一区二区A片| 99成人| 国产乱妇无乱码大黄AA片| 黄桃AV无码免费一区二区三区| 91啪啪视频| 婷婷五月天av| 91 九色大美女| 亚洲狠狠色丁香婷婷综合久久| 97爱艹婷婷开心丁香激情综合| www.wuyuetian啪啪| 久综合4| 嫩草哈哈操| 噜噜狠狠色综合久| 久久婷狠狠色| 五月丁香六月色婷婷综合五月天| 激情综合五月激情XXXX| 五月激情婷婷开心五月| 五月丁香六月婷婷综合伊人| 成人丁香婷婷五月天| 欧美va在线| 成人AV中文字幕| 思思re99视频在线观看| 图片区 小说区 区 亚洲五月| 丰满人妻妇伦又伦精品国产| 色亭亭九月| 激情九色| 久久人妻久久久久| 五月丁香久久激情网| 天天综合网网欲色| 亚洲情色一区| 狠狠狠狠狠干| 色色丁香婷婷五月天| 综合色吧| 韩日在线熟女| 色五月成人网| 先锋资源婷婷| 色五月综合网| 日噜噜色| 91婷婷在线| 九九热在线观看视频网站| www,色色色网站| 9久精品| 九月丁香八月婷婷加勒比| 天天综合91入口| 久久99这里只有精品| 欧美性爱5月天天天看| www.久久爱.com| 激情深爱五月天| 久久婷婷五月综合色天| 色一情一乱一乱一区91Av| 欧美婷| 五月丁香影院| 97精品人人A片免费看| 欧美人人超级碰| 涩涩五月天综合| 五月天色社区| 久久538| 亚洲综合色激情色五月| 丁香五月影院| 婷婷五月视屏| 思思99热| 激情99| 婷婷激情啪啪| 91狠狠综合久久久久久| 激情五月天情色| 亚洲欧洲99| 五月婷在线观看| 国产欧美熟妇另类久久久| 亚洲色色五月天| 六月婷婷激情小说网| 99热大香蕉| av五月天婷婷丁香| 亚洲丁香五月综合| 色情五月天丁香社区| 五月久久丁香| 天天拍夜夜撸| 婷婷久久久久| 五月婷婷狠狠久久| 思思综合热| 亚洲综合色网| 日本色99| 天天透天天爱| 婷婷色色亚洲| 日本无va视频| 色激情五月| 99WWW免费视频| 丁香婷婷视频一区二区| 欧美丰满熟妇BBB久久久| www.久久久久| 天堂综合久久| 超级碰碰视频无码| www色中色综合| 色婷婷电影网| 六月婷婷五月天| 99re8这里只有精品99re8热视频| 69精品人人人人| 99久久婷婷综合| 亚洲综合一区二区| 婷婷五月亚洲一本在线丁香| 国产,欧美,学生妹,视频| 思思热久久阴99| 综合色五月| 黄网在线观看免费| 五月丁香六月色| 色碰97| 天天成人综合视频| 国产伦亲子伦亲子视频观看| 人妻性爱| 天天插天天射| 五月香蕉综合| 超碰99在线观看| 婷丁五月| 日本片日本片祼观看网站在线看中文版网页在线看 | 丁香五月成人网| 五月花综合| 婷婷六月啪啪| 99精品无码视频| 激情综合亚洲| 五月香蕉婷婷| 少妇高潮呻吟A片免费看软件| 色婷婷先锋| 婷色视频| 色五月婷婷很很操| 99综合成人视频在线观看| 色播五月丁香| 91九色 熟| 激情五月婷婷综合网| 激情人妻蜜夜系列区| 五月婷婷乱| 色婷婷狠狠久久综合五月| av五月天婷婷丁香| 97艹| 免费看欧美成人A片无码| 中文字幕成| 色欲天天综合| www.激情五月天。com| 久久婷婷亚洲| 亚洲乱码成人| AV中文字幕夜夜操b天天摸bb| 五月天成人在线视频丁香| 天天色月| 激情开心五月天| 婷婷永久在线| 色五月丁香A欧美com| 人人爱国产| 久艹大香蕉| 99精彩视频| 嫩BBB槡BBBB搡BBBB视频| 日韩AV在线免费| 123草逼网| 九九一综合精品| 丁香 亚洲 久久| 99热老网站| 色色亚洲| 国产精品香蕉| 色综合中文| 久久久久久人妻| 日日爽天天| 九月婷婷激情| 久久人妻视频| 亚洲丁香五月| 色伦专区97中文字幕| 九九99免费视频| 国产一区二区三区影院| 丁香五月六月婷婷怡红院| 久久久五月婷婷| 亚洲免费看片| www夜夜操com| 日日骑夜夜撸| 久99久精品视频| 人人干人人操外国| 色色综合网站| 狠狠久综合| 婷婷久久五月天丁香| 777精品久无码人妻蜜桃| 欧美黄色AA片哗啦啦啦| 婷婷放心五日爱| 五月天色色色网| 婷婷五月天开心网| 婷婷五月中文在线视频| 99色在线观看免费| 激情婷婷综合网| 久久怡红院| 久久伊人五月天| 婷婷五月天xxx| 久热69| 日本V在线观看不卡视频网站| 九热视频在线精品15| 九九这里精品| 九九综合九九| wwww.色婷婷| 欧美槡BBBB槡BBB少妇| 久久总和99| 久久aaaa片一区二区| 激情五月婷婷丁香六月| 久久人视频| 亚洲愉拍99热成人精品| 五月天色色网站| 天天操天天操天天操天天操天天操 | 色婷婷操逼| 亚洲成人av在线观看| 欧美大肥婆大肥BBBBB| 婷婷伊人综合中文字幕| www、色色色| 午夜爱爱爱成人| 蜜臀丁香黄色婷婷五月天| 伦99热| 丁香六月综合| 成人亚洲精品久久久久| 青青草五月天| 久久五月丁香婷婷| 丁香五月天视频| 五月婷婷之美女图片| 伊人婷婷激情| 婷婷五月成人有| 亚洲色啪| 成人在线不卡| 七七色色综合| 1234操逼网| 九九色情网五月天| 婷婷在线日韩综合| 超碰免费成人网站| 无码少妇高潮喷水A片免费| 婷婷五月天电影网 | 成人无码髙潮喷水A片| 久久丁香五月天| 天天爱天天做天天操| 日韩婷婷| 99热在线精品观看| 五月丁香花视频| 婷婷大乡焦噜噜| www.99热| 丁香婷婷色九月| 激情人妻综合| 日本一级特黄大片AAAAA级| 国产精品国产| 五月丁香花视频| AV在线观看网站| 久激情网| 久操操| 99精品无码| 狠狠操狠狠| 亚洲精品无AMM毛片| 黄色三级毛片中字| 黄色录像网点| 一本色道久久综合狠狠躁一二三| 操日本99| 毛片蕉地一二| 99视频网址| 精品在线网站| 六月色婷婷色| 激情99。| 欧美色色色| 亚洲99热| 91狠狠色色丁香婷婷综合久久| 婷婷99狠狠躁天天躁中| 久久九九99| 极品人妻VIDEOSSS人妻| 日韩国产在线精品| 日本丰满久久| 综合99视频| 五月婷丁香花| 五月天色五月天| 开心五月天激情网站| 五月丁香影院| 五月色婷婷综合| 福利视频在线播放| 热久91| 狠狠五月激情丁香六月| 天天激情5月天亚洲| 激情五月婷婷色综合| 激情五月综合网最新| 日韩黄色电影| 51国精产品自偷自偷综合| 精品一二三区久久AAA片| www.激情五月天.com| 久碰久操| 色五月在线| 婷婷成人五月天成人文学小说| 欧美啪啪9| 成人精品一区日本无码网| www.久久色.com| 色婷婷色五月另类综合| 九九婷婷五月天| 九九九干精品| 日韩一级网站| www.99操.com| 久草a片| 六月婷婷之青青草| 亚洲激情网站| 91seav| 91无码一区人妻A片蜜| 天天色99| 婷婷五月天在线综合导航| 久久婷婷五月免费视频| 夜夜躁爽日日| 丁香九色不卡aaa | 色婷丁香| 五月丁香青草综合啪啪| 婷婷久久五月丁香| 影音 五月 婷婷 久久| 五月天丁香网站| 欧美性爱5月天天天看| 伊人干综合| 九九99九九精品视频| 婷婷丁五月| 日本色狠狠| 色婷婷六月| 九月婷婷激情| 五月天婷婷永久免费视频| 极品人妻VIDEOSSS人妻| 99精品在线观看| 日本wwww在线| 久久色五月| 五月天婷婷影院| www,黄色在线,con| 五月天婷婷色色| 思思热视频| 久久久久久久久久久久久9| 91精品久久久久| 五月天色丁香| 精品欧美性爱超级爽| 欧美色图45678| 丁香五月色| 青青久久五月| 第二色AⅤ| 综激情网| 九九综合图片网| 亚洲性爱99在线| 99久久久久| 99热老司机| 九九热最新| www.99操| 激情二色月| 热九九精品| 九九色中文| 婷婷狠狠操| 日本黄色精品| 五月婷婷开心综合| 激情人妻蜜夜系列区| 亚洲九九免费| 五月激情婷婷丁香| 丁香五月激情啪| 99热在线观看| 美女91一起草| 丁香六月在线| 久9热视频在线| 六月天无码网址| 午夜成人片400| 深爱激情网五月| 大香蕉手机视频| 久久停停超碰| 99热播放| 色综合久久99色| 国产激情在线| 日韩啪| 婷婷五月丁香久久| 色综合久久天天综合网| 爆乳熟妇一区二区三区爆乳照片|