Merge branch 'master' into psql

This commit is contained in:
wwt 2023-06-17 12:31:15 +08:00
commit 436beefa4e
52 changed files with 971 additions and 994 deletions

View File

@ -24,7 +24,7 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-go@v2 - uses: actions/setup-go@v2
with: with:
go-version: 1.18.3 go-version: 1.20.1
- run: make lint-backend - run: make lint-backend
lint-commits: lint-commits:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -57,7 +57,7 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: actions/setup-go@v2 - uses: actions/setup-go@v2
with: with:
go-version: 1.18.3 go-version: 1.20.1
- run: make test-backend - run: make test-backend
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@ -76,7 +76,7 @@ jobs:
fetch-depth: 0 fetch-depth: 0
- uses: actions/setup-go@v2 - uses: actions/setup-go@v2
with: with:
go-version: 1.18.3 go-version: 1.20.1
- uses: actions/setup-node@v2 - uses: actions/setup-node@v2
with: with:
node-version: '16' node-version: '16'

View File

@ -45,6 +45,7 @@ func addConfigFlags(flags *pflag.FlagSet) {
flags.String("branding.color", "", "set the theme color") flags.String("branding.color", "", "set the theme color")
flags.String("branding.files", "", "path to directory with images and custom styles") flags.String("branding.files", "", "path to directory with images and custom styles")
flags.Bool("branding.disableExternal", false, "disable external links such as GitHub links") flags.Bool("branding.disableExternal", false, "disable external links such as GitHub links")
flags.Bool("branding.disableUsedPercentage", false, "disable used disk percentage graph")
} }
//nolint:gocyclo //nolint:gocyclo
@ -147,6 +148,7 @@ func printSettings(ser *settings.Server, set *settings.Settings, auther auth.Aut
fmt.Fprintf(w, "\tName:\t%s\n", set.Branding.Name) fmt.Fprintf(w, "\tName:\t%s\n", set.Branding.Name)
fmt.Fprintf(w, "\tFiles override:\t%s\n", set.Branding.Files) fmt.Fprintf(w, "\tFiles override:\t%s\n", set.Branding.Files)
fmt.Fprintf(w, "\tDisable external links:\t%t\n", set.Branding.DisableExternal) fmt.Fprintf(w, "\tDisable external links:\t%t\n", set.Branding.DisableExternal)
fmt.Fprintf(w, "\tDisable used disk percentage graph:\t%t\n", set.Branding.DisableUsedPercentage)
fmt.Fprintf(w, "\tColor:\t%s\n", set.Branding.Color) fmt.Fprintf(w, "\tColor:\t%s\n", set.Branding.Color)
fmt.Fprintln(w, "\nServer:") fmt.Fprintln(w, "\nServer:")
fmt.Fprintf(w, "\tLog:\t%s\n", ser.Log) fmt.Fprintf(w, "\tLog:\t%s\n", ser.Log)

View File

@ -35,9 +35,10 @@ override the options.`,
AuthMethod: authMethod, AuthMethod: authMethod,
Defaults: defaults, Defaults: defaults,
Branding: settings.Branding{ Branding: settings.Branding{
Name: mustGetString(flags, "branding.name"), Name: mustGetString(flags, "branding.name"),
DisableExternal: mustGetBool(flags, "branding.disableExternal"), DisableExternal: mustGetBool(flags, "branding.disableExternal"),
Files: mustGetString(flags, "branding.files"), DisableUsedPercentage: mustGetBool(flags, "branding.DisableUsedPercentage"),
Files: mustGetString(flags, "branding.files"),
}, },
} }

View File

@ -55,6 +55,8 @@ you want to change. Other options will remain unchanged.`,
set.Branding.Color = mustGetString(flags, flag.Name) set.Branding.Color = mustGetString(flags, flag.Name)
case "branding.disableExternal": case "branding.disableExternal":
set.Branding.DisableExternal = mustGetBool(flags, flag.Name) set.Branding.DisableExternal = mustGetBool(flags, flag.Name)
case "branding.disableUsedPercentage":
set.Branding.DisableUsedPercentage = mustGetBool(flags, flag.Name)
case "branding.files": case "branding.files":
set.Branding.Files = mustGetString(flags, flag.Name) set.Branding.Files = mustGetString(flags, flag.Name)
} }

View File

