1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        golicenseGo 二進(jìn)制程序許可證掃描程序

        聯(lián)合創(chuàng)作 · 2023-10-02 02:31

        golicense 是一個(gè) Go 二進(jìn)制程序的依賴項(xiàng)和許可證掃描工具,從已編譯的 Go 二進(jìn)制文件中掃描和分析 OSS 依賴項(xiàng)和許可證。golicense 僅適用于使用 Go 模塊編譯的 Go 二進(jìn)制文件,它可以輸出所有依賴項(xiàng)、依賴項(xiàng)的版本和它們各自的許可證(如果知道的話)。

        golicense 可以快速且準(zhǔn)確地輸出依賴項(xiàng)列表,因?yàn)樗褂脕碜?Go 編譯器的元數(shù)據(jù),來確定嵌入在已編譯 Go 二進(jìn)制文件中的準(zhǔn)確的依賴項(xiàng)集。注意:這不包括最終二進(jìn)制文件中未使用的依賴項(xiàng)。例如,如果一個(gè)庫依賴于函數(shù)“F”中的“foo”,但從未調(diào)用過“F”,那么依賴項(xiàng)“foo”將不會(huì)出現(xiàn)在最終的二進(jìn)制文件中。

        警告:二進(jìn)制文件本身必須被信任且未被篡改,才能提供準(zhǔn)確的結(jié)果。修改已編譯二進(jìn)制文件的依賴信息很簡(jiǎn)單。這是與基于源的依賴分析相同的硬幣的另一面,其中源不能被篡改。

        特征

        • 列出依賴項(xiàng)及其關(guān)聯(lián)的許可證
        • 針對(duì)允許/拒絕列表的交叉引用依賴許可證
        • 以終端和 Excel (XLSX) 格式輸出報(bào)告
        • 如果檢測(cè)不正確,請(qǐng)手動(dòng)指定特定依賴項(xiàng)的覆蓋。

        例子

        下面的示例golicense從最近的構(gòu)建中運(yùn)行。

        golicense 示例

        安裝

        要安裝,請(qǐng)從版本頁面golicense下載適合您平臺(tái)的版本。

        您還可以使用 Go 1.11 或更高版本使用標(biāo)準(zhǔn)從源代碼編譯 go build。請(qǐng)確保啟用 Go 模塊(GOPATH 未設(shè)置或 GO111MODULE設(shè)置為“on”)。

        用法

        golicense與一個(gè)或兩個(gè)必需的參數(shù)一起使用。在單參數(shù)形式中,列出了依賴項(xiàng)及其許可證。在兩個(gè)參數(shù)的形式中,可以給出一個(gè)配置文件來指定一個(gè)允許/拒絕許可證列表等等。

        $ golicense [flags] [BINARY] $ golicense [flags] [CONFIG] [BINARY] 

        您還可以傳遞多個(gè)二進(jìn)制文件(但前提是您提供了 CONFIG)。

        配置文件

        配置文件可以為報(bào)告指定允許/拒絕許可證列表、特定依賴項(xiàng)的許可證覆蓋等。配置文件格式為HCL或 JSON。

        例子:

        allow = ["MIT", "Apache-2.0"] deny = ["GNU General Public License v2.0"]
        { "allow": ["MIT", "Apache-2.0"], "deny": ["GNU General Public License v2.0"] }

        支持的配置:

        • allowarray<string>) - 允許許可證的名稱或 SPDX ID 列表。
        • denyarray<string>) - 被拒絕許可證的名稱或 SPDX ID 列表。
        • overridemap<string, string>) - Go 導(dǎo)入標(biāo)識(shí)符的映射,以通過 SPDX ID 轉(zhuǎn)換為特定許可證。這可用于設(shè)置golicense無法檢測(cè)的進(jìn)口許可證,以便報(bào)告通過。
        • translatemap<string, string>) - Go 導(dǎo)入標(biāo)識(shí)符的映射以轉(zhuǎn)換為備用導(dǎo)入標(biāo)識(shí)符。示例:“gopkg.in/foo/bar.v2”到“github.com/foo/bar”。如果映射鍵開始和結(jié)束,那么它被視為正則表達(dá)式。在這種情況下,地圖值可以使用\1、\2等來引用捕獲組。

        Excel (XLSX) 報(bào)告輸出

        如果-out-xlsx指定了標(biāo)志,則生成 Excel 報(bào)告并將其寫入指定路徑以及終端輸出。

        $ golicense -out-xlsx=report.xlsx ./my-program 

        Excel 報(bào)告包含依賴項(xiàng)列表、它們的版本、檢測(cè)到的許可證以及是否允許許可證。依賴項(xiàng)按字母順序列出。如果一切正常,依賴項(xiàng)的行將具有綠色背景,如果許可證未知,則為黃色背景,或者紅色背景是許可證被拒絕。示例屏幕截圖如下所示:

        Excel 報(bào)告

        瀏覽 17
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            香港三级日本三级妇三级 | 肥女巨肥BBWBBW肥妇 | 日韩一区二区精品日韩波多野结衣 | 大鸡巴插逼网站 | 午夜精品美女久久久久av福利 | 特级西西人体 | 亚洲精品久久久久999中文字幕 | 暴躁妹妹_哔哩哔哩_bilibili | 午夜日韩在线 | 国产又粗又猛又 |