distronaut
1.0.0
Distronaut هي أداة تسافر عبر الإنترنت للعثور على روابط التوزيع والبيانات الوصفية ، مما يسهل عليك مراقبة الإصدارات الجديدة أو حرق الوسائط أو بناء أرشيف ISO Bank الخاص بك.
باستخدام ثنائي مبني مسبقًا:
go install github.com/ovh/distronaut@latestبناء من المصدر
make استخدم أمر fetch لاسترداد JSON من المصادر التي تم تكوينها:
distronaut fetch -c config/sources.yml -f ' debian 'الإخراج يشبه أدناه:
[
{
"source" : " Debian " ,
"family" : " Linux " ,
"distribution" : " Debian (formerly Debian GNU/Linux) " ,
"website" : " http://www.debian.org/ " ,
"documentation" : " http://www.debian.org/doc/ " ,
"status" : " Active " ,
"logo" : " https://distrowatch.com/images/yvzhuwbpy/debian.png " ,
"logo64" : " data:image/png;base64,... " ,
"versions" : [
{
"url" : " https://cdimage.debian.org/cdimage/archive/12.6.0/amd64/iso-cd/debian-12.6.0-amd64-netinst.iso " ,
"hash" : " sha256:ade3a4acc465f59ca2496344aab72455945f3277a52afc5a2cae88cdc370fa12 " ,
"hashfile" : " https://cdimage.debian.org/cdimage/archive/12.6.0/amd64/iso-cd/SHA256SUMS " ,
"version" : " 12.6.0 " ,
"arch" : " amd64 " ,
"meta" : {
"release" : " 2023-06-10 "
}
}
]
}
]يتم إلغاء بيانات التعريف الإضافية من Diverswatch.com.
يمكن أيضًا استيراد هذه الحزمة داخل قاعدة كود Golang أخرى:
package main
import (
"encoding/json"
"fmt"
"github.com/ovh/distronaut/pkg/distro"
)
func main () {
src , _ := distro . FetchSources ( "config/sources.yml" , "debian" )
j , _ := json . MarshalIndent ( src , "" , " " )
fmt . Println ( string ( j ))
}افتح ملف التكوين الخاص بك وأضف إدخالًا جديدًا ، يحتوي على:
name هو اسم ودود لمصدرك الجديد (يمكن أيضًا استخدامه للتصفية)url هو نمط عنوان URL المصدر:patterns خريطة تحتوي على::* هي أنماط regex التي تتطابق مع معلمة الطريق المحددةk<:name>.hash.* يحتوي على جميع الإعدادات المتعلقة بالتجزئة.hash.file هو نمط regex يطابق الملف الذي يحتوي على تجزئة.hash.pattern هو نمط regex يلتقط التجزئة من ISO معين (يمكن الرجوع إليه من خلال k<iso> ).hash.algo هو اسم خوارزمية التجزئة.meta.* يحتوي على جميع الإعدادات المتعلقة بالبيانات الوصفية.meta.source يجب ضبطه على distrowatch (مصدر البيانات الوطني فقط المدعوم في الوقت الحالي).meta.id هو مقبض التوزيعات على discoatch.meta.version هو نمط regex يطابق الإصدار كما هو مشار إليه على divrowatchمثال المصدر:
- name : Debian
url : https://cdimage.debian.org/debian-cd/:version/:arch/iso-cd/:iso
patterns :
:version : ^(d+.d+(?:.d+)?)/$
:arch : ^(amd64|arm64)/$
:iso : ^debian-k<version>-k<arch>-netinst.iso$
.hash.file : SHA256SUMS
.hash.algo : sha256
.hash.pattern : (?m)^([0-9a-f]{64})s+k<iso>
.meta.source : distrowatch
.meta.id : debian
.meta.version : (d+)يرجى قراءة إرشادات المساهمة الخاصة بنا أولاً (المساهمة.
قم بإجراء الاختبارات باستخدام:
make testسيتم تفريغ الخادم المؤقت المؤقت على المنفذ 3000 لتجنب إجراء طلبات الشبكة الحقيقية.
Copyright 2021 OVH SAS
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.