@ -181,6 +181,7 @@ user created with the credentials from options "username" and "password".`,
defer listener.Close() defer listener.Close()
log.Println("Listening on", listener.Addr().String()) log.Println("Listening on", listener.Addr().String())
//nolint: gosec
if err := http.Serve(listener, handler); err != nil { if err := http.Serve(listener, handler); err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -53,7 +53,7 @@ func printUsers(usrs []*users.User) {
} }
func parseUsernameOrID(arg string) (username string, id uint) { func parseUsernameOrID(arg string) (username string, id uint) {
id64, err := strconv.ParseUint(arg, 10, 64) //nolint:gomnd id64, err := strconv.ParseUint(arg, 10, 64)
if err != nil { if err != nil {
return arg, 0 return arg, 0
} }

View File

@ -1,4 +1,4 @@
SHELL := /bin/bash SHELL := /usr/bin/env bash
DATE ?= $(shell date +%FT%T%z) DATE ?= $(shell date +%FT%T%z)
BASE_PATH := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) BASE_PATH := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
VERSION ?= $(shell git describe --tags --always --match=v* 2> /dev/null || \ VERSION ?= $(shell git describe --tags --always --match=v* 2> /dev/null || \
@ -25,4 +25,4 @@ RESET := $(shell tput -Txterm sgr0)
define global_option define global_option
printf " ${YELLOW}%-20s${GREEN}%s${RESET}\n" $(1) $(2) printf " ${YELLOW}%-20s${GREEN}%s${RESET}\n" $(1) $(2)
endef endef

View File

@ -198,8 +198,9 @@ func (i *FileInfo) RealPath() string {
return i.Path return i.Path
} }
// TODO: use constants
//
//nolint:goconst //nolint:goconst
//TODO: use constants
func (i *FileInfo) detectType(modify, saveContent, readHeader bool) error { func (i *FileInfo) detectType(modify, saveContent, readHeader bool) error {
if IsNamedPipe(i.Mode) { if IsNamedPipe(i.Mode) {
i.Type = "blob" i.Type = "blob"

View File

@ -16,6 +16,7 @@ type Listing struct {
} }
// ApplySort applies the sort order using .Order and .Sort // ApplySort applies the sort order using .Order and .Sort
//
//nolint:goconst //nolint:goconst
func (l Listing) ApplySort() { func (l Listing) ApplySort() {
// Check '.Order' to know how to sort // Check '.Order' to know how to sort

View File

@ -82,7 +82,9 @@
<div <div
class="credits" class="credits"
v-if="$router.currentRoute.path.includes('/files/')" v-if="
$router.currentRoute.path.includes('/files/') && !disableUsedPercentage
"
style="width: 90%; margin: 2em 2.5em 3em 2.5em" style="width: 90%; margin: 2em 2.5em 3em 2.5em"
> >
<progress-bar :val="usage.usedPercentage" size="small"></progress-bar> <progress-bar :val="usage.usedPercentage" size="small"></progress-bar>
@ -116,6 +118,7 @@ import {
version, version,
signup, signup,
disableExternal, disableExternal,
disableUsedPercentage,
noAuth, noAuth,
loginPage, loginPage,
} from "@/utils/constants"; } from "@/utils/constants";
@ -137,6 +140,7 @@ export default {
signup: () => signup, signup: () => signup,
version: () => version, version: () => version,
disableExternal: () => disableExternal, disableExternal: () => disableExternal,
disableUsedPercentage: () => disableUsedPercentage,
canLogout: () => !noAuth && loginPage, canLogout: () => !noAuth && loginPage,
}, },
asyncComputed: { asyncComputed: {
@ -146,6 +150,9 @@ export default {
? this.$route.path ? this.$route.path
: this.$route.path + "/"; : this.$route.path + "/";
let usageStats = { used: 0, total: 0, usedPercentage: 0 }; let usageStats = { used: 0, total: 0, usedPercentage: 0 };
if (this.disableUsedPercentage) {
return usageStats;
}
try { try {
let usage = await api.usage(path); let usage = await api.usage(path);
usageStats = { usageStats = {

View File

@ -32,6 +32,16 @@
<i class="material-icons">content_paste</i> <i class="material-icons">content_paste</i>
</button> </button>
</td> </td>
<td class="small" v-if="hasDownloadLink()">
<button
class="action copy-clipboard"
:data-clipboard-text="buildDownloadLink(link)"
:aria-label="$t('buttons.copyDownloadLinkToClipboard')"
:title="$t('buttons.copyDownloadLinkToClipboard')"
>
<i class="material-icons">content_paste_go</i>
</button>
</td>
<td class="small"> <td class="small">
<button <button
class="action" class="action"
@ -117,7 +127,7 @@
<script> <script>
import { mapState, mapGetters } from "vuex"; import { mapState, mapGetters } from "vuex";
import { share as api } from "@/api"; import { share as api, pub as pub_api } from "@/api";
import moment from "moment"; import moment from "moment";
import Clipboard from "clipboard"; import Clipboard from "clipboard";
@ -215,6 +225,14 @@ export default {
buildLink(share) { buildLink(share) {
return api.getShareURL(share); return api.getShareURL(share);
}, },
hasDownloadLink() {
return (
this.selected.length === 1 && !this.req.items[this.selected[0]].isDir
);
},
buildDownloadLink(share) {
return pub_api.getDownloadURL(share);
},
sort() { sort() {
this.links = this.links.sort((a, b) => { this.links = this.links.sort((a, b) => {
if (a.expire === 0) return -1; if (a.expire === 0) return -1;

View File

@ -14,6 +14,7 @@ export default {
let dataObj = { let dataObj = {
locales: { locales: {
he: "he", he: "he",
hu: "hu",
ar: "ar", ar: "ar",
de: "de", de: "de",
en: "en", en: "en",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "ستايل مخصص", "customStylesheet": "ستايل مخصص",
"defaultUserDescription": "This are the default settings for new users.", "defaultUserDescription": "This are the default settings for new users.",
"disableExternalLinks": "Disable external links (except documentation)", "disableExternalLinks": "Disable external links (except documentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentation", "documentation": "documentation",
"examples": "أمثلة", "examples": "أمثلة",
"executeOnShell": "Execute on shell", "executeOnShell": "Execute on shell",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -186,6 +187,7 @@
"customStylesheet": "Individuelles Stylesheet", "customStylesheet": "Individuelles Stylesheet",
"defaultUserDescription": "Das sind die Standardeinstellung für Benutzer", "defaultUserDescription": "Das sind die Standardeinstellung für Benutzer",
"disableExternalLinks": "Externe Links deaktivieren (außer Dokumentation)", "disableExternalLinks": "Externe Links deaktivieren (außer Dokumentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "Dokumentation", "documentation": "Dokumentation",
"examples": "Beispiele", "examples": "Beispiele",
"executeOnShell": "In Shell ausführen", "executeOnShell": "In Shell ausführen",

View File

@ -5,6 +5,7 @@
"copy": "Copy", "copy": "Copy",
"copyFile": "Copy file", "copyFile": "Copy file",
"copyToClipboard": "Copy to clipboard", "copyToClipboard": "Copy to clipboard",
"copyDownloadLinkToClipboard": "Copy download link to clipboard",
"create": "Create", "create": "Create",
"delete": "Delete", "delete": "Delete",
"download": "Download", "download": "Download",
@ -84,6 +85,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -189,6 +191,7 @@
"customStylesheet": "Custom Stylesheet", "customStylesheet": "Custom Stylesheet",
"defaultUserDescription": "This are the default settings for new users.", "defaultUserDescription": "This are the default settings for new users.",
"disableExternalLinks": "Disable external links (except documentation)", "disableExternalLinks": "Disable external links (except documentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentation", "documentation": "documentation",
"examples": "Examples", "examples": "Examples",
"executeOnShell": "Execute on shell", "executeOnShell": "Execute on shell",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -189,6 +190,7 @@
"customStylesheet": "Modificar hoja de estilos", "customStylesheet": "Modificar hoja de estilos",
"defaultUserDescription": "Estas son las configuraciones por defecto para nuevos usuarios.", "defaultUserDescription": "Estas son las configuraciones por defecto para nuevos usuarios.",
"disableExternalLinks": "Deshabilitar enlaces externos (excepto documentación)", "disableExternalLinks": "Deshabilitar enlaces externos (excepto documentación)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentación", "documentation": "documentación",
"examples": "Ejemplos", "examples": "Ejemplos",
"executeOnShell": "Ejecutar en la shell", "executeOnShell": "Ejecutar en la shell",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -186,6 +187,7 @@
"customStylesheet": "Feuille de style personnalisée", "customStylesheet": "Feuille de style personnalisée",
"defaultUserDescription": "Paramètres par défaut pour les nouveaux utilisateurs.", "defaultUserDescription": "Paramètres par défaut pour les nouveaux utilisateurs.",
"disableExternalLinks": "Désactiver les liens externes (sauf la documentation)", "disableExternalLinks": "Désactiver les liens externes (sauf la documentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentation", "documentation": "documentation",
"examples": "Exemples", "examples": "Exemples",
"executeOnShell": "Exécuter dans le shell", "executeOnShell": "Exécuter dans le shell",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",

273
frontend/src/i18n/hu.json Normal file
View File

@ -0,0 +1,273 @@
{
"buttons": {
"cancel": "Mégse",
"close": "Bezárás",
"copy": "Másolás",
"copyFile": "Fájl másolása",
"copyToClipboard": "Másolás vágólapra",
"create": "Létrehozás",
"delete": "Törlése",
"download": "Letöltés",
"file": "Fájl",
"folder": "Mappa",
"hideDotfiles": "Rejtett fájlok elrejtése",
"info": "Infó",
"more": "További",
"move": "Mozgatás",
"moveFile": "Fájl mozgatása",
"new": "Új",
"next": "Következő",
"ok": "OK",
"permalink": "Állandó link lekérése",
"previous": "Előző",
"publish": "Publikálása",
"rename": "Átnevezés",
"replace": "Csere",
"reportIssue": "Hiba jelentése",
"save": "Mentés",
"schedule": "Ütemezés",
"search": "Keresés",
"select": "Kijelölés",
"selectMultiple": "Többszörös kijelölés",
"share": "Megosztás",
"shell": "Parancsértelmező átváltása",
"submit": "Beküldés",
"switchView": "Nézet váltása",
"toggleSidebar": "Oldalsáv átváltása",
"update": "Frissítés",
"upload": "Feltöltés",
"openFile": "Fájl megnyitása"
},
"download": {
"downloadFile": "Fájl letöltése",
"downloadFolder": "Mappa letöltése",
"downloadSelected": "Kijelölés letöltése"
},
"errors": {
"forbidden": "Nincs jogosultsága a hozzáféréshez.",
"internal": "Valami nagyon elromlott.",
"notFound": "Ez a hely nem érhető el.",
"connection": "A kiszolgáló nem érhető el."
},
"files": {
"body": "Törzs",
"clear": "Törlése",
"closePreview": "Előnézet bezárása",
"files": "Fájlok",
"folders": "Mappák",
"home": "Kezdőlap",
"lastModified": "Utoljára módosítva",
"loading": "Betöltés…",
"lonely": "Ez egy magányos érzés…",
"metadata": "Metaadat",
"multipleSelectionEnabled": "Többszörös kijelölés aktiválva",
"name": "Név",
"size": "Méret",
"sortByLastModified": "Rendezés utolsó módosítás szerint",
"sortByName": "Rendezés név szerint",
"sortBySize": "Rendezés méret szerint",
"noPreview": "Ehhez a fájlhoz nincs előnézet."
},
"help": {
"click": "mappa vagy fájl kijelölése",
"ctrl": {
"click": "több mappa vagy fájl kijelölése",
"f": "keresés megnyitása",
"s": "az aktuális fájl vagy mappa letöltése"
},
"del": "kijelölt elemek törlése",
"doubleClick": "fájl vagy mappa megnyitása",
"esc": "kijelölés törlése és/vagy parancssor bezárása",
"f1": "ezen információ megjelenítése",
"f2": "fájl átnevezése",
"help": "Súgó"
},
"languages": {
"he": "עברית",
"hu": "Magyar",
"ar": "العربية",
"de": "Deutsch",
"en": "English",
"es": "Español",
"fr": "Français",
"is": "Icelandic",
"it": "Italiano",
"ja": "日本語",
"ko": "한국어",
"nlBE": "Dutch (Belgium)",
"pl": "Polski",
"pt": "Português",
"ptBR": "Português (Brasil)",
"ro": "Romanian",
"ru": "Русский",
"sk": "Slovenčina",
"svSE": "Swedish (Sweden)",
"tr": "Türkçe",
"ua": "Українська",
"zhCN": "中文 (简体)",
"zhTW": "中文 (繁體)"
},
"login": {
"createAnAccount": "Fiók létrehozása",
"loginInstead": "Már van fiókom",
"password": "Jelszó",
"passwordConfirm": "Jelszó megerősítése",
"passwordsDontMatch": "A jelszavak nem egyeznek",
"signup": "Regisztráció",
"submit": "Belépés",
"username": "Felhasználói név",
"usernameTaken": "A felhasználói név már foglalt",
"wrongCredentials": "Hibás hitelesítő adatok"
},
"permanent": "Állandó",
"prompts": {
"copy": "Másolása",
"copyMessage": "Válassza ki a másolás célját:",
"currentlyNavigating": "Jelenlegi helyzet:",
"deleteMessageMultiple": "Biztosan törölni szeretne {count} fájlt?",
"deleteMessageSingle": "Biztosan törölni szeretné ezt a fájl vagy mappát?",
"deleteMessageShare": "Biztosan törölni szeretné ezt a megosztást ({path})?",
"deleteTitle": "Fájlok törlése",
"displayName": "Megjelenített név:",
"download": "Fájlok letöltése",
"downloadMessage": "Válassza ki a letöltés formátumát.",
"error": "Valami rosszul sült el",
"fileInfo": "Fájlinformáció",
"filesSelected": "{count} fájl van kijelölve.",
"lastModified": "Utolsó módosítás",
"move": "Mozgatás",
"moveMessage": "Válasszon új helyet a fájl(ok)nak/mappá(k)nak:",
"newArchetype": "Új bejegyzést hoz létre egy archetípus alapján. A fájl a tartalom mappában jön létre.",
"newDir": "Új mappa",
"newDirMessage": "Adja meg az új mappa nevét.",
"newFile": "Új fájl",
"newFileMessage": "Adja meg az új fájl nevét.",
"numberDirs": "Mappák száma",
"numberFiles": "Fájlok száma",
"rename": "Átnevezés",
"renameMessage": "Adja meg az új nevét:",
"replace": "Csere",
"replaceMessage": "Az egyik feltölteni kívánt fájl a neve miatt ütközik. Szeretné lecserélni a meglévő fájlt?\n",
"schedule": "Ütemezés",
"scheduleMessage": "Válasszon egy dátumot és időpontot a bejegyzés közzétételének ütemezéséhez.",
"show": "Megjelenítés",
"size": "Méret",
"upload": "Feltöltés",
"uploadFiles": "{files} fájl feltöltése…",
"uploadMessage": "Válasszon egy feltöltési módot.",
"optionalPassword": "Választható jelszó"
},
"search": {
"images": "Képek",
"music": "Zene",
"pdf": "PDF",
"pressToSearch": "Keresés indítása Enterrel…",
"search": "Keresés…",
"typeToSearch": "Keresés indítása beírással…",
"types": "Típusok",
"video": "Videó"
},
"settings": {
"admin": "Admin",
"administrator": "Adminisztrátor",
"allowCommands": "Parancsok futtatása",
"allowEdit": "Fájlok és mappák szerkesztése, átnevezése és törlése",
"allowNew": "Új fájlok és mappák létrehozása",
"allowPublish": "Új bejegyzések és oldalak létrehozása",
"allowSignup": "Felhasználók regisztrációjának engedélyezése",
"avoidChanges": "(üresen hagyva nincs változás)",
"branding": "Márkázás",
"brandingDirectoryPath": "Márkázás mappaútvonala",
"brandingHelp": "Testre szabhatja a File Browser példányának megjelenését a név megváltoztatásával, a logó cseréjével, egyéni stílusok hozzáadásával és még a GitHubra mutató külső hivatkozások letiltásával is.\nAz egyéni márkázással kapcsolatos további információkért tekintse meg: {0}.",
"changePassword": "Jelszó módosítása",
"commandRunner": "Parancsfuttató",
"commandRunnerHelp": "Beállíthatja azokat a parancsokat, amelyek a megnevezett események során végrehajtásra kerülnek. Soronként egyet kell megadni. A {0} és a {1} környezeti változók lesznek elérhetőek, ahol a {0} relatív a {1}-hez. A funkcióról és a rendelkezésre álló környezeti változókról további információ: {2}.",
"commandsUpdated": "Parancsok frissítve!",
"createUserDir": "Felhasználók saját mappáinak automatikus létrehozása új felhasználók hozzáadásakor",
"userHomeBasePath": "Alap elérési útvonal a felhasználók saját mappáihoz",
"userScopeGenerationPlaceholder": "A környezet automatikus lesz létrehozva",
"createUserHomeDirectory": "Felhasználói saját mappák létrehozása",
"customStylesheet": "Egyéni stíluslap",
"defaultUserDescription": "Ezek az alapértelmezett beállítások az új felhasználók számára.",
"disableExternalLinks": "Külső linkek letiltása (kivéve a dokumentáció)",
"documentation": "dokumentáció",
"examples": "Példák",
"executeOnShell": "Futtatás parancsértelmezőben",
"executeOnShellDescription": "Alapértelmezés szerint a File Browser a parancsokat a binárisok közvetlen meghívásával hajtja végre. Ha ehelyett egy parancsértelmezőben (például Bash vagy PowerShell) szeretné futtatni őket, akkor itt definiálhatja azt a szükséges argumentumokkal és jelzőkkel. Ha be van állítva, akkor a végrehajtott parancs argumentumként hozzá lesz csatolva. Ez vonatkozik mind a felhasználói parancsokra, mind az eseményhorgokra.",
"globalRules": "Ez egy globális engedélyezési és tiltási szabálykészlet. Ezek minden felhasználóra vonatkoznak. Az egyes felhasználók beállításainál egyedi szabályokat határozhat meg, amelyek felülbírálják ezeket.",
"globalSettings": "Általános beállítások",
"hideDotfiles": "Rejtett fájlok elrejtése",
"insertPath": "Elérési útvonal beszúrása",
"insertRegex": "Reguláris kifejezés beszúrása",
"instanceName": "Példány neve",
"language": "Nyelv",
"lockPassword": "Felhasználói jelszó megváltoztatásának megakadályozása",
"newPassword": "Új jelszó",
"newPasswordConfirm": "Új jelszó ismét",
"newUser": "Új felhasználó",
"password": "Jelszó",
"passwordUpdated": "Jelszó frissítve!",
"path": "Elérési útvonal",
"perm": {
"create": "Fájlok és mappák létrehozása",
"delete": "Fájlok és mappák törlése",
"download": "Letöltése",
"execute": "Parancsok futtatása",
"modify": "Fájlok szerkesztése",
"rename": "Fájlok és mappák átnevezése vagy mozgatása",
"share": "Fájlok megosztása"
},
"permissions": "Jogosultságok",
"permissionsHelp": "A felhasználót beállíthatja rendszergazdának, vagy egyénileg is kiválaszthatja a jogosultságokat. Ha a \"Rendszergazda\" lehetőséget választja, az összes többi opció automatikusan be lesz jelölve. A felhasználók kezelése továbbra is a rendszergazda kiváltsága marad.\n",
"profileSettings": "Profilbeállítások",
"ruleExample1": "megakadályozza a hozzáférést bármely rejtett fájlhoz (pl. .git, .gitignore) bármely mappában.\n",
"ruleExample2": "blokkolja a hozzáférést a Caddyfile nevű fájlhoz a hatókör gyökerében.",
"rules": "Szabályok",
"rulesHelp": "Meghatározhat egy sor engedélyezési és tiltási szabályt az adott felhasználó számára. A letiltott fájlok nem jelennek meg a listákban, és nem lesznek elérhetőek a felhasználó számára. A reguláris kifejezések és a felhasználói hatókörhöz viszonyított elérési utak támogatottak.\n",
"scope": "Hatókör",
"setDateFormat": "Pontos dátumformátum beállítása",
"settingsUpdated": "Beállítások frissítve!",
"shareDuration": "Megosztás időtartama",
"shareManagement": "Megosztáskezelés",
"shareDeleted": "Megosztás törölve!",
"singleClick": "Fájlok és könyvtárak megnyitása egyetlen kattintással",
"themes": {
"dark": "Sötét",
"light": "Világos",
"title": "Téma"
},
"user": "Felhasználó",
"userCommands": "Parancsok",
"userCommandsHelp": "Egy szóközzel elválasztott lista az adott felhasználó számára elérhető parancsokkal. Példa:\n",
"userCreated": "Felhasználó létrehozva!",
"userDefaults": "Felhasználói alapértelmezett beállítások",
"userDeleted": "Felhasználó törölve!",
"userManagement": "Felhasználókezelés",
"userUpdated": "Felhasználó frissítve!",
"username": "Felhasználói név",
"users": "Felhasználók"
},
"sidebar": {
"help": "Súgó",
"hugoNew": "Új Hugo",
"login": "Belépés",
"logout": "Kilépés",
"myFiles": "Fájljaim",
"newFile": "Új fájl",
"newFolder": "Új mappa",
"preview": "Előnézet",
"settings": "Beállítások",
"signup": "Regisztráció",
"siteSettings": "Oldalbeállítások"
},
"success": {
"linkCopied": "Link másolva!"
},
"time": {
"days": "Nap",
"hours": "Óra",
"minutes": "Perc",
"seconds": "Másodperc",
"unit": "Időegység"
}
}

View File

@ -2,6 +2,7 @@ import Vue from "vue";
import VueI18n from "vue-i18n"; import VueI18n from "vue-i18n";
import he from "./he.json"; import he from "./he.json";
import hu from "./hu.json";
import ar from "./ar.json"; import ar from "./ar.json";
import de from "./de.json"; import de from "./de.json";
import en from "./en.json"; import en from "./en.json";
@ -31,6 +32,9 @@ export function detectLocale() {
case /^he.*/i.test(locale): case /^he.*/i.test(locale):
locale = "he"; locale = "he";
break; break;
case /^hu.*/i.test(locale):
locale = "hu";
break;
case /^ar.*/i.test(locale): case /^ar.*/i.test(locale):
locale = "ar"; locale = "ar";
break; break;
@ -107,6 +111,7 @@ const i18n = new VueI18n({
fallbackLocale: "en", fallbackLocale: "en",
messages: { messages: {
he: removeEmpty(he), he: removeEmpty(he),
hu: removeEmpty(hu),
ar: removeEmpty(ar), ar: removeEmpty(ar),
de: removeEmpty(de), de: removeEmpty(de),
en: en, en: en,

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "Custom Stylesheet", "customStylesheet": "Custom Stylesheet",
"defaultUserDescription": "Þetta eru sjálfgefnar stillingar fyrir nýja notendur.", "defaultUserDescription": "Þetta eru sjálfgefnar stillingar fyrir nýja notendur.",
"disableExternalLinks": "Sýna ytri-hlekki (fyrir utan leiðbeiningar)", "disableExternalLinks": "Sýna ytri-hlekki (fyrir utan leiðbeiningar)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "leiðbeiningar", "documentation": "leiðbeiningar",
"examples": "Dæmi", "examples": "Dæmi",
"executeOnShell": "Keyra í skel", "executeOnShell": "Keyra í skel",

View File

@ -8,7 +8,7 @@
"create": "Crea", "create": "Crea",
"delete": "Elimina", "delete": "Elimina",
"download": "Scarica", "download": "Scarica",
"hideDotfiles": "", "hideDotfiles": "Nascondi dotfile",
"info": "Informazioni", "info": "Informazioni",
"more": "Altro", "more": "Altro",
"move": "Sposta", "move": "Sposta",
@ -28,19 +28,19 @@
"select": "Seleziona", "select": "Seleziona",
"selectMultiple": "Seleziona molteplici", "selectMultiple": "Seleziona molteplici",
"share": "Condividi", "share": "Condividi",
"shell": "Toggle shell", "shell": "Mostra/nascondi shell",
"switchView": "Cambia vista", "switchView": "Cambia vista",
"toggleSidebar": "Mostra/nascondi la barra laterale", "toggleSidebar": "Mostra/nascondi la barra laterale",
"update": "Aggiorna", "update": "Aggiorna",
"upload": "Carica" "upload": "Carica"
}, },
"download": { "download": {
"downloadFile": "Download File", "downloadFile": "Scarica file",
"downloadFolder": "Download Folder", "downloadFolder": "Scarica cartella",
"downloadSelected": "" "downloadSelected": "Scarica selezionati"
}, },
"errors": { "errors": {
"forbidden": "You don't have permissions to access this.", "forbidden": "Non hai i permessi per accedere a questo file.",
"internal": "Qualcosa è andato veramente male.", "internal": "Qualcosa è andato veramente male.",
"notFound": "Questo percorso non può essere raggiunto." "notFound": "Questo percorso non può essere raggiunto."
}, },
@ -48,16 +48,16 @@
"body": "Contenuto", "body": "Contenuto",
"clear": "Cancella", "clear": "Cancella",
"closePreview": "Chiudi anteprima", "closePreview": "Chiudi anteprima",
"files": "Files", "files": "File",
"folders": "Cartelle", "folders": "Cartelle",
"home": "Home", "home": "Home",
"lastModified": "Ultima modifica", "lastModified": "Ultima modifica",
"loading": "Caricamento...", "loading": "Caricamento...",
"lonely": "Ci si sente soli qui...", "lonely": "Ci si sente soli qui...",
"metadata": "Metadata", "metadata": "Metadati",
"multipleSelectionEnabled": "Selezione multipla attivata", "multipleSelectionEnabled": "Selezione multipla attivata",
"name": "Nome", "name": "Nome",
"size": "Grandezza", "size": "Dimensione",
"sortByLastModified": "Ordina per ultima modifica", "sortByLastModified": "Ordina per ultima modifica",
"sortByName": "Ordina per nome", "sortByName": "Ordina per nome",
"sortBySize": "Ordina per dimensione" "sortBySize": "Ordina per dimensione"
@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -101,15 +102,15 @@
"zhTW": "中文 (繁體)" "zhTW": "中文 (繁體)"
}, },
"login": { "login": {
"createAnAccount": "Create an account", "createAnAccount": "Crea un account",
"loginInstead": "Already have an account", "loginInstead": "Hai già un account",
"password": "Password", "password": "Password",
"passwordConfirm": "Password Confirmation", "passwordConfirm": "Conferma password",
"passwordsDontMatch": "Passwords don't match", "passwordsDontMatch": "Le password non corrispondono",
"signup": "Signup", "signup": "Registrati",
"submit": "Entra", "submit": "Entra",
"username": "Nome utente", "username": "Nome utente",
"usernameTaken": "Username already taken", "usernameTaken": "Username già usato",
"wrongCredentials": "Credenziali errate" "wrongCredentials": "Credenziali errate"
}, },
"permanent": "Permanente", "permanent": "Permanente",
@ -117,10 +118,10 @@
"copy": "Copia", "copy": "Copia",
"copyMessage": "Seleziona la cartella in cui copiare i file:", "copyMessage": "Seleziona la cartella in cui copiare i file:",
"currentlyNavigating": "Attualmente navigando su:", "currentlyNavigating": "Attualmente navigando su:",
"deleteMessageMultiple": "Sei sicuro di voler eliminare {count} file(s)?", "deleteMessageMultiple": "Sei sicuro di voler eliminare {count} file?",
"deleteMessageSingle": "Sei sicuro di voler eliminare questo file/cartella?", "deleteMessageSingle": "Sei sicuro di voler eliminare questo file/cartella?",
"deleteTitle": "Elimina", "deleteTitle": "Elimina",
"displayName": "Nome Mostrato:", "displayName": "Nome visualizzato:",
"download": "Scarica files", "download": "Scarica files",
"downloadMessage": "Seleziona il formato che vuoi scaricare.", "downloadMessage": "Seleziona il formato che vuoi scaricare.",
"error": "Qualcosa è andato per il verso storto", "error": "Qualcosa è andato per il verso storto",
@ -135,7 +136,7 @@
"newFile": "Nuovo file", "newFile": "Nuovo file",
"newFileMessage": "Scrivi il nome del nuovo file.", "newFileMessage": "Scrivi il nome del nuovo file.",
"numberDirs": "Numero di cartelle", "numberDirs": "Numero di cartelle",
"numberFiles": "Numero di files", "numberFiles": "Numero di file",
"rename": "Rinomina", "rename": "Rinomina",
"renameMessage": "Inserisci un nuovo nome per", "renameMessage": "Inserisci un nuovo nome per",
"replace": "Sostituisci", "replace": "Sostituisci",
@ -143,17 +144,17 @@
"schedule": "Pianifica", "schedule": "Pianifica",
"scheduleMessage": "Seleziona data e ora per programmare la pubbilicazione di questo post", "scheduleMessage": "Seleziona data e ora per programmare la pubbilicazione di questo post",
"show": "Mostra", "show": "Mostra",
"size": "Grandezza", "size": "Dimensione",
"upload": "", "upload": "Carica",
"uploadMessage": "" "uploadMessage": "Seleziona un'opzione per il caricamento."
}, },
"search": { "search": {
"images": "Immagini", "images": "Immagini",
"music": "Musica", "music": "Musica",
"pdf": "PDF", "pdf": "PDF",
"pressToSearch": "Press enter to search...", "pressToSearch": "Premi Invio per cercare...",
"search": "Cerca...", "search": "Cerca...",
"typeToSearch": "Type to search...", "typeToSearch": "Scrivi per cercare...",
"types": "Tipi", "types": "Tipi",
"video": "Video" "video": "Video"
}, },
@ -164,29 +165,30 @@
"allowEdit": "Modifica, rinomina ed elimina file o cartelle", "allowEdit": "Modifica, rinomina ed elimina file o cartelle",
"allowNew": "Crea nuovi files o cartelle", "allowNew": "Crea nuovi files o cartelle",
"allowPublish": "Pubblica nuovi post e pagine", "allowPublish": "Pubblica nuovi post e pagine",
"allowSignup": "Allow users to signup", "allowSignup": "Permetti agli utenti di registrarsi",
"avoidChanges": "(lascia vuoto per evitare cambiamenti)", "avoidChanges": "(lascia vuoto per evitare cambiamenti)",
"branding": "Branding", "branding": "Branding",
"brandingDirectoryPath": "Branding directory path", "brandingDirectoryPath": "Directory del branding",
"brandingHelp": "You can customize how your File Browser instance looks and feels by changing its name, replacing the logo, adding custom styles and even disable external links to GitHub.\nFor more information about custom branding, please check out the {0}.", "brandingHelp": "Puoi personalizzare l'aspetto e il comportamento di File Browser cambiando il suo nome, logo, aggiungendo stili personalizzati e anche disabilitando link esterni verso GitHub.\nPer altre informazioni sul branding personalizzato, vai alla {0}.",
"changePassword": "Modifica password", "changePassword": "Modifica password",
"commandRunner": "Command runner", "commandRunner": "Esecutore di comandi",
"commandRunnerHelp": "Here you can set commands that are executed in the named events. You must write one per line. The environment variables {0} and {1} will be available, being {0} relative to {1}. For more information about this feature and the available environment variables, please read the {2}.", "commandRunnerHelp": "Qui puoi impostare i comandi da eseguire negli eventi nominati. Ne devi scrivere uno per riga. Le variabili d'ambiente {0} e {1} sono disponibili, essendo {0} relativo a {1}. Per altre informazioni su questa funzionalità e sulle variabili d'ambiente utilizzabili, leggi la {2}.",
"commandsUpdated": "Comandi aggiornati!", "commandsUpdated": "Comandi aggiornati!",
"createUserDir": "Auto create user home dir while adding new user", "createUserDir": "Crea automaticamente la home directory dell'utente quando lo aggiungi",
"customStylesheet": "Folgio di stile personalizzato", "customStylesheet": "Foglio di stile personalizzato",
"defaultUserDescription": "This are the default settings for new users.", "defaultUserDescription": "Queste sono le impostazioni predefinite per i nuovi utenti.",
"disableExternalLinks": "Disable external links (except documentation)", "disableExternalLinks": "Disabilita link esterni (tranne per la documentazione)",
"documentation": "documentation", "disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentazione",
"examples": "Esempi", "examples": "Esempi",
"executeOnShell": "Execute on shell", "executeOnShell": "Esegui nella shell",
"executeOnShellDescription": "By default, File Browser executes the commands by calling their binaries directly. If you want to run them on a shell instead (such as Bash or PowerShell), you can define it here with the required arguments and flags. If set, the command you execute will be appended as an argument. This apply to both user commands and event hooks.", "executeOnShellDescription": "Di default File Browser esegue i comandi chiamando direttamente i loro binari. Se invece vuoi eseguirli su una shell (come Bash o PowerShell), puoi definirli qui con gli argomenti e i flag richiesti. Se impostato, il comando che esegui sarà concatenato come argomento. Questo si applica sia ai comandi utente che agli hook di eventi.",
"globalRules": "This is a global set of allow and disallow rules. They apply to every user. You can define specific rules on each user's settings to override this ones.", "globalRules": "Questo è un insieme globale di regole permetti/nega, che si applicano ad ogni utente. Puoi definire regole specifiche per ogni utente, per sovrascrivere queste.",
"globalSettings": "Impostazioni Globali", "globalSettings": "Impostazioni globali",
"hideDotfiles": "", "hideDotfiles": "Nascondi dotfile",
"insertPath": "Insert the path", "insertPath": "Inserisci il percorso",
"insertRegex": "Insert regex expression", "insertRegex": "Inserisci la regex",
"instanceName": "Instance name", "instanceName": "Nome dell'istanza",
"language": "Lingua", "language": "Lingua",
"lockPassword": "Impedisci all'utente di modificare la password", "lockPassword": "Impedisci all'utente di modificare la password",
"newPassword": "La tua nuova password", "newPassword": "La tua nuova password",
@ -194,38 +196,38 @@
"newUser": "Nuovo utente", "newUser": "Nuovo utente",
"password": "Password", "password": "Password",
"passwordUpdated": "Password aggiornata!", "passwordUpdated": "Password aggiornata!",
"path": "", "path": "Percorso",
"perm": { "perm": {
"create": "Create files and directories", "create": "Creare file e cartelle",
"delete": "Delete files and directories", "delete": "Eliminare file e cartelle",
"download": "Download", "download": "Scaricare",
"execute": "Execute commands", "execute": "Eseguire comandi",
"modify": "Edit files", "modify": "Modificare file",
"rename": "Rename or move files and directories", "rename": "Rinominare o spostare file e cartelle",
"share": "Share files" "share": "Condividere file"
}, },
"permissions": "Permessi", "permissions": "Permessi",
"permissionsHelp": "È possibile impostare l'utente come amministratore o scegliere i permessi singolarmente. Se si seleziona \"Amministratore\", tutte le altre opzioni saranno automaticamente assegnate. La gestione degli utenti rimane un privilegio di un amministratore.\n", "permissionsHelp": "È possibile impostare l'utente come amministratore o scegliere i permessi singolarmente. Se si seleziona \"Amministratore\", tutte le altre opzioni saranno automaticamente assegnate. La gestione degli utenti rimane un privilegio di un amministratore.\n",
"profileSettings": "Impostazioni del profilo", "profileSettings": "Impostazioni del profilo",
"ruleExample1": "Impedisci l'accesso a qualsiasi file avente come prefisso un punto\n (ad esempio .git, .gitignore) presente in ogni cartella.\n", "ruleExample1": "impedisci l'accesso a qualsiasi file avente come prefisso un punto\n (ad esempio .git, .gitignore) presente in ogni cartella.\n",
"ruleExample2": "blocca l'accesso al file denominato Caddyfile nella radice del campo di applicazione.", "ruleExample2": "blocca l'accesso al file denominato Caddyfile nella radice del campo di applicazione.",
"rules": "Regole", "rules": "Regole",
"rulesHelp": "Qui è possibile definire una serie di regole e permessi per questo specifico utente. I file bloccati non appariranno negli elenchi e non saranno accessibili dagli utenti. all'utente. Sia regex che i percorsi relativi all'ambito di applicazione degli utenti sono supportati.\n", "rulesHelp": "Qui è possibile definire una serie di regole e permessi per questo specifico utente. I file bloccati non appariranno negli elenchi e non saranno accessibili dagli utenti. all'utente. Sia regex che i percorsi relativi all'ambito di applicazione degli utenti sono supportati.\n",
"scope": "Scopo", "scope": "Scope",
"settingsUpdated": "Impostazioni aggiornate!", "settingsUpdated": "Impostazioni aggiornate!",
"shareDuration": "", "shareDuration": "Durata della condivisione",
"shareManagement": "", "shareManagement": "Gestione delle condivisioni",
"singleClick": "", "singleClick": "Usa un singolo click per aprire file e cartelle",
"themes": { "themes": {
"dark": "", "dark": "Scuro",
"light": "", "light": "Chiaro",
"title": "" "title": "Tema"
}, },
"user": "Utente", "user": "Utente",
"userCommands": "Comandi", "userCommands": "Comandi",
"userCommandsHelp": "Una lista separata dal spazi con i comandi disponibili per questo utente. Example:\n", "userCommandsHelp": "Una lista separata dal spazi con i comandi disponibili per questo utente. Example:\n",
"userCreated": "Utente creato!", "userCreated": "Utente creato!",
"userDefaults": "User default settings", "userDefaults": "Impostazioni predefinite utente",
"userDeleted": "Utente eliminato!", "userDeleted": "Utente eliminato!",
"userManagement": "Gestione degli utenti", "userManagement": "Gestione degli utenti",
"userUpdated": "Utente aggiornato!", "userUpdated": "Utente aggiornato!",
@ -242,8 +244,8 @@
"newFolder": "Nuova cartella", "newFolder": "Nuova cartella",
"preview": "Anteprima", "preview": "Anteprima",
"settings": "Impostazioni", "settings": "Impostazioni",
"signup": "Signup", "signup": "Registrati",
"siteSettings": "Impostaizoni del sito" "siteSettings": "Impostazioni del sito"
}, },
"success": { "success": {
"linkCopied": "Link copiato!" "linkCopied": "Link copiato!"

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "カスタムスタイルシ ート", "customStylesheet": "カスタムスタイルシ ート",
"defaultUserDescription": "This are the default settings for new users.", "defaultUserDescription": "This are the default settings for new users.",
"disableExternalLinks": "Disable external links (except documentation)", "disableExternalLinks": "Disable external links (except documentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentation", "documentation": "documentation",
"examples": "例", "examples": "例",
"executeOnShell": "Execute on shell", "executeOnShell": "Execute on shell",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "커스텀 스타일시트", "customStylesheet": "커스텀 스타일시트",
"defaultUserDescription": "아래 사항은 신규 사용자들에 대한 기본 설정입니다.", "defaultUserDescription": "아래 사항은 신규 사용자들에 대한 기본 설정입니다.",
"disableExternalLinks": "외부 링크 감추기", "disableExternalLinks": "외부 링크 감추기",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "문서", "documentation": "문서",
"examples": "예", "examples": "예",
"executeOnShell": "쉘에서 실행", "executeOnShell": "쉘에서 실행",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "Arabisch", "ar": "Arabisch",
"de": "Duits", "de": "Duits",
"en": "Engels", "en": "Engels",
@ -177,6 +178,7 @@
"customStylesheet": "Aangepast Stylesheet", "customStylesheet": "Aangepast Stylesheet",
"defaultUserDescription": "Dit zijn de standaardinstellingen voor nieuwe gebruikers.", "defaultUserDescription": "Dit zijn de standaardinstellingen voor nieuwe gebruikers.",
"disableExternalLinks": "Schakel externe links uit (behalve documentatie)", "disableExternalLinks": "Schakel externe links uit (behalve documentatie)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "Documentatie", "documentation": "Documentatie",
"examples": "Voorbeelden", "examples": "Voorbeelden",
"executeOnShell": "Uitvoeren in de shell", "executeOnShell": "Uitvoeren in de shell",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -178,6 +179,7 @@
"customStylesheet": "Własny arkusz stylów", "customStylesheet": "Własny arkusz stylów",
"defaultUserDescription": "Oto domyślne ustawienia dla nowych użytkowników.", "defaultUserDescription": "Oto domyślne ustawienia dla nowych użytkowników.",
"disableExternalLinks": "Wyłącz linki zewnętrzne (z wyjątkiem dokumentacji)", "disableExternalLinks": "Wyłącz linki zewnętrzne (z wyjątkiem dokumentacji)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "dokumentacja", "documentation": "dokumentacja",
"examples": "Przykłady", "examples": "Przykłady",
"executeOnShell": "Wykonaj w powłoce", "executeOnShell": "Wykonaj w powłoce",
@ -257,4 +259,3 @@
"unit": "Jednostka czasu" "unit": "Jednostka czasu"
} }
} }

View File

@ -6,43 +6,48 @@
"copyFile": "Copiar arquivo", "copyFile": "Copiar arquivo",
"copyToClipboard": "Copiar", "copyToClipboard": "Copiar",
"create": "Criar", "create": "Criar",
"delete": "Deletar", "delete": "Apagar",
"download": "Baixar", "download": "Baixar",
"hideDotfiles": "", "file": "Arquivo",
"folder": "Pasta",
"hideDotfiles": "Ocultar dotfiles",
"info": "Informações", "info": "Informações",
"more": "Mais", "more": "Mais",
"move": "Mover", "move": "Mover",
"moveFile": "Mover arquivo", "moveFile": "Mover arquivo",
"new": "Novo", "new": "Novo",
"next": "Próximo", "next": "Próximo",
"ok": "Ok", "ok": "OK",
"permalink": "Obter link permanente", "permalink": "Obter link permanente",
"previous": "Anterior", "previous": "Anterior",
"publish": "Publicar", "publish": "Publicar",
"rename": "Renomear", "rename": "Renomear",
"replace": "Substituir", "replace": "Substituir",
"reportIssue": "Reportar erro", "reportIssue": "Relatar erro",
"save": "Salvar", "save": "Salvar",
"schedule": "Agendar", "schedule": "Agendar",
"search": "Pesquisar", "search": "Pesquisar",
"select": "Selecionar", "select": "Selecionar",
"selectMultiple": "Selecionar múltiplos", "selectMultiple": "Selecionar múltiplos",
"share": "Compartilhar", "share": "Compartilhar",
"shell": "Toggle shell", "shell": "Alternar console",
"submit": "Enviar",
"switchView": "Alterar modo de visão", "switchView": "Alterar modo de visão",
"toggleSidebar": "Alternar barra lateral", "toggleSidebar": "Alternar barra lateral",
"update": "Atualizar", "update": "Atualizar",
"upload": "Enviar" "upload": "Enviar",
"openFile": "Abrir"
}, },
"download": { "download": {
"downloadFile": "Baixar arquivo", "downloadFile": "Baixar arquivo",
"downloadFolder": "Baixar pasta", "downloadFolder": "Baixar pasta",
"downloadSelected": "" "downloadSelected": "Baixar selecionado"
}, },
"errors": { "errors": {
"forbidden": "You don't have permissions to access this.", "forbidden": "Você não tem permissões para acessar isto.",
"internal": "Ops! Algum erro ocorreu.", "internal": "Ops! Algum erro ocorreu.",
"notFound": "Ops! Nada foi encontrado." "notFound": "Ops! Nada foi encontrado.",
"connection": "O servidor não pode ser alcançado."
}, },
"files": { "files": {
"body": "Corpo", "body": "Corpo",
@ -60,7 +65,8 @@
"size": "Tamanho", "size": "Tamanho",
"sortByLastModified": "Ordenar pela última modificação", "sortByLastModified": "Ordenar pela última modificação",
"sortByName": "Ordenar pelo nome", "sortByName": "Ordenar pelo nome",
"sortBySize": "Ordenar pelo tamanho" "sortBySize": "Ordenar pelo tamanho",
"noPreview": "Pré-visualização não disponível para este arquivo."
}, },
"help": { "help": {
"click": "selecionar pasta ou arquivo", "click": "selecionar pasta ou arquivo",
@ -69,15 +75,16 @@
"f": "pesquisar", "f": "pesquisar",
"s": "salvar um arquivo ou baixar a pasta que você está" "s": "salvar um arquivo ou baixar a pasta que você está"
}, },
"del": "deletar os arquivos selecionados", "del": "apagar os arquivos selecionados",
"doubleClick": "abrir pasta ou arquivo", "doubleClick": "abrir pasta ou arquivo",
"esc": "limpar seleção e/ou fechar menu", "esc": "limpar seleção e/ou fechar menu",
"f1": "está informação", "f1": "esta informação",
"f2": "renomear arquivo", "f2": "renomear arquivo",
"help": "Ajuda" "help": "Ajuda"
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -101,15 +108,15 @@
"zhTW": "中文 (繁體)" "zhTW": "中文 (繁體)"
}, },
"login": { "login": {
"createAnAccount": "Create an account", "createAnAccount": "Criar uma conta",
"loginInstead": "Already have an account", "loginInstead": "Já possui uma conta",
"password": "Senha", "password": "Senha",
"passwordConfirm": "Password Confirmation", "passwordConfirm": "Confirmação de senha",
"passwordsDontMatch": "Passwords don't match", "passwordsDontMatch": "As senhas não coincidem",
"signup": "Signup", "signup": "Cadastrar",
"submit": "Login", "submit": "Login",
"username": "Nome do usuário", "username": "Nome do usuário",
"usernameTaken": "Username already taken", "usernameTaken": "Nome de usuário já existe",
"wrongCredentials": "Ops! Dados incorretos." "wrongCredentials": "Ops! Dados incorretos."
}, },
"permanent": "Permanente", "permanent": "Permanente",
@ -117,13 +124,14 @@
"copy": "Copiar", "copy": "Copiar",
"copyMessage": "Escolha um lugar para copiar os arquivos:", "copyMessage": "Escolha um lugar para copiar os arquivos:",
"currentlyNavigating": "Navegando em:", "currentlyNavigating": "Navegando em:",
"deleteMessageMultiple": "Deseja deletar {count} arquivo(s)?", "deleteMessageMultiple": "Deseja apagar {count} arquivo(s)?",
"deleteMessageSingle": "Deseja deletar está pasta/arquivo?", "deleteMessageSingle": "Deseja apagar esta pasta/arquivo?",
"deleteTitle": "Deletar arquivos", "deleteMessageShare": "Deseja apagar este compartilhamento ({path})?",
"deleteTitle": "Apagar arquivos",
"displayName": "Nome:", "displayName": "Nome:",
"download": "Baixar arquivos", "download": "Baixar arquivos",
"downloadMessage": "Escolha o formato do arquivo.", "downloadMessage": "Escolha o formato do arquivo.",
"error": "Algo de ruim ocorreu", "error": "Algo de errado ocorreu",
"fileInfo": "Informação do arquivo", "fileInfo": "Informação do arquivo",
"filesSelected": "{count} arquivos selecionados.", "filesSelected": "{count} arquivos selecionados.",
"lastModified": "Última modificação", "lastModified": "Última modificação",
@ -141,19 +149,21 @@
"replace": "Substituir", "replace": "Substituir",
"replaceMessage": "Já existe um arquivo com nome igual a um dos que está tentando enviar. Deseja substituir?\n", "replaceMessage": "Já existe um arquivo com nome igual a um dos que está tentando enviar. Deseja substituir?\n",
"schedule": "Agendar", "schedule": "Agendar",
"scheduleMessage": "Escolha uma data para publicar este post.", "scheduleMessage": "Escolha uma data para agendar a publicação deste post.",
"show": "Mostrar", "show": "Mostrar",
"size": "Tamanho", "size": "Tamanho",
"upload": "", "upload": "Enviar",
"uploadMessage": "" "uploadFiles": "Enviando {files} arquivos...",
"uploadMessage": "Selecione uma opção para enviar.",
"optionalPassword": "Senha opcional"
}, },
"search": { "search": {
"images": "Imagens", "images": "Imagens",
"music": "Música", "music": "Músicas",
"pdf": "PDF", "pdf": "PDF",
"pressToSearch": "Press enter to search...", "pressToSearch": "Pressione Enter para pesquisar...",
"search": "Pesquise...", "search": "Pesquise...",
"typeToSearch": "Type to search...", "typeToSearch": "Digite para pesquisar...",
"types": "Tipos", "types": "Tipos",
"video": "Vídeos" "video": "Vídeos"
}, },
@ -161,33 +171,37 @@
"admin": "Admin", "admin": "Admin",
"administrator": "Administrador", "administrator": "Administrador",
"allowCommands": "Executar comandos", "allowCommands": "Executar comandos",
"allowEdit": "Editar, renomear e deletar arquivos ou pastas", "allowEdit": "Editar, renomear e apagar arquivos ou pastas",
"allowNew": "Criar novos arquivos e pastas", "allowNew": "Criar novos arquivos e pastas",
"allowPublish": "Publicar novas páginas e conteúdos", "allowPublish": "Publicar novas páginas e conteúdos",
"allowSignup": "Allow users to signup", "allowSignup": "Permitir cadastro de usuários",
"avoidChanges": "(deixe em branco para manter)", "avoidChanges": "(deixe em branco para manter)",
"branding": "Branding", "branding": "Customização",
"brandingDirectoryPath": "Branding directory path", "brandingDirectoryPath": "Diretório de customização",
"brandingHelp": "You can customize how your File Browser instance looks and feels by changing its name, replacing the logo, adding custom styles and even disable external links to GitHub.\nFor more information about custom branding, please check out the {0}.", "brandingHelp": "Você pode mudar a aparência e experiência de sua instância do File Browser alterando seu nome, logotipo, adicionando estilos customizados e até desabilitando links externos para o GitHub.\nPara mais informações sobre customizações, confira {0}.",
"changePassword": "Alterar senha", "changePassword": "Alterar senha",
"commandRunner": "Command runner", "commandRunner": "Execução de comandos",
"commandRunnerHelp": "Here you can set commands that are executed in the named events. You must write one per line. The environment variables {0} and {1} will be available, being {0} relative to {1}. For more information about this feature and the available environment variables, please read the {2}.", "commandRunnerHelp": "Aqui você pode definir comandos que serão executados nos eventos descritos. Escreva um por linha. As variáveis de ambiente {0} e {1} estão disponíveis, sendo {0} relativo a {1}. Para mais informações sobre esta função e as variáveis de ambiente disponíveis, leia a {2}.",
"commandsUpdated": "Comandos atualizados!", "commandsUpdated": "Comandos atualizados!",
"createUserDir": "Auto create user home dir while adding new user", "createUserDir": "Criar diretório Home para novos usuários",
"userHomeBasePath": "Caminho base para diretórios de usuários",
"userScopeGenerationPlaceholder": "O escopo será gerado automaticamente",
"createUserHomeDirectory": "Criar diretório Home de usuário",
"customStylesheet": "Estilos personalizados", "customStylesheet": "Estilos personalizados",
"defaultUserDescription": "This are the default settings for new users.", "defaultUserDescription": "Estas são as configurações padrão para novos usuários.",
"disableExternalLinks": "Disable external links (except documentation)", "disableExternalLinks": "Desabilitar links externos (exceto documentação)",
"disableUsedDiskPercentage": "Desabilitar gráfico de porcentagem de disco usado",
"documentation": "documentação", "documentation": "documentação",
"examples": "Exemplos", "examples": "Exemplos",
"executeOnShell": "Execute on shell", "executeOnShell": "Executar no console",
"executeOnShellDescription": "By default, File Browser executes the commands by calling their binaries directly. If you want to run them on a shell instead (such as Bash or PowerShell), you can define it here with the required arguments and flags. If set, the command you execute will be appended as an argument. This apply to both user commands and event hooks.", "executeOnShellDescription": "Por padrão, o File Browser executa os comandos chamando os binários diretamente. Se ao invés disso desejar executá-los em um console (como Bash ou PowerShell), você pode defini-los aqui com os argumentos e flags necessários. Se definido, o comando que executar será acrescentado como um argumento. Isto se aplica a comandos de usuário e eventos hook.",
"globalRules": "This is a global set of allow and disallow rules. They apply to every user. You can define specific rules on each user's settings to override this ones.", "globalRules": "Este é um conjunto global de regras de permissão e restrição que se aplicam a todos os usuários. Você pode definir regras específicas em cada usuário para sobrepor estas.",
"globalSettings": "Configurações globais", "globalSettings": "Configurações globais",
"hideDotfiles": "", "hideDotfiles": "Ocultar dotfiles",
"insertPath": "Insert the path", "insertPath": "Inserir o caminho",
"insertRegex": "Inserir expressão regular", "insertRegex": "Inserir expressão regular",
"instanceName": "Instance name", "instanceName": "Nome da instância",
"language": "Linguagem", "language": "Idioma",
"lockPassword": "Não permitir que o usuário altere a senha", "lockPassword": "Não permitir que o usuário altere a senha",
"newPassword": "Nova senha", "newPassword": "Nova senha",
"newPasswordConfirm": "Confirme a nova senha", "newPasswordConfirm": "Confirme a nova senha",
@ -196,12 +210,12 @@
"passwordUpdated": "Senha atualizada!", "passwordUpdated": "Senha atualizada!",
"path": "", "path": "",
"perm": { "perm": {
"create": "Create files and directories", "create": "Criar arquivos e diretórios",
"delete": "Delete files and directories", "delete": "Apagar arquivos e diretórios",
"download": "Baixar", "download": "Baixar",
"execute": "Execute commands", "execute": "Executar comandos",
"modify": "Editar arquivos", "modify": "Editar arquivos",
"rename": "Rename or move files and directories", "rename": "Renomear ou mover arquivos e diretórios",
"share": "Compartilhar arquivos" "share": "Compartilhar arquivos"
}, },
"permissions": "Permissões", "permissions": "Permissões",
@ -210,24 +224,26 @@
"ruleExample1": "previne o acesso a qualquer \"dotfile\" (como .git, .gitignore) em qualquer pasta\n", "ruleExample1": "previne o acesso a qualquer \"dotfile\" (como .git, .gitignore) em qualquer pasta\n",
"ruleExample2": "bloqueia o acesso ao arquivo chamado Caddyfile.", "ruleExample2": "bloqueia o acesso ao arquivo chamado Caddyfile.",
"rules": "Regras", "rules": "Regras",
"rulesHelp": "Aqui pode definir um conjunto de regras para permitir ou bloquear o acesso do utilizador a determinados arquivos ou pastas. Os arquivos bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos arquivos devem ser relativos à base do usuário.\n", "rulesHelp": "Aqui você pode definir um conjunto de regras para permitir ou bloquear o acesso do usuário a determinados arquivos ou pastas. Os arquivos bloqueados não irão aparecer durante a navegação. Suportamos expressões regulares e os caminhos dos arquivos devem ser relativos à base do usuário.\n",
"scope": "Base", "scope": "Escopo",
"setDateFormat": "Definir formato exato de data",
"settingsUpdated": "Configurações atualizadas!", "settingsUpdated": "Configurações atualizadas!",
"shareDuration": "", "shareDuration": "Duração do compartilhamento",
"shareManagement": "", "shareManagement": "Gerenciamento do compartilhamento",
"singleClick": "", "shareDeleted": "Compartilhamento apagado!",
"singleClick": "Usar clique único para abrir arquivos e diretórios",
"themes": { "themes": {
"dark": "", "dark": "Escuro",
"light": "", "light": "Claro",
"title": "" "title": "Tema"
}, },
"user": "Usuário", "user": "Usuário",
"userCommands": "Comandos", "userCommands": "Comandos",
"userCommandsHelp": "Uma lista, separada com espaços, de comandos disponíveis para este usuário. Exemplo:", "userCommandsHelp": "Uma lista, separada com espaços, de comandos disponíveis para este usuário. Exemplo:",
"userCreated": "Usuário criado!", "userCreated": "Usuário criado!",
"userDefaults": "User default settings", "userDefaults": "Configurações padrão de usuário",
"userDeleted": "Usuário eliminado!", "userDeleted": "Usuário apagado!",
"userManagement": "Gestão de usuários", "userManagement": "Gerenciamento de usuários",
"userUpdated": "Usuário atualizado!", "userUpdated": "Usuário atualizado!",
"username": "Nome do usuário", "username": "Nome do usuário",
"users": "Usuários" "users": "Usuários"
@ -242,7 +258,7 @@
"newFolder": "Nova pasta", "newFolder": "Nova pasta",
"preview": "Pré-visualizar", "preview": "Pré-visualizar",
"settings": "Configurações", "settings": "Configurações",
"signup": "Signup", "signup": "Cadastrar",
"siteSettings": "Configurações do site" "siteSettings": "Configurações do site"
}, },
"success": { "success": {

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "Árabe", "ar": "Árabe",
"de": "Alemão", "de": "Alemão",
"en": "Inglês", "en": "Inglês",
@ -177,6 +178,7 @@
"customStylesheet": "Folha de estilos personalizada", "customStylesheet": "Folha de estilos personalizada",
"defaultUserDescription": "Estas são as configurações padrão para novos utilizadores.", "defaultUserDescription": "Estas são as configurações padrão para novos utilizadores.",
"disableExternalLinks": "Desativar links externos (exceto documentação)", "disableExternalLinks": "Desativar links externos (exceto documentação)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentação", "documentation": "documentação",
"examples": "Exemplos", "examples": "Exemplos",
"executeOnShell": "Executar na shell", "executeOnShell": "Executar na shell",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "CSS personalizat", "customStylesheet": "CSS personalizat",
"defaultUserDescription": "Acestea sunt setările implicite pentru noii utilizatori.", "defaultUserDescription": "Acestea sunt setările implicite pentru noii utilizatori.",
"disableExternalLinks": "Dezactivează linkurile externe (exceptând documentația)", "disableExternalLinks": "Dezactivează linkurile externe (exceptând documentația)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "documentație", "documentation": "documentație",
"examples": "Exemple", "examples": "Exemple",
"executeOnShell": "Execută in linia de comandă", "executeOnShell": "Execută in linia de comandă",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -185,6 +186,7 @@
"customStylesheet": "Свой стиль", "customStylesheet": "Свой стиль",
"defaultUserDescription": "Это настройки по умолчанию для новых пользователей.", "defaultUserDescription": "Это настройки по умолчанию для новых пользователей.",
"disableExternalLinks": "Отключить внешние ссылки (кроме документации)", "disableExternalLinks": "Отключить внешние ссылки (кроме документации)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "документация", "documentation": "документация",
"examples": "Примеры", "examples": "Примеры",
"executeOnShell": "Выполнить в командной строке", "executeOnShell": "Выполнить в командной строке",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -185,6 +186,7 @@
"customStylesheet": "Vlastný Stylesheet", "customStylesheet": "Vlastný Stylesheet",
"defaultUserDescription": "Toto sú predvolané nastavenia nového používateľa.", "defaultUserDescription": "Toto sú predvolané nastavenia nového používateľa.",
"disableExternalLinks": "Vypnúť externé odkazy (okrem dokumentácie)", "disableExternalLinks": "Vypnúť externé odkazy (okrem dokumentácie)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "dokumentácia", "documentation": "dokumentácia",
"examples": "Príklady", "examples": "Príklady",
"executeOnShell": "Vykonať cez shell", "executeOnShell": "Vykonať cez shell",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "Anpassad formatmall", "customStylesheet": "Anpassad formatmall",
"defaultUserDescription": "Detta är standard inställningar för användare.", "defaultUserDescription": "Detta är standard inställningar för användare.",
"disableExternalLinks": "Inaktivera externa länkar (förutom dokumentation)", "disableExternalLinks": "Inaktivera externa länkar (förutom dokumentation)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "dokumentation", "documentation": "dokumentation",
"examples": "Exempel", "examples": "Exempel",
"executeOnShell": "Exekvera på skal", "executeOnShell": "Exekvera på skal",

View File

@ -82,6 +82,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -183,6 +184,7 @@
"customStylesheet": "Özel CSS", "customStylesheet": "Özel CSS",
"defaultUserDescription": "Bu, yeni kullanıcılar için varsayılan ayarlardır.", "defaultUserDescription": "Bu, yeni kullanıcılar için varsayılan ayarlardır.",
"disableExternalLinks": "Harici bağlantıları devre dışı bırakın (dökümantasyon hariç)", "disableExternalLinks": "Harici bağlantıları devre dışı bırakın (dökümantasyon hariç)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "dökümantasyon", "documentation": "dökümantasyon",
"examples": "Örnekler", "examples": "Örnekler",
"executeOnShell": "Komut satırında çalıştır", "executeOnShell": "Komut satırında çalıştır",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -185,6 +186,7 @@
"customStylesheet": "Свій стиль", "customStylesheet": "Свій стиль",
"defaultUserDescription": "Це налаштування за замовчуванням для нових користувачів.", "defaultUserDescription": "Це налаштування за замовчуванням для нових користувачів.",
"disableExternalLinks": "Вимкнути зовнішні посилання (крім документації)", "disableExternalLinks": "Вимкнути зовнішні посилання (крім документації)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "документація", "documentation": "документація",
"examples": "Приклади", "examples": "Приклади",
"executeOnShell": "Виконати в командному рядку", "executeOnShell": "Виконати в командному рядку",

View File

@ -84,6 +84,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -185,6 +186,7 @@
"customStylesheet": "自定义样式表CSS", "customStylesheet": "自定义样式表CSS",
"defaultUserDescription": "这些是新用户的默认设置。", "defaultUserDescription": "这些是新用户的默认设置。",
"disableExternalLinks": "禁止外部链接(帮助文档除外)", "disableExternalLinks": "禁止外部链接(帮助文档除外)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "帮助文档", "documentation": "帮助文档",
"examples": "例子", "examples": "例子",
"executeOnShell": "在 Shell 中执行", "executeOnShell": "在 Shell 中执行",

View File

@ -78,6 +78,7 @@
}, },
"languages": { "languages": {
"he": "עברית", "he": "עברית",
"hu": "Magyar",
"ar": "العربية", "ar": "العربية",
"de": "Deutsch", "de": "Deutsch",
"en": "English", "en": "English",
@ -177,6 +178,7 @@
"customStylesheet": "自定義樣式表", "customStylesheet": "自定義樣式表",
"defaultUserDescription": "這些是新使用者的預設設定。", "defaultUserDescription": "這些是新使用者的預設設定。",
"disableExternalLinks": "禁止外部連結(幫助文件除外)", "disableExternalLinks": "禁止外部連結(幫助文件除外)",
"disableUsedDiskPercentage": "Disable used disk percentage graph",
"documentation": "幫助文件", "documentation": "幫助文件",
"examples": "範例", "examples": "範例",
"executeOnShell": "在Shell中執行", "executeOnShell": "在Shell中執行",

View File

@ -1,5 +1,6 @@
const name = window.FileBrowser.Name || "File Browser"; const name = window.FileBrowser.Name || "File Browser";
const disableExternal = window.FileBrowser.DisableExternal; const disableExternal = window.FileBrowser.DisableExternal;
const disableUsedPercentage = window.FileBrowser.DisableUsedPercentage;
const baseURL = window.FileBrowser.BaseURL; const baseURL = window.FileBrowser.BaseURL;
const staticURL = window.FileBrowser.StaticURL; const staticURL = window.FileBrowser.StaticURL;
const recaptcha = window.FileBrowser.ReCaptcha; const recaptcha = window.FileBrowser.ReCaptcha;
@ -19,6 +20,7 @@ const origin = window.location.origin;
export { export {
name, name,
disableExternal, disableExternal,
disableUsedPercentage,
baseURL, baseURL,
logoURL, logoURL,
recaptcha, recaptcha,

View File

@ -6,10 +6,10 @@
<div v-if="error !== ''" class="wrong">{{ error }}</div> <div v-if="error !== ''" class="wrong">{{ error }}</div>
<input <input
autofocus
class="input input--block" class="input input--block"
type="text" type="text"
autocapitalize="off" autocapitalize="off"
ref="username"
v-model="username" v-model="username"
:placeholder="$t('login.username')" :placeholder="$t('login.username')"
/> />
@ -71,8 +71,6 @@ export default {
}; };
}, },
mounted() { mounted() {
this.focusUsername();
if (!recaptcha) return; if (!recaptcha) return;
window.grecaptcha.ready(function () { window.grecaptcha.ready(function () {
@ -82,9 +80,6 @@ export default {
}); });
}, },
methods: { methods: {
focusUsername() {
this.$refs.username.focus();
},
toggleMode() { toggleMode() {
this.createMode = !this.createMode; this.createMode = !this.createMode;
}, },

View File

@ -10,6 +10,15 @@
@action="download" @action="download"
:counter="selectedCount" :counter="selectedCount"
/> />
<button
v-if="isSingleFile()"
class="action copy-clipboard"
:data-clipboard-text="linkSelected()"
:aria-label="$t('buttons.copyDownloadLinkToClipboard')"
:title="$t('buttons.copyDownloadLinkToClipboard')"
>
<i class="material-icons">content_paste</i>
</button>
<action <action
icon="check_circle" icon="check_circle"
:label="$t('buttons.selectMultiple')" :label="$t('buttons.selectMultiple')"
@ -182,6 +191,7 @@ import Breadcrumbs from "@/components/Breadcrumbs";
import Errors from "@/views/Errors"; import Errors from "@/views/Errors";
import QrcodeVue from "qrcode.vue"; import QrcodeVue from "qrcode.vue";
import Item from "@/components/files/ListingItem"; import Item from "@/components/files/ListingItem";
import Clipboard from "clipboard";
export default { export default {
name: "share", name: "share",
@ -200,6 +210,7 @@ export default {
attemptedPasswordLogin: false, attemptedPasswordLogin: false,
hash: null, hash: null,
token: null, token: null,
clip: null,
}), }),
watch: { watch: {
$route: function () { $route: function () {
@ -215,13 +226,18 @@ export default {
}, },
mounted() { mounted() {
window.addEventListener("keydown", this.keyEvent); window.addEventListener("keydown", this.keyEvent);
this.clip = new Clipboard(".copy-clipboard");
this.clip.on("success", () => {
this.$showSuccess(this.$t("success.linkCopied"));
});
}, },
beforeDestroy() { beforeDestroy() {
window.removeEventListener("keydown", this.keyEvent); window.removeEventListener("keydown", this.keyEvent);
this.clip.destroy();
}, },
computed: { computed: {
...mapState(["req", "loading", "multiple", "selected"]), ...mapState(["req", "loading", "multiple", "selected"]),
...mapGetters(["selectedCount", "selectedCount"]), ...mapGetters(["selectedCount"]),
icon: function () { icon: function () {
if (this.req.isDir) return "folder"; if (this.req.isDir) return "folder";
if (this.req.type === "image") return "insert_photo"; if (this.req.type === "image") return "insert_photo";
@ -300,8 +316,13 @@ export default {
toggleMultipleSelection() { toggleMultipleSelection() {
this.$store.commit("multiple", !this.multiple); this.$store.commit("multiple", !this.multiple);
}, },
isSingleFile: function () {
return (
this.selectedCount === 1 && !this.req.items[this.selected[0]].isDir
);
},
download() { download() {
if (this.selectedCount === 1 && !this.req.items[this.selected[0]].isDir) { if (this.isSingleFile()) {
api.download( api.download(
null, null,
this.hash, this.hash,
@ -326,6 +347,14 @@ export default {
}, },
}); });
}, },
linkSelected: function () {
return this.isSingleFile()
? api.getDownloadURL({
hash: this.hash,
path: this.req.items[this.selected[0]].path,
})
: "";
},
}, },
}; };
</script> </script>

View File

@ -167,7 +167,6 @@ export default {
nextLink: "", nextLink: "",
listing: null, listing: null,
name: "", name: "",
subtitles: [],
fullSize: false, fullSize: false,
showNav: true, showNav: true,
navTimeout: null, navTimeout: null,
@ -201,6 +200,12 @@ export default {
isResizeEnabled() { isResizeEnabled() {
return resizePreview; return resizePreview;
}, },
subtitles() {
if (this.req.subtitles) {
return api.getSubtitlesURL(this.req);
}
return [];
},
}, },
watch: { watch: {
$route: function () { $route: function () {
@ -266,10 +271,6 @@ export default {
this.autoPlay = false; this.autoPlay = false;
} }
if (this.req.subtitles) {
this.subtitles = api.getSubtitlesURL(this.req);
}
let dirs = this.$route.fullPath.split("/"); let dirs = this.$route.fullPath.split("/");
this.name = decodeURIComponent(dirs[dirs.length - 1]); this.name = decodeURIComponent(dirs[dirs.length - 1]);

View File

@ -62,6 +62,15 @@
{{ $t("settings.disableExternalLinks") }} {{ $t("settings.disableExternalLinks") }}
</p> </p>
<p>
<input
type="checkbox"
v-model="settings.branding.disableUsedPercentage"
id="branding-links"
/>
{{ $t("settings.disableUsedDiskPercentage") }}
</p>
<p> <p>
<label for="theme">{{ $t("settings.themes.title") }}</label> <label for="theme">{{ $t("settings.themes.title") }}</label>
<themes <themes

56
go.mod
View File

@ -7,26 +7,26 @@ require (
github.com/disintegration/imaging v1.6.2 github.com/disintegration/imaging v1.6.2
github.com/dsoprea/go-exif/v3 v3.0.0-20201216222538-db167117f483 github.com/dsoprea/go-exif/v3 v3.0.0-20201216222538-db167117f483
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568
github.com/golang-jwt/jwt/v4 v4.4.1 github.com/golang-jwt/jwt/v4 v4.4.3
github.com/gorilla/mux v1.8.0 github.com/gorilla/mux v1.8.0
github.com/gorilla/websocket v1.5.0 github.com/gorilla/websocket v1.5.0
github.com/maruel/natural v1.0.0 github.com/maruel/natural v1.1.0
github.com/marusama/semaphore/v2 v2.5.0 github.com/marusama/semaphore/v2 v2.5.0
github.com/mholt/archiver/v3 v3.5.1 github.com/mholt/archiver/v3 v3.5.1
github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/go-homedir v1.1.0
github.com/pelletier/go-toml/v2 v2.0.0 github.com/pelletier/go-toml/v2 v2.0.6
github.com/shirou/gopsutil/v3 v3.22.5 github.com/shirou/gopsutil/v3 v3.23.1
github.com/spf13/afero v1.8.2 github.com/spf13/afero v1.9.3
github.com/spf13/cobra v1.4.0 github.com/spf13/cobra v1.6.1
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/spf13/viper v1.11.0 github.com/spf13/viper v1.15.0
github.com/stretchr/testify v1.7.1 github.com/stretchr/testify v1.8.1
github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce
go.etcd.io/bbolt v1.3.6 go.etcd.io/bbolt v1.3.7
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f golang.org/x/crypto v0.6.0
golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 golang.org/x/image v0.5.0
golang.org/x/text v0.4.0 golang.org/x/text v0.7.0
gopkg.in/natefinch/lumberjack.v2 v2.0.0 gopkg.in/natefinch/lumberjack.v2 v2.2.1
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
) )
@ -38,42 +38,32 @@ require (
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d // indirect github.com/dsoprea/go-logging v0.0.0-20200517223158-a10564966e9d // indirect
github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e // indirect github.com/dsoprea/go-utility/v2 v2.0.0-20200717064901-2fccff4aa15e // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-errors/errors v1.1.1 // indirect github.com/go-errors/errors v1.1.1 // indirect
github.com/go-ole/go-ole v1.2.6 // indirect github.com/go-ole/go-ole v1.2.6 // indirect
github.com/go-sql-driver/mysql v1.6.0 // indirect github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/golang/geo v0.0.0-20200319012246-673a6f80352d // indirect github.com/golang/geo v0.0.0-20200319012246-673a6f80352d // indirect
github.com/golang/snappy v0.0.2 // indirect github.com/golang/snappy v0.0.2 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hasit/bolter v0.0.0-20221019173212-593eefaa56b7 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/klauspost/compress v1.11.4 // indirect github.com/klauspost/compress v1.11.4 // indirect
github.com/klauspost/pgzip v1.2.5 // indirect github.com/klauspost/pgzip v1.2.5 // indirect
github.com/kval-access-language/kval-boltdb v0.0.0-20170330045345-f3797777c95e // indirect github.com/magiconair/properties v1.8.7 // indirect
github.com/kval-access-language/kval-parse v0.0.0-20170504112528-b96aa5a26330 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/kval-access-language/kval-scanner v0.0.0-20170504112421-4f097cacd289 // indirect
github.com/lib/pq v1.10.7 // indirect
github.com/magiconair/properties v1.8.6 // indirect
github.com/mattn/go-runewidth v0.0.4 // indirect
github.com/mattn/go-sqlite3 v1.14.16 // indirect
github.com/mitchellh/mapstructure v1.4.3 // indirect
github.com/nwaples/rardecode v1.1.0 // indirect github.com/nwaples/rardecode v1.1.0 // indirect
github.com/olekukonko/tablewriter v0.0.2 // indirect
github.com/pelletier/go-toml v1.9.4 // indirect
github.com/pierrec/lz4/v4 v4.1.2 // indirect github.com/pierrec/lz4/v4 v4.1.2 // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cast v1.4.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/subosito/gotenv v1.2.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect
github.com/ulikunitz/xz v0.5.9 // indirect github.com/ulikunitz/xz v0.5.9 // indirect
github.com/urfave/cli v1.22.1 // indirect github.com/urfave/cli v1.22.1 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect github.com/yusufpapurcu/wmi v1.2.2 // indirect
golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect golang.org/x/net v0.6.0 // indirect
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect golang.org/x/sys v0.5.0 // indirect
gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
) )

147
go.sum
View File

@ -36,7 +36,6 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM= github.com/DataDog/zstd v1.4.1 h1:3oxKN3wbHibqx897utPC2LTQU4J+IHWWJO+glkAkpFM=
@ -57,9 +56,7 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cpuguy83/go-md2man/v2 v2.0.1 h1:r/myEWzV9lfsM1tFLgDyu0atFtJ1fXn261LKYj/3DxU=
github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@ -86,8 +83,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.m
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 h1:BHsljHzVlRcyQhjrss6TZTdY2VfCqZPbv5k3iBFa2ZQ=
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc= github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE=
github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY=
github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw=
github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q=
github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs= github.com/go-errors/errors v1.0.2/go.mod h1:psDX2osz5VnTOnFWbDeWwS7yejl+uV3FEWEp4lssFEs=
github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg= github.com/go-errors/errors v1.1.1 h1:ljK/pL5ltg3qoN+OtN6yCv9HWSfMwxSx90GJCZQxYNg=
@ -97,10 +95,8 @@ github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY= github.com/go-ole/go-ole v1.2.6 h1:/Fpf6oFPoeFik9ty7siob0G6Ke8QvQEuVcuChpwXzpY=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= github.com/golang-jwt/jwt/v4 v4.4.3 h1:Hxl6lhQFj4AnOX6MLrsCb/+7tCj7DxP7VA+2rDIq5AU=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang-jwt/jwt/v4 v4.4.1 h1:pC5DB52sCeK48Wlb9oPcdhnjkz1TKt1D/P7WKJ0kUcQ=
github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc= github.com/golang/geo v0.0.0-20200319012246-673a6f80352d h1:C/hKUcHT483btRbeGkrRjJz+Zbcj8audldIi9tRJDCc=
github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/geo v0.0.0-20200319012246-673a6f80352d/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI=
@ -146,7 +142,8 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@ -177,8 +174,8 @@ github.com/hasit/bolter v0.0.0-20221019173212-593eefaa56b7 h1:Plet+TSM/QDQjX84z7
github.com/hasit/bolter v0.0.0-20221019173212-593eefaa56b7/go.mod h1:QeiIIsu6N8sVPeSHpo1i9cID5fjR5/9nEgumickazDo= github.com/hasit/bolter v0.0.0-20221019173212-593eefaa56b7/go.mod h1:QeiIIsu6N8sVPeSHpo1i9cID5fjR5/9nEgumickazDo=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
@ -190,24 +187,16 @@ github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgo
github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE=
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kval-access-language/kval-boltdb v0.0.0-20170330045345-f3797777c95e h1:6eQQkLvMgIY9ecZKVtEsKdUeApg6qkNl8IwJp6cZBNg= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kval-access-language/kval-boltdb v0.0.0-20170330045345-f3797777c95e/go.mod h1:CJfrSSteer+JJgIkdw/LU7Ss1CiZ6G/+oIfo4nJ1P/s=
github.com/kval-access-language/kval-parse v0.0.0-20170504112528-b96aa5a26330 h1:u+bu63lKw/77wcyhzRB9YwipGEa4l3et/hu4xkcX2cQ=
github.com/kval-access-language/kval-parse v0.0.0-20170504112528-b96aa5a26330/go.mod h1:sIViryZLFGwtty1cz01GVfqCzHR2j5O7ZCcuYiGJAJA=
github.com/kval-access-language/kval-scanner v0.0.0-20170504112421-4f097cacd289 h1:xp6dE/eMUsoTqp/A4p846HSDlETgYPcW+gmtSW7G0tc=
github.com/kval-access-language/kval-scanner v0.0.0-20170504112421-4f097cacd289/go.mod h1:YAawD4QhDnNbLB6455T6SheCYnZh90kII4jhq5HWzAQ=
github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I= github.com/lufia/plan9stats v0.0.0-20211012122336-39d0f177ccd0/go.mod h1:zJYVVT2jmtg6P3p1VtQj7WsuWi/y4VnjVBn7F8KPB3I=
github.com/magiconair/properties v1.8.6 h1:5ibWZ6iY0NctNGWo87LalDlEZ6R41TqbbDamhfG/Qzo= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.6/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
github.com/maruel/natural v1.0.0 h1:C1GqgYygkdnwD1H1psoEVsPazXyUqRooEvX/XyWFFDg= github.com/maruel/natural v1.1.0 h1:2z1NgP/Vae+gYrtC0VuvrTJ6U35OuyUqDdfluLqMWuQ=
github.com/maruel/natural v1.0.0/go.mod h1:eFVhYCcUOfZFxXoDZam8Ktya72wa79fNC3lc/leA0DQ= github.com/maruel/natural v1.1.0/go.mod h1:eFVhYCcUOfZFxXoDZam8Ktya72wa79fNC3lc/leA0DQ=
github.com/marusama/semaphore/v2 v2.5.0 h1:o/1QJD9DBYOWRnDhPwDVAXQn6mQYD0gZaS1Tpx6DJGM= github.com/marusama/semaphore/v2 v2.5.0 h1:o/1QJD9DBYOWRnDhPwDVAXQn6mQYD0gZaS1Tpx6DJGM=
github.com/marusama/semaphore/v2 v2.5.0/go.mod h1:z9nMiNUekt/LTpTUQdpp+4sJeYqUGpwMHfW0Z8V8fnQ= github.com/marusama/semaphore/v2 v2.5.0/go.mod h1:z9nMiNUekt/LTpTUQdpp+4sJeYqUGpwMHfW0Z8V8fnQ=
github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y=
@ -218,17 +207,12 @@ github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Cl
github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4= github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/nwaples/rardecode v1.1.0 h1:vSxaY8vQhOcVr4mm5e8XllHWTiM4JF507A0Katqw7MQ= github.com/nwaples/rardecode v1.1.0 h1:vSxaY8vQhOcVr4mm5e8XllHWTiM4JF507A0Katqw7MQ=
github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0=
github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU=
github.com/olekukonko/tablewriter v0.0.2 h1:sq53g+DWf0J6/ceFUHpQ0nAEb6WgM++fq16MZ91cS6o= github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek=
github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ=
github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM=
github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c=
github.com/pelletier/go-toml/v2 v2.0.0 h1:P7Bq0SaI8nsexyay5UAyDo+ICWy5MQPgEZ5+l8JQTKo=
github.com/pelletier/go-toml/v2 v2.0.0/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
github.com/pierrec/lz4/v4 v4.1.2 h1:qvY3YFXRQE/XB8MlLzJH7mSzBs74eA2gg52YTk6jUPM= github.com/pierrec/lz4/v4 v4.1.2 h1:qvY3YFXRQE/XB8MlLzJH7mSzBs74eA2gg52YTk6jUPM=
github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@ -241,35 +225,37 @@ github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c h1:ncq/mPwQF
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE= github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c/go.mod h1:OmDBASR4679mdNQnz2pUhc2G8CO2JrUAVFDRBDP/hJE=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shirou/gopsutil/v3 v3.22.5 h1:atX36I/IXgFiB81687vSiBI5zrMsxcIBkP9cQMJQoJA= github.com/shirou/gopsutil/v3 v3.23.1 h1:a9KKO+kGLKEvcPIs4W62v0nu3sciVDOOOPUD0Hz7z/4=
github.com/shirou/gopsutil/v3 v3.22.5/go.mod h1:so9G9VzeHt/hsd0YwqprnjHnfARAUktauykSbr+y2gA= github.com/shirou/gopsutil/v3 v3.23.1/go.mod h1:NN6mnm5/0k8jw4cBfCnJtr5L7ErOTg18tMNpgFkn0hA=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk=
github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo= github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y=
github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo= github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w=
github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU=
github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA=
github.com/spf13/cobra v1.4.0 h1:y+wJpx64xcgO1V+RcnwW0LEHxTKRi2ZDPSBjWnrg88Q= github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY=
github.com/spf13/cobra v1.4.0/go.mod h1:Wo4iy3BUC+X2Fybo0PDqwJIv3dNRiZLHQymsfxlB84g=
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
github.com/spf13/viper v1.11.0 h1:7OX/1FS6n7jHD1zGrZTM7WtY13ZELRyosK4k93oPr44= github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU=
github.com/spf13/viper v1.11.0/go.mod h1:djo0X/bA5+tYVoCn+C7cAYJGcVn/qYLFTG8gdUsX7Zk= github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1 h1:5TQK59W5E3v0r2duFAb7P95B6hEeOyEnHRa8MjYSMTY=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/tklauser/go-sysconf v0.3.10/go.mod h1:C8XykCvCb+Gn0oNCWPIlcb0RuglQTYaQ2hGm7jmxEFk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/tklauser/numcpus v0.4.0/go.mod h1:1+UI3pD8NW14VMwdgJNJ1ESk2UnwhAnz5hMwiKKqXCQ= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
github.com/tklauser/go-sysconf v0.3.11/go.mod h1:GqXfhXY3kiPa0nAXPDIQIWzJbMCB7AmcWpGR8lSZfqI=
github.com/tklauser/numcpus v0.6.0/go.mod h1:FEZLMke0lhOUG6w2JadTzp0a+Nl8PF/GFkQ5UVIcaL4=
github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc= github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce h1:fb190+cK2Xz/dvi9Hv8eCYJYvIGUTN2/KLq1pT6CjEc=
github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4= github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce/go.mod h1:o8v6yHRoik09Xen7gje4m9ERNah1d1PPsVq1VEx9vE4=
github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
@ -285,11 +271,12 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg= github.com/yusufpapurcu/wmi v1.2.2 h1:KBNDSne4vP5mbSWnJbO+51IMOXJB67QiYCSBrubbPRg=
github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0= github.com/yusufpapurcu/wmi v1.2.2/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.4/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ=
go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ=
go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@ -302,9 +289,10 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f h1:OeJjE6G4dgCY4PIXvIRQbE8+RX+uXZyGhUy/ksMGJoc= golang.org/x/crypto v0.6.0 h1:qfktjS5LUO+fFKeJXZ+ikTRijMmljikvG68fpMMruSc=
golang.org/x/crypto v0.0.0-20220427172511-eb4f295cb31f/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -318,8 +306,8 @@ golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMk
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20191009234506-e7c1f5e7dbb8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9 h1:LRtI4W37N+KFebI/qV0OFiLUv4GLOWeEW5hn/KEJvxE= golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
golang.org/x/image v0.0.0-20220413100746-70e8d0d3baa9/go.mod h1:023OzeP/+EPmXeapQh35lcL3II3LrY8Ic+EFFKVhULM= golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@ -341,6 +329,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@ -374,8 +363,9 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20220412020605-290c469a71a5 h1:bRb386wvrE+oBNdF1d/Xh9mQrfQ4ecYhW5qJ5GvTGT4= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.6.0 h1:L4ZwwTvKW9gr0ZMS1yrHD9GZhIuVjOBBnaKH+SPQK0Q=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@ -395,6 +385,7 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -422,7 +413,6 @@ golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@ -432,20 +422,24 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -496,6 +490,7 @@ golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@ -589,24 +584,24 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.28.0 h1:w43yiav+6bVFTBQFZX0r7ipe9JQ1QsbMgHwbBziscLw= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.66.4 h1:SsAcf+mM7mRZo2nJNGt8mZCjG8ZRaNGMURJw7BsIST4= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.66.4/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= gopkg.in/natefinch/lumberjack.v2 v2.2.1 h1:bBRl1b0OH9s/DuPhuXpNl+VtCaJXFZ5/uEFST95x9zc=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

View File

@ -27,6 +27,7 @@ var (
cmdNotAllowed = []byte("Command not allowed.") cmdNotAllowed = []byte("Command not allowed.")
) )
//nolint:unparam
func wsErr(ws *websocket.Conn, r *http.Request, status int, err error) { func wsErr(ws *websocket.Conn, r *http.Request, status int, err error) {
txt := http.StatusText(status) txt := http.StatusText(status)
if err != nil || status >= 400 { if err != nil || status >= 400 {

View File

@ -44,7 +44,7 @@ func parseQueryFiles(r *http.Request, f *files.FileInfo, _ *users.User) ([]strin
return fileSlice, nil return fileSlice, nil
} }
//nolint: goconst // nolint: goconst,nolintlint
func parseQueryAlgorithm(r *http.Request) (string, archiver.Writer, error) { func parseQueryAlgorithm(r *http.Request) (string, archiver.Writer, error) {
// TODO: use enum // TODO: use enum
switch r.URL.Query().Get("algo") { switch r.URL.Query().Get("algo") {

View File

@ -27,22 +27,23 @@ func handleWithStaticData(w http.ResponseWriter, _ *http.Request, d *data, fSys
} }
data := map[string]interface{}{ data := map[string]interface{}{
"Name": d.settings.Branding.Name, "Name": d.settings.Branding.Name,
"DisableExternal": d.settings.Branding.DisableExternal, "DisableExternal": d.settings.Branding.DisableExternal,
"Color": d.settings.Branding.Color, "DisableUsedPercentage": d.settings.Branding.DisableUsedPercentage,
"BaseURL": d.server.BaseURL, "Color": d.settings.Branding.Color,
"Version": version.Version, "BaseURL": d.server.BaseURL,
"StaticURL": path.Join(d.server.BaseURL, "/static"), "Version": version.Version,
"Signup": d.settings.Signup, "StaticURL": path.Join(d.server.BaseURL, "/static"),
"NoAuth": d.settings.AuthMethod == auth.MethodNoAuth, "Signup": d.settings.Signup,
"AuthMethod": d.settings.AuthMethod, "NoAuth": d.settings.AuthMethod == auth.MethodNoAuth,
"LoginPage": auther.LoginPage(), "AuthMethod": d.settings.AuthMethod,
"CSS": false, "LoginPage": auther.LoginPage(),
"ReCaptcha": false, "CSS": false,
"Theme": d.settings.Branding.Theme, "ReCaptcha": false,
"EnableThumbs": d.server.EnableThumbnails, "Theme": d.settings.Branding.Theme,
"ResizePreview": d.server.ResizePreview, "EnableThumbs": d.server.EnableThumbnails,
"EnableExec": d.server.EnableExec, "ResizePreview": d.server.ResizePreview,
"EnableExec": d.server.EnableExec,
} }
if d.settings.Branding.Files != "" { if d.settings.Branding.Files != "" {

View File

@ -26,7 +26,7 @@ type modifyUserRequest struct {
func getUserID(r *http.Request) (uint, error) { func getUserID(r *http.Request) (uint, error) {
vars := mux.Vars(r) vars := mux.Vars(r)
i, err := strconv.ParseUint(vars["id"], 10, 0) //nolint:gomnd i, err := strconv.ParseUint(vars["id"], 10, 0)
if err != nil { if err != nil {
return 0, err return 0, err
} }
@ -142,7 +142,7 @@ var userPostHandler = withAdmin(func(w http.ResponseWriter, r *http.Request, d *
return http.StatusInternalServerError, err return http.StatusInternalServerError, err
} }
w.Header().Set("Location", "/settings/users/"+strconv.FormatUint(uint64(req.Data.ID), 10)) //nolint:gomnd w.Header().Set("Location", "/settings/users/"+strconv.FormatUint(uint64(req.Data.ID), 10))
return http.StatusCreated, nil return http.StatusCreated, nil
}) })

View File

@ -67,9 +67,9 @@ func parseUnixCommand(cmd string) ([]string, error) {
// returns the command and the arguments as an array. It // returns the command and the arguments as an array. It
// should be able to parse commonly used command lines. // should be able to parse commonly used command lines.
// Only basic syntax is supported: // Only basic syntax is supported:
// - spaces in double quotes are not token delimiters // - spaces in double quotes are not token delimiters
// - double quotes are escaped by either backspace or another double quote // - double quotes are escaped by either backspace or another double quote
// - except for the above case backspaces are path separators (not special) // - except for the above case backspaces are path separators (not special)
// //
// Many sources point out that escaping quotes using backslash can be unsafe. // Many sources point out that escaping quotes using backslash can be unsafe.
// Use two double quotes when possible. (Source: http://stackoverflow.com/a/31413730/2616179 ) // Use two double quotes when possible. (Source: http://stackoverflow.com/a/31413730/2616179 )

View File

@ -2,9 +2,10 @@ package settings
// Branding contains the branding settings of the app. // Branding contains the branding settings of the app.
type Branding struct { type Branding struct {
Name string `json:"name"` Name string `json:"name"`
DisableExternal bool `json:"disableExternal"` DisableExternal bool `json:"disableExternal"`
Files string `json:"files"` DisableUsedPercentage bool `json:"disableUsedPercentage"`
Theme string `json:"theme"` Files string `json:"files"`
Color string `json:"color"` Theme string `json:"theme"`
Color string `json:"color"`
} }

View File

@ -3,20 +3,23 @@ module github.com/filebrowser/filebrowser/v2/tools
go 1.18 go 1.18
require ( require (
github.com/golangci/golangci-lint v1.46.2 github.com/golangci/golangci-lint v1.51.1
golang.org/x/tools v0.1.11-0.20220316014157-77aa08bb151a golang.org/x/tools v0.6.0
) )
require ( require (
4d63.com/gochecknoglobals v0.1.0 // indirect 4d63.com/gocheckcompilerdirectives v1.2.1 // indirect
github.com/Antonboom/errname v0.1.6 // indirect 4d63.com/gochecknoglobals v0.2.1 // indirect
github.com/Abirdcfly/dupword v0.0.9 // indirect
github.com/Antonboom/errname v0.1.7 // indirect
github.com/Antonboom/nilnil v0.1.1 // indirect github.com/Antonboom/nilnil v0.1.1 // indirect
github.com/BurntSushi/toml v1.1.0 // indirect github.com/BurntSushi/toml v1.2.1 // indirect
github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect github.com/Djarvur/go-err113 v0.0.0-20210108212216-aea10b59be24 // indirect
github.com/GaijinEntertainment/go-exhaustruct/v2 v2.1.0 // indirect github.com/GaijinEntertainment/go-exhaustruct/v2 v2.3.0 // indirect
github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect
github.com/OpenPeeDeeP/depguard v1.1.0 // indirect github.com/OpenPeeDeeP/depguard v1.1.1 // indirect
github.com/alexkohler/prealloc v1.0.0 // indirect github.com/alexkohler/prealloc v1.0.0 // indirect
github.com/alingse/asasalint v0.0.11 // indirect
github.com/ashanbrown/forbidigo v1.3.0 // indirect github.com/ashanbrown/forbidigo v1.3.0 // indirect
github.com/ashanbrown/makezero v1.1.1 // indirect github.com/ashanbrown/makezero v1.1.1 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
@ -28,140 +31,151 @@ require (
github.com/butuzov/ireturn v0.1.1 // indirect github.com/butuzov/ireturn v0.1.1 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/charithe/durationcheck v0.0.9 // indirect github.com/charithe/durationcheck v0.0.9 // indirect
github.com/chavacava/garif v0.0.0-20220316182200-5cad0b5181d4 // indirect github.com/chavacava/garif v0.0.0-20221024190013-b3ef35877348 // indirect
github.com/daixiang0/gci v0.3.3 // indirect github.com/curioswitch/go-reassign v0.2.0 // indirect
github.com/daixiang0/gci v0.9.0 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect github.com/davecgh/go-spew v1.1.1 // indirect
github.com/denis-tingaikin/go-header v0.4.3 // indirect github.com/denis-tingaikin/go-header v0.4.3 // indirect
github.com/esimonov/ifshort v1.0.4 // indirect github.com/esimonov/ifshort v1.0.4 // indirect
github.com/ettle/strcase v0.1.1 // indirect github.com/ettle/strcase v0.1.1 // indirect
github.com/fatih/color v1.13.0 // indirect github.com/fatih/color v1.14.1 // indirect
github.com/fatih/structtag v1.2.0 // indirect github.com/fatih/structtag v1.2.0 // indirect
github.com/firefart/nonamedreturns v1.0.1 // indirect github.com/firefart/nonamedreturns v1.0.4 // indirect
github.com/fsnotify/fsnotify v1.5.4 // indirect github.com/fsnotify/fsnotify v1.5.4 // indirect
github.com/fzipp/gocyclo v0.5.1 // indirect github.com/fzipp/gocyclo v0.6.0 // indirect
github.com/go-critic/go-critic v0.6.3 // indirect github.com/go-critic/go-critic v0.6.5 // indirect
github.com/go-toolsmith/astcast v1.0.0 // indirect github.com/go-toolsmith/astcast v1.0.0 // indirect
github.com/go-toolsmith/astcopy v1.0.0 // indirect github.com/go-toolsmith/astcopy v1.0.3 // indirect
github.com/go-toolsmith/astequal v1.0.1 // indirect github.com/go-toolsmith/astequal v1.0.3 // indirect
github.com/go-toolsmith/astfmt v1.0.0 // indirect github.com/go-toolsmith/astfmt v1.0.0 // indirect
github.com/go-toolsmith/astp v1.0.0 // indirect github.com/go-toolsmith/astp v1.0.0 // indirect
github.com/go-toolsmith/strparse v1.0.0 // indirect github.com/go-toolsmith/strparse v1.0.0 // indirect
github.com/go-toolsmith/typep v1.0.2 // indirect github.com/go-toolsmith/typep v1.0.2 // indirect
github.com/go-xmlfmt/xmlfmt v0.0.0-20191208150333-d5b6f63a941b // indirect github.com/go-xmlfmt/xmlfmt v1.1.2 // indirect
github.com/gobwas/glob v0.2.3 // indirect github.com/gobwas/glob v0.2.3 // indirect
github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/flock v0.8.1 // indirect
github.com/golang/protobuf v1.5.2 // indirect github.com/golang/protobuf v1.5.2 // indirect
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2 // indirect
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a // indirect
github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect github.com/golangci/go-misc v0.0.0-20220329215616-d24fe342adfe // indirect
github.com/golangci/gofmt v0.0.0-20190930125516-244bba706f1a // indirect github.com/golangci/gofmt v0.0.0-20220901101216-f2edd75033f2 // indirect
github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect github.com/golangci/lint-1 v0.0.0-20191013205115-297bf364a8e0 // indirect
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca // indirect
github.com/golangci/misspell v0.3.5 // indirect github.com/golangci/misspell v0.4.0 // indirect
github.com/golangci/revgrep v0.0.0-20210930125155-c22e5001d4f2 // indirect github.com/golangci/revgrep v0.0.0-20220804021717-745bb2f7c2e6 // indirect
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4 // indirect
github.com/google/go-cmp v0.5.7 // indirect github.com/google/go-cmp v0.5.9 // indirect
github.com/gordonklaus/ineffassign v0.0.0-20210914165742-4cc7213b9bc8 // indirect github.com/gordonklaus/ineffassign v0.0.0-20230107090616-13ace0543b28 // indirect
github.com/gostaticanalysis/analysisutil v0.7.1 // indirect github.com/gostaticanalysis/analysisutil v0.7.1 // indirect
github.com/gostaticanalysis/comment v1.4.2 // indirect github.com/gostaticanalysis/comment v1.4.2 // indirect
github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect github.com/gostaticanalysis/forcetypeassert v0.1.0 // indirect
github.com/gostaticanalysis/nilerr v0.1.1 // indirect github.com/gostaticanalysis/nilerr v0.1.1 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-version v1.4.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect
github.com/hexops/gotextdiff v1.0.3 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect github.com/inconshreveable/mousetrap v1.0.1 // indirect
github.com/jgautheron/goconst v1.5.1 // indirect github.com/jgautheron/goconst v1.5.1 // indirect
github.com/jingyugao/rowserrcheck v1.1.1 // indirect github.com/jingyugao/rowserrcheck v1.1.1 // indirect
github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect github.com/jirfag/go-printf-func-name v0.0.0-20200119135958-7558a9eaa5af // indirect
github.com/julz/importas v0.1.0 // indirect github.com/julz/importas v0.1.0 // indirect
github.com/kisielk/errcheck v1.6.0 // indirect github.com/junk1tm/musttag v0.4.4 // indirect
github.com/kisielk/errcheck v1.6.3 // indirect
github.com/kisielk/gotool v1.0.0 // indirect github.com/kisielk/gotool v1.0.0 // indirect
github.com/kulti/thelper v0.6.2 // indirect github.com/kkHAIKE/contextcheck v1.1.3 // indirect
github.com/kunwardeep/paralleltest v1.0.3 // indirect github.com/kulti/thelper v0.6.3 // indirect
github.com/kyoh86/exportloopref v0.1.8 // indirect github.com/kunwardeep/paralleltest v1.0.6 // indirect
github.com/kyoh86/exportloopref v0.1.11 // indirect
github.com/ldez/gomoddirectives v0.2.3 // indirect github.com/ldez/gomoddirectives v0.2.3 // indirect
github.com/ldez/tagliatelle v0.3.1 // indirect github.com/ldez/tagliatelle v0.4.0 // indirect
github.com/leonklingele/grouper v1.1.0 // indirect github.com/leonklingele/grouper v1.1.1 // indirect
github.com/lufeee/execinquery v1.2.1 // indirect github.com/lufeee/execinquery v1.2.1 // indirect
github.com/magiconair/properties v1.8.6 // indirect github.com/magiconair/properties v1.8.6 // indirect
github.com/maratori/testpackage v1.0.1 // indirect github.com/maratori/testableexamples v1.0.0 // indirect
github.com/maratori/testpackage v1.1.0 // indirect
github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect github.com/matoous/godox v0.0.0-20210227103229-6504466cf951 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect github.com/mattn/go-isatty v0.0.17 // indirect
github.com/mattn/go-runewidth v0.0.9 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mbilski/exhaustivestruct v1.2.0 // indirect github.com/mbilski/exhaustivestruct v1.2.0 // indirect
github.com/mgechev/revive v1.2.1 // indirect github.com/mgechev/revive v1.2.5 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect
github.com/moricho/tparallel v0.2.1 // indirect github.com/moricho/tparallel v0.2.1 // indirect
github.com/nakabonne/nestif v0.3.1 // indirect github.com/nakabonne/nestif v0.3.1 // indirect
github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect github.com/nbutton23/zxcvbn-go v0.0.0-20210217022336-fa2cb2858354 // indirect
github.com/nishanths/exhaustive v0.7.11 // indirect github.com/nishanths/exhaustive v0.9.5 // indirect
github.com/nishanths/predeclared v0.2.2 // indirect github.com/nishanths/predeclared v0.2.2 // indirect
github.com/nunnatsa/ginkgolinter v0.8.1 // indirect
github.com/olekukonko/tablewriter v0.0.5 // indirect github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.0 // indirect github.com/pelletier/go-toml/v2 v2.0.5 // indirect
github.com/phayes/checkstyle v0.0.0-20170904204023-bfd46e6a821d // indirect
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/polyfloyd/go-errorlint v1.0.0 // indirect github.com/polyfloyd/go-errorlint v1.0.6 // indirect
github.com/prometheus/client_golang v1.12.1 // indirect github.com/prometheus/client_golang v1.12.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect github.com/prometheus/procfs v0.7.3 // indirect
github.com/quasilyte/go-ruleguard v0.3.16-0.20220213074421-6aa060fab41a // indirect github.com/quasilyte/go-ruleguard v0.3.18 // indirect
github.com/quasilyte/gogrep v0.0.0-20220120141003-628d8b3623b5 // indirect github.com/quasilyte/gogrep v0.0.0-20220828223005-86e4605de09f // indirect
github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect github.com/quasilyte/regex/syntax v0.0.0-20200407221936-30656e2c4a95 // indirect
github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect github.com/quasilyte/stdinfo v0.0.0-20220114132959-f7386bf02567 // indirect
github.com/ryancurrah/gomodguard v1.2.3 // indirect github.com/ryancurrah/gomodguard v1.3.0 // indirect
github.com/ryanrolds/sqlclosecheck v0.3.0 // indirect github.com/ryanrolds/sqlclosecheck v0.4.0 // indirect
github.com/sanposhiho/wastedassign/v2 v2.0.6 // indirect github.com/sanposhiho/wastedassign/v2 v2.0.7 // indirect
github.com/securego/gosec/v2 v2.11.0 // indirect github.com/sashamelentyev/interfacebloat v1.1.0 // indirect
github.com/sashamelentyev/usestdlibvars v1.21.1 // indirect
github.com/securego/gosec/v2 v2.14.0 // indirect
github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect github.com/shazow/go-diff v0.0.0-20160112020656-b6b7b6733b8c // indirect
github.com/sirupsen/logrus v1.8.1 // indirect github.com/sirupsen/logrus v1.9.0 // indirect
github.com/sivchari/containedctx v1.0.2 // indirect github.com/sivchari/containedctx v1.0.2 // indirect
github.com/sivchari/tenv v1.5.0 // indirect github.com/sivchari/nosnakecase v1.7.0 // indirect
github.com/sivchari/tenv v1.7.1 // indirect
github.com/sonatard/noctx v0.0.1 // indirect github.com/sonatard/noctx v0.0.1 // indirect
github.com/sourcegraph/go-diff v0.6.1 // indirect github.com/sourcegraph/go-diff v0.7.0 // indirect
github.com/spf13/afero v1.8.2 // indirect github.com/spf13/afero v1.8.2 // indirect
github.com/spf13/cast v1.4.1 // indirect github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/cobra v1.4.0 // indirect github.com/spf13/cobra v1.6.1 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/pflag v1.0.5 // indirect
github.com/spf13/viper v1.11.0 // indirect github.com/spf13/viper v1.12.0 // indirect
github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect github.com/ssgreg/nlreturn/v2 v2.2.1 // indirect
github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect github.com/stbenjam/no-sprintf-host-port v0.1.1 // indirect
github.com/stretchr/objx v0.1.1 // indirect github.com/stretchr/objx v0.5.0 // indirect
github.com/stretchr/testify v1.7.1 // indirect github.com/stretchr/testify v1.8.1 // indirect
github.com/subosito/gotenv v1.2.0 // indirect github.com/subosito/gotenv v1.4.1 // indirect
github.com/sylvia7788/contextcheck v1.0.4 // indirect github.com/t-yuki/gocover-cobertura v0.0.0-20180217150009-aaee18c8195c // indirect
github.com/tdakkota/asciicheck v0.1.1 // indirect github.com/tdakkota/asciicheck v0.1.1 // indirect
github.com/tetafro/godot v1.4.11 // indirect github.com/tetafro/godot v1.4.11 // indirect
github.com/timakin/bodyclose v0.0.0-20210704033933-f49887972144 // indirect github.com/timakin/bodyclose v0.0.0-20221125081123-e39cf3fc478e // indirect
github.com/tomarrell/wrapcheck/v2 v2.6.1 // indirect github.com/timonwong/loggercheck v0.9.3 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.0 // indirect github.com/tomarrell/wrapcheck/v2 v2.8.0 // indirect
github.com/tommy-muehle/go-mnd/v2 v2.5.1 // indirect
github.com/ultraware/funlen v0.0.3 // indirect github.com/ultraware/funlen v0.0.3 // indirect
github.com/ultraware/whitespace v0.0.5 // indirect github.com/ultraware/whitespace v0.0.5 // indirect
github.com/uudashr/gocognit v1.0.5 // indirect github.com/uudashr/gocognit v1.0.6 // indirect
github.com/yagipy/maintidx v1.0.0 // indirect github.com/yagipy/maintidx v1.0.0 // indirect
github.com/yeya24/promlinter v0.2.0 // indirect github.com/yeya24/promlinter v0.2.0 // indirect
gitlab.com/bosi/decorder v0.2.1 // indirect gitlab.com/bosi/decorder v0.2.3 // indirect
golang.org/x/exp/typeparams v0.0.0-20220218215828-6cf2b201936e // indirect go.uber.org/atomic v1.7.0 // indirect
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect go.uber.org/multierr v1.6.0 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect go.uber.org/zap v1.17.0 // indirect
golang.org/x/sys v0.0.0-20220422013727-9388b58f7150 // indirect golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e // indirect
golang.org/x/text v0.3.7 // indirect golang.org/x/exp/typeparams v0.0.0-20221208152030-732eee02a75a // indirect
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect golang.org/x/mod v0.8.0 // indirect
golang.org/x/sync v0.1.0 // indirect
golang.org/x/sys v0.5.0 // indirect
golang.org/x/text v0.6.0 // indirect
google.golang.org/protobuf v1.28.0 // indirect google.golang.org/protobuf v1.28.0 // indirect
gopkg.in/ini.v1 v1.66.4 // indirect gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
honnef.co/go/tools v0.3.1 // indirect honnef.co/go/tools v0.4.0 // indirect
mvdan.cc/gofumpt v0.3.1 // indirect mvdan.cc/gofumpt v0.4.0 // indirect
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed // indirect
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b // indirect
mvdan.cc/unparam v0.0.0-20211214103731-d0ef000c54e5 // indirect mvdan.cc/unparam v0.0.0-20221223090309-7455f1af531d // indirect
) )

File diff suppressed because it is too large Load Diff

View File

@ -55,6 +55,7 @@ var checkableFields = []string{
// Clean cleans up a user and verifies if all its fields // Clean cleans up a user and verifies if all its fields
// are alright to be saved. // are alright to be saved.
//
//nolint:gocyclo //nolint:gocyclo
func (u *User) Clean(baseScope string, fields ...string) error { func (u *User) Clean(baseScope string, fields ...string) error {
if len(fields) == 0 { if len(fields) == 0 {