Skip to content

مشارکت ​

ساختن ​

bash
git clone https://github.com/AbolfazlTafakori/w-ui
cd w-ui/web && npm ci && npx vite build && cd ..
CGO_ENABLED=0 go build -o wui ./cmd/wui

رابط کاربری داخل باینری قرار می‌گیرد، پس اول آن را بسازید. به نسخه‌ای از Go که در go.mod آمده و Node نسخه‌ی 22 یا جدیدتر نیاز دارید.

اجرا روی سیستم خودتان ​

bash
WUI_DATA_DIR=./data WUI_LISTEN=127.0.0.1:2096 ./wui

روی سیستمی که nftables ندارد، پنل اجرا می‌شود و اعمال محدودیت را در دسترس‌نبودنی گزارش می‌کند: همه‌ی صفحه‌ها کار می‌کنند ولی سقف‌ها اعمال نمی‌شوند.

برای کار روی رابط کاربری با بارگذاری خودکار، cd web && npm run dev را اجرا کنید؛ درخواست‌های /api را به باینری می‌فرستد.

آزمون‌ها ​

bash
go vet ./... && go test ./...
bash scripts/test-install-questions.sh install.sh
bash scripts/test-install-output.sh install.sh

CI همین‌ها را اجرا می‌کند، به‌علاوه‌ی staticcheck، govulncheck، ساخت رابط کاربری که باید با بسته‌ی ثبت‌شده در مخزن یکی باشد، و نصب از صفر روی هشت ایمیج توزیع لینوکس.

فرستادن تغییر ​

یک pull request به شاخه‌ی main باز کنید و بنویسید چه چیزی عوض شده، چرا، و چطور آزموده شده. پیام commit را به سبک تاریخچه‌ی مخزن بنویسید: یک جمله درباره‌ی اینکه تغییر برای مدیر پنل چه می‌کند.

مستندات ​

این سایت پوشه‌ی docs/ است: VitePress، با انگلیسی در ریشه و فارسی در fa/. دستور cd docs && npm ci && npm run dev را اجرا کنید. هر صفحه به هر دو زبان وجود دارد، پس هر دو را اضافه کنید؛ اگر یکی نباشد یا در نوار کناری نیامده باشد، یک آزمون خطا می‌دهد.

Released under the AGPL-3.0 License.