the great refactoring
This commit is contained in:
parent
0f4ee60246
commit
344ba5934b
18 changed files with 111 additions and 241 deletions
100
Makefile
100
Makefile
|
@ -1,100 +0,0 @@
|
|||
-include environ.inc
|
||||
.PHONY: help deps dev build install image release test clean clean-all
|
||||
|
||||
export CGO_ENABLED=0
|
||||
VERSION=$(shell git describe --abbrev=0 --tags 2>/dev/null || echo "$VERSION")
|
||||
COMMIT=$(shell git rev-parse --short HEAD || echo "$COMMIT")
|
||||
BRANCH=$(shell git rev-parse --abbrev-ref HEAD)
|
||||
BUILD=$(shell git show -s --pretty=format:%cI)
|
||||
GOCMD=go
|
||||
GOVER=$(shell go version | grep -o -E 'go1\.17\.[0-9]+')
|
||||
|
||||
DESTDIR=/usr/local/bin
|
||||
|
||||
ifeq ($(BRANCH), master)
|
||||
IMAGE := prologic/tube
|
||||
TAG := latest
|
||||
else
|
||||
IMAGE := prologic/tube
|
||||
TAG := dev
|
||||
endif
|
||||
|
||||
all: help
|
||||
|
||||
.PHONY: help
|
||||
|
||||
help: ## Show this help message
|
||||
@echo "tube - a Youtube-like (without censorship and features you don't need!) Video Sharing App"
|
||||
@awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[$$()% a-zA-Z_-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST)
|
||||
|
||||
preflight: ## Run preflight checks to ensure you have the right build tools
|
||||
@./preflight.sh
|
||||
|
||||
deps: ## Install any dependencies required
|
||||
|
||||
dev : DEBUG=1
|
||||
dev : server ## Build debug version of tube
|
||||
@./tube
|
||||
|
||||
server: generate ## Build the yarnd server
|
||||
ifeq ($(DEBUG), 1)
|
||||
@echo "Building in debug mode..."
|
||||
@$(GOCMD) build $(FLAGS) -tags "netgo static_build" -installsuffix netgo \
|
||||
-ldflags "\
|
||||
-X $(shell go list).Version=$(VERSION) \
|
||||
-X $(shell go list).Commit=$(COMMIT) \
|
||||
-X $(shell go list).Build=$(BUILD)" \
|
||||
./cmd/tube/...
|
||||
else
|
||||
@$(GOCMD) build $(FLAGS) -tags "netgo static_build" -installsuffix netgo \
|
||||
-ldflags "-w \
|
||||
-X $(shell go list).Version=$(VERSION) \
|
||||
-X $(shell go list).Commit=$(COMMIT) \
|
||||
-X $(shell go list).Build=$(BUILD)" \
|
||||
./cmd/tube/...
|
||||
endif
|
||||
|
||||
build: server ## Build the server
|
||||
|
||||
generate: ## Genereate any code required by the build
|
||||
@if [ x"$(DEBUG)" = x"1" ]; then \
|
||||
echo 'Running in debug mode...'; \
|
||||
fi
|
||||
|
||||
install: build ## Install tube to $DESTDIR
|
||||
@install -D -m 755 tube $(DESTDIR)/tube
|
||||
|
||||
ifeq ($(PUBLISH), 1)
|
||||
image: generate ## Build the Docker image
|
||||
@docker buildx build \
|
||||
--build-arg VERSION="$(VERSION)" \
|
||||
--build-arg COMMIT="$(COMMIT)" \
|
||||
--build-arg BUILD="$(BUILD)" \
|
||||
--platform linux/amd64,linux/arm64 --push -t $(IMAGE):$(TAG) .
|
||||
else
|
||||
image: generate
|
||||
@docker build \
|
||||
--build-arg VERSION="$(VERSION)" \
|
||||
--build-arg COMMIT="$(COMMIT)" \
|
||||
--build-arg BUILD="$(BUILD)" \
|
||||
-t $(IMAGE):$(TAG) .
|
||||
endif
|
||||
|
||||
release: generate ## Release a new version to Gitea
|
||||
@./tools/release.sh
|
||||
|
||||
fmt: ## Format sources fiels
|
||||
@$(GOCMD) fmt ./...
|
||||
|
||||
test: ## Run test suite
|
||||
@CGO_ENABLED=1 $(GOCMD) test -v -cover -race ./...
|
||||
|
||||
coverage: ## Get test coverage report
|
||||
@CGO_ENABLED=1 $(GOCMD) test -v -cover -race -cover -coverprofile=coverage.out ./...
|
||||
@$(GOCMD) tool cover -html=coverage.out
|
||||
|
||||
clean: ## Remove untracked files
|
||||
@git clean -f -d -x
|
||||
|
||||
clean-all: ## Remove untracked and Git ignores files
|
||||
@git clean -f -d -X
|
20
app/app.go
20
app/app.go
|
@ -11,15 +11,15 @@ import (
|
|||
"os"
|
||||
"path"
|
||||
"path/filepath"
|
||||
"sort"
|
||||
//"sort"
|
||||
"strings"
|
||||
|
||||
"git.mills.io/prologic/tube/app/middleware"
|
||||
"git.mills.io/prologic/tube/importers"
|
||||
"git.mills.io/prologic/tube/media"
|
||||
"git.mills.io/prologic/tube/static"
|
||||
"git.mills.io/prologic/tube/templates"
|
||||
"git.mills.io/prologic/tube/utils"
|
||||
"surdeus.su/serv/tube/app/middleware"
|
||||
//"surdeus.su/serv/tube/importers"
|
||||
"surdeus.su/serv/tube/media"
|
||||
"surdeus.su/serv/tube/static"
|
||||
"surdeus.su/serv/tube/templates"
|
||||
"surdeus.su/serv/tube/utils"
|
||||
|
||||
securejoin "github.com/cyphar/filepath-securejoin"
|
||||
"github.com/dustin/go-humanize"
|
||||
|
@ -109,7 +109,7 @@ func NewApp(cfg *Config) (*App, error) {
|
|||
} else {
|
||||
r.HandleFunc("/upload", middleware.OptionallyRequireAdminAuth(a.uploadHandler, authPassword)).Methods("GET", "OPTIONS", "POST")
|
||||
}
|
||||
r.HandleFunc("/import", a.importHandler).Methods("GET", "OPTIONS", "POST")
|
||||
//r.HandleFunc("/import", a.importHandler).Methods("GET", "OPTIONS", "POST")
|
||||
r.HandleFunc("/v/{id}.mp4", a.videoHandler).Methods("GET")
|
||||
r.HandleFunc("/v/{prefix}/{id}.mp4", a.videoHandler).Methods("GET")
|
||||
r.HandleFunc("/t/{id}", a.thumbHandler).Methods("GET")
|
||||
|
@ -427,7 +427,7 @@ func (a *App) uploadHandler(w http.ResponseWriter, r *http.Request) {
|
|||
}
|
||||
|
||||
// HTTP handler for /import
|
||||
func (a *App) importHandler(w http.ResponseWriter, r *http.Request) {
|
||||
/*func (a *App) importHandler(w http.ResponseWriter, r *http.Request) {
|
||||
if r.Method == "GET" {
|
||||
ctx := &struct {
|
||||
Config *Config
|
||||
|
@ -621,7 +621,7 @@ func (a *App) importHandler(w http.ResponseWriter, r *http.Request) {
|
|||
} else {
|
||||
http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
// HTTP handler for /v/id
|
||||
func (a *App) pageHandler(w http.ResponseWriter, r *http.Request) {
|
||||
|
|
|
@ -9,9 +9,11 @@ import (
|
|||
"go.mills.io/bitcask/v2"
|
||||
)
|
||||
|
||||
|
||||
|
||||
// BitcaskStore ...
|
||||
type BitcaskStore struct {
|
||||
db bitcask.DB
|
||||
db *bitcask.Bitcask
|
||||
}
|
||||
|
||||
// NewBitcaskStore ...
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
|
||||
<a name="1.2.0"></a>
|
||||
## [1.2.0](https://git.mills.io/prologic/tube/compare/v1.1.13...1.2.0) (2023-01-21)
|
||||
## [1.2.0](https://surdeus.su/serv/tube/compare/v1.1.13...1.2.0) (2023-01-21)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -30,7 +30,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.13"></a>
|
||||
## [v1.1.13](https://git.mills.io/prologic/tube/compare/v1.1.12...v1.1.13) (2022-08-01)
|
||||
## [v1.1.13](https://surdeus.su/serv/tube/compare/v1.1.12...v1.1.13) (2022-08-01)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -54,7 +54,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.12"></a>
|
||||
## [v1.1.12](https://git.mills.io/prologic/tube/compare/v1.1.11...v1.1.12) (2020-07-08)
|
||||
## [v1.1.12](https://surdeus.su/serv/tube/compare/v1.1.11...v1.1.12) (2020-07-08)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -76,7 +76,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.11"></a>
|
||||
## [v1.1.11](https://git.mills.io/prologic/tube/compare/v1.1.10...v1.1.11) (2020-04-02)
|
||||
## [v1.1.11](https://surdeus.su/serv/tube/compare/v1.1.10...v1.1.11) (2020-04-02)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -91,11 +91,11 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.10"></a>
|
||||
## [v1.1.10](https://git.mills.io/prologic/tube/compare/v1.1.9...v1.1.10) (2020-04-01)
|
||||
## [v1.1.10](https://surdeus.su/serv/tube/compare/v1.1.9...v1.1.10) (2020-04-01)
|
||||
|
||||
|
||||
<a name="v1.1.9"></a>
|
||||
## [v1.1.9](https://git.mills.io/prologic/tube/compare/v1.1.8...v1.1.9) (2020-03-31)
|
||||
## [v1.1.9](https://surdeus.su/serv/tube/compare/v1.1.8...v1.1.9) (2020-03-31)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -115,7 +115,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.8"></a>
|
||||
## [v1.1.8](https://git.mills.io/prologic/tube/compare/v1.1.7...v1.1.8) (2020-03-28)
|
||||
## [v1.1.8](https://surdeus.su/serv/tube/compare/v1.1.7...v1.1.8) (2020-03-28)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -123,15 +123,15 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.7"></a>
|
||||
## [v1.1.7](https://git.mills.io/prologic/tube/compare/v1.1.6...v1.1.7) (2020-03-28)
|
||||
## [v1.1.7](https://surdeus.su/serv/tube/compare/v1.1.6...v1.1.7) (2020-03-28)
|
||||
|
||||
|
||||
<a name="v1.1.6"></a>
|
||||
## [v1.1.6](https://git.mills.io/prologic/tube/compare/v1.1.5...v1.1.6) (2020-03-28)
|
||||
## [v1.1.6](https://surdeus.su/serv/tube/compare/v1.1.5...v1.1.6) (2020-03-28)
|
||||
|
||||
|
||||
<a name="v1.1.5"></a>
|
||||
## [v1.1.5](https://git.mills.io/prologic/tube/compare/v1.1.4...v1.1.5) (2020-03-28)
|
||||
## [v1.1.5](https://surdeus.su/serv/tube/compare/v1.1.4...v1.1.5) (2020-03-28)
|
||||
|
||||
### Features
|
||||
|
||||
|
@ -141,7 +141,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.4"></a>
|
||||
## [v1.1.4](https://git.mills.io/prologic/tube/compare/v1.1.3...v1.1.4) (2020-03-28)
|
||||
## [v1.1.4](https://surdeus.su/serv/tube/compare/v1.1.3...v1.1.4) (2020-03-28)
|
||||
|
||||
### Features
|
||||
|
||||
|
@ -151,7 +151,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.3"></a>
|
||||
## [v1.1.3](https://git.mills.io/prologic/tube/compare/v1.1.2...v1.1.3) (2020-03-27)
|
||||
## [v1.1.3](https://surdeus.su/serv/tube/compare/v1.1.2...v1.1.3) (2020-03-27)
|
||||
|
||||
### Features
|
||||
|
||||
|
@ -165,7 +165,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.2"></a>
|
||||
## [v1.1.2](https://git.mills.io/prologic/tube/compare/v1.1.1...v1.1.2) (2020-03-25)
|
||||
## [v1.1.2](https://surdeus.su/serv/tube/compare/v1.1.1...v1.1.2) (2020-03-25)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -187,7 +187,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.1"></a>
|
||||
## [v1.1.1](https://git.mills.io/prologic/tube/compare/v1.1.0...v1.1.1) (2020-03-23)
|
||||
## [v1.1.1](https://surdeus.su/serv/tube/compare/v1.1.0...v1.1.1) (2020-03-23)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
|
@ -203,11 +203,11 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v1.1.0"></a>
|
||||
## [v1.1.0](https://git.mills.io/prologic/tube/compare/v1.0.0...v1.1.0) (2019-08-08)
|
||||
## [v1.1.0](https://surdeus.su/serv/tube/compare/v1.0.0...v1.1.0) (2019-08-08)
|
||||
|
||||
|
||||
<a name="v1.0.0"></a>
|
||||
## [v1.0.0](https://git.mills.io/prologic/tube/compare/v0.2.0...v1.0.0) (2019-08-08)
|
||||
## [v1.0.0](https://surdeus.su/serv/tube/compare/v0.2.0...v1.0.0) (2019-08-08)
|
||||
|
||||
### Updates
|
||||
|
||||
|
@ -215,7 +215,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v0.2.0"></a>
|
||||
## [v0.2.0](https://git.mills.io/prologic/tube/compare/v0.1.0...v0.2.0) (2019-08-08)
|
||||
## [v0.2.0](https://surdeus.su/serv/tube/compare/v0.1.0...v0.2.0) (2019-08-08)
|
||||
|
||||
### Updates
|
||||
|
||||
|
@ -223,7 +223,7 @@ that Sandstorm app metadata is supposed to be less than 1 MB total, so I optimiz
|
|||
|
||||
|
||||
<a name="v0.1.0"></a>
|
||||
## [v0.1.0](https://git.mills.io/prologic/tube/compare/v0.0.0...v0.1.0) (2019-07-03)
|
||||
## [v0.1.0](https://surdeus.su/serv/tube/compare/v0.0.0...v0.1.0) (2019-07-03)
|
||||
|
||||
|
||||
<a name="v0.0.0"></a>
|
|
@ -8,8 +8,8 @@ import (
|
|||
log "github.com/sirupsen/logrus"
|
||||
flag "github.com/spf13/pflag"
|
||||
|
||||
"git.mills.io/prologic/tube"
|
||||
"git.mills.io/prologic/tube/app"
|
||||
"surdeus.su/serv/tube"
|
||||
"surdeus.su/serv/tube/app"
|
||||
)
|
||||
|
||||
var (
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
],
|
||||
"server": {
|
||||
"host": "0.0.0.0",
|
||||
"port": 8000,
|
||||
"port": 8080,
|
||||
"store_path": "tube.db",
|
||||
"upload_path": "uploads",
|
||||
"preserve_upload_filename": false,
|
||||
|
@ -24,12 +24,12 @@
|
|||
},
|
||||
"feed": {
|
||||
"external_url": "",
|
||||
"title": "Feed Title",
|
||||
"title": "Feed",
|
||||
"link": "http://your-url.example/about",
|
||||
"description": "Feed Description",
|
||||
"author": {
|
||||
"name": "Author Name",
|
||||
"email": "author@somewhere.example"
|
||||
"name": "Surdeus",
|
||||
"email": "surdeus@gmail.com"
|
||||
},
|
||||
"copyright": "Copyright Text"
|
||||
},
|
||||
|
|
38
go.mod
38
go.mod
|
@ -1,41 +1,39 @@
|
|||
module git.mills.io/prologic/tube
|
||||
module surdeus.su/serv/tube
|
||||
|
||||
go 1.22
|
||||
go 1.23.1
|
||||
|
||||
require (
|
||||
git.mills.io/prologic/vimeodl v0.0.0-20210827153510-f28ed0158ec3
|
||||
github.com/Andreychik32/ytdl v1.0.4
|
||||
github.com/cyphar/filepath-securejoin v0.2.3
|
||||
github.com/dhowden/tag v0.0.0-20220618230019-adf36e896086
|
||||
github.com/cyphar/filepath-securejoin v0.3.6
|
||||
github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8
|
||||
github.com/dustin/go-humanize v1.0.1
|
||||
github.com/fsnotify/fsnotify v1.7.0
|
||||
github.com/gorilla/handlers v1.5.1
|
||||
github.com/gorilla/mux v1.8.0
|
||||
github.com/fsnotify/fsnotify v1.8.0
|
||||
github.com/gorilla/handlers v1.5.2
|
||||
github.com/gorilla/mux v1.8.1
|
||||
github.com/kkdai/youtube v1.2.4
|
||||
github.com/lithammer/shortuuid/v3 v3.0.7
|
||||
github.com/sirupsen/logrus v1.9.3
|
||||
github.com/spf13/pflag v1.0.5
|
||||
github.com/wybiral/feeds v1.1.1
|
||||
go.mills.io/bitcask/v2 v2.0.3
|
||||
go.mills.io/bitcask/v2 v2.1.1
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/VividCortex/ewma v1.1.1 // indirect
|
||||
github.com/abcum/lcp v0.0.0-20201209214815-7a3f3840be81 // indirect
|
||||
github.com/antchfx/jsonquery v1.3.1 // indirect
|
||||
github.com/antchfx/xpath v1.2.2 // indirect
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
|
||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||
github.com/gofrs/flock v0.8.1 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/google/uuid v1.3.0 // indirect
|
||||
github.com/google/uuid v1.2.0 // indirect
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.0.0 // indirect
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
||||
github.com/kr/pretty v0.3.0 // indirect
|
||||
github.com/kr/pretty v0.3.1 // indirect
|
||||
github.com/mattetti/filebuffer v1.0.1 // indirect
|
||||
github.com/mattn/go-colorable v0.1.13 // indirect
|
||||
github.com/mattn/go-isatty v0.0.17 // indirect
|
||||
github.com/mattn/go-runewidth v0.0.9 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/rs/zerolog v1.28.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
||||
golang.org/x/sys v0.14.0 // indirect
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
|
||||
github.com/vbauerster/mpb/v5 v5.2.4 // indirect
|
||||
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect
|
||||
golang.org/x/sys v0.20.0 // indirect
|
||||
)
|
||||
|
|
118
go.sum
118
go.sum
|
@ -1,51 +1,38 @@
|
|||
git.mills.io/prologic/vimeodl v0.0.0-20210827153510-f28ed0158ec3 h1:FjII4Z7ZaQgLP3cf3702tx1du0Pd+23TCS+/9nurMEo=
|
||||
git.mills.io/prologic/vimeodl v0.0.0-20210827153510-f28ed0158ec3/go.mod h1:Y6WELJ/Od3MqvFz/CvomULeQc3kSGsTPaC2JPMk7SHM=
|
||||
github.com/Andreychik32/ytdl v1.0.4 h1:+eWTsqmjAOYWJFweIGIegvtO7L8c4NCvgY0CntcHRn8=
|
||||
github.com/Andreychik32/ytdl v1.0.4/go.mod h1:H7UdaZWV/n1yjtFdo3Y7/zYCDqr/x4e+I10GFqWo07c=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/VividCortex/ewma v1.1.1 h1:MnEK4VOv6n0RSY4vtRe3h11qjxL3+t0B8yOL8iMXdcM=
|
||||
github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA=
|
||||
github.com/abcum/lcp v0.0.0-20201209214815-7a3f3840be81 h1:uHogIJ9bXH75ZYrXnVShHIyywFiUZ7OOabwd9Sfd8rw=
|
||||
github.com/abcum/lcp v0.0.0-20201209214815-7a3f3840be81/go.mod h1:6ZvnjTZX1LNo1oLpfaJK8h+MXqHxcBFBIwkgsv+xlv0=
|
||||
github.com/antchfx/jsonquery v1.1.4/go.mod h1:cHs8r6Bymd8j6HI6Ej1IJbjahKvLBcIEh54dfmo+E9A=
|
||||
github.com/antchfx/jsonquery v1.3.1 h1:kh3599hMLpygvcxoENcj99eCvnS++JjRX10LjNYhK58=
|
||||
github.com/antchfx/jsonquery v1.3.1/go.mod h1:R4LXEqMGhHoCkDfuKt7K5hBxdTlINB9nubLE848juxw=
|
||||
github.com/antchfx/xpath v1.1.7/go.mod h1:Yee4kTMuNiPYJ7nSNorELQMr1J33uOpXDMByNYhvtNk=
|
||||
github.com/antchfx/xpath v1.2.2 h1:fsKX4sHfxhsGpDMYjsvCmGC0EGdiT7XA0af/6PP6Oa0=
|
||||
github.com/antchfx/xpath v1.2.2/go.mod h1:i54GszH55fYfBmoZXapTHN8T8tkcHfRgLyVwwqzXNcs=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/go-systemd/v22 v22.3.3-0.20220203105225-a9a7ef127534/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
|
||||
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
|
||||
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||
github.com/cyphar/filepath-securejoin v0.2.3 h1:YX6ebbZCZP7VkM3scTTokDgBL2TY741X51MTk3ycuNI=
|
||||
github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4=
|
||||
github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM=
|
||||
github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
||||
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dhowden/tag v0.0.0-20220618230019-adf36e896086 h1:ORubSQoKnncsBnR4zD9CuYFJCPOCuSNEpWEZrDdBXkc=
|
||||
github.com/dhowden/tag v0.0.0-20220618230019-adf36e896086/go.mod h1:Z3Lomva4pyMWYezjMAU5QWRh0p1VvO4199OHlFnyKkM=
|
||||
github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8 h1:OtSeLS5y0Uy01jaKK4mA/WVIYtpzVm63vLVAPzJXigg=
|
||||
github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8/go.mod h1:apkPC/CR3s48O2D7Y++n1XWEpgPNNCjXYga3PPbJe2E=
|
||||
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
|
||||
github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto=
|
||||
github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
|
||||
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
|
||||
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
|
||||
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
|
||||
github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
|
||||
github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
|
||||
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
|
||||
github.com/gofrs/flock v0.8.1/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU=
|
||||
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
|
||||
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
|
||||
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00 h1:l5lAOZEym3oK3SQ2HBHWsJUfbNBiTXJDeW2QDxw9AQ0=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20200217142428-fce0ec30dd00/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/handlers v1.5.1 h1:9lRY6j8DEeeBT10CvO9hGW0gmky0BprnvDI5vfhUHH4=
|
||||
github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q=
|
||||
github.com/gorilla/mux v1.8.0 h1:i40aqfkR1h2SlN9hojwV5ZA91wcXFOvkdNIeFDP5koI=
|
||||
github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So=
|
||||
github.com/gorilla/handlers v1.5.2 h1:cLTUSsNkgcwhgRqvCNmdbRWG0A3N4F+M2nWKdScwyEE=
|
||||
github.com/gorilla/handlers v1.5.2/go.mod h1:dX+xVpaxdSw+q0Qek8SSsl3dfMk3jNddUkMzo0GtH0w=
|
||||
github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY=
|
||||
github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ=
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.0.0 h1:nq9lQ5I71Heg2lRb2/+szuIWKY3Y73d8YKyXyN91WzU=
|
||||
github.com/hashicorp/go-immutable-radix/v2 v2.0.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw=
|
||||
github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/Co8=
|
||||
|
@ -54,42 +41,26 @@ github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs
|
|||
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
|
||||
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
|
||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
|
||||
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kkdai/youtube v1.2.4 h1:LyuoTd268oRvd2uqNB6XmQx3HiIdLuLDGZ7oo22hRcI=
|
||||
github.com/kkdai/youtube v1.2.4/go.mod h1:FEo9+PUI1UcsTZGl1TmPKlErKhRoJmD3mvqSs7AdC2g=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lithammer/shortuuid/v3 v3.0.7 h1:trX0KTHy4Pbwo/6ia8fscyHoGA+mf1jWbPJVuvyJQQ8=
|
||||
github.com/lithammer/shortuuid/v3 v3.0.7/go.mod h1:vMk8ke37EmiewwolSO1NLW8vP4ZaKlRuDIi8tWWmAts=
|
||||
github.com/mattetti/filebuffer v1.0.1 h1:gG7pyfnSIZCxdoKq+cPa8T0hhYtD9NxCdI4D7PTjRLM=
|
||||
github.com/mattetti/filebuffer v1.0.1/go.mod h1:YdMURNDOttIiruleeVr6f56OrMc+MydEnTcXwtkxNVs=
|
||||
github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
|
||||
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
||||
github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg=
|
||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||
github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
|
||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
|
||||
github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
|
||||
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||
github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
||||
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k=
|
||||
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
|
||||
github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ=
|
||||
github.com/rs/xid v1.4.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg=
|
||||
github.com/rs/zerolog v1.19.0/go.mod h1:IzD0RJ65iWH0w97OQQebJEvTZYvsCUm9WVLWBQrJRjo=
|
||||
github.com/rs/zerolog v1.28.0 h1:MirSo27VyNi7RJYP3078AA1+Cyzd2GB66qy3aUHvsWY=
|
||||
github.com/rs/zerolog v1.28.0/go.mod h1:NILgTygv/Uej1ra5XxGf82ZFSLk58MFGAUS2o6usyD0=
|
||||
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
||||
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
|
||||
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
|
||||
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
|
||||
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
|
||||
|
@ -102,36 +73,33 @@ github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An
|
|||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/urfave/cli/v2 v2.2.0/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ=
|
||||
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
|
||||
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
|
||||
github.com/vbauerster/mpb/v5 v5.2.4 h1:PLP8vv75RcEgxGoJVtKaRD2FHSxEmIV/u4ZuOrfO8Qg=
|
||||
github.com/vbauerster/mpb/v5 v5.2.4/go.mod h1:K4iCHQp5sWnmAgEn+uW1sAxSilctb4JPAGXx49jV+Aw=
|
||||
github.com/wybiral/feeds v1.1.1 h1:KWE/JxA2XfP0My+C0wymqXrWK5oIyjRVbH5kpclsea0=
|
||||
github.com/wybiral/feeds v1.1.1/go.mod h1:MRSqtY+Oy5HMM51cF212xqU39MYbsYq/AH+PY8IfeM0=
|
||||
go.mills.io/bitcask/v2 v2.0.3 h1:/ZUfDsjiGXfHANRVD1bLjbmzT91ay8MbwWQOY2Nhf/s=
|
||||
go.mills.io/bitcask/v2 v2.0.3/go.mod h1:0W1Vt5iL7IZajuTbrQyg9TlpWXSY5DaPQ35lxjc7tJw=
|
||||
go.mills.io/bitcask/v2 v2.1.1 h1:UEFOePaDYLGL7sZfBfZP9nhgpRk7ISQyMx4aQr8jFyk=
|
||||
go.mills.io/bitcask/v2 v2.1.1/go.mod h1:ZQFykoTTCvMwy24lBstZhSRQuleYIB4EzWKSOgEv6+k=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
|
||||
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
|
||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=
|
||||
golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
|
||||
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
|
||||
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
|
||||
golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190828213141-aed303cbaa74/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||
|
|
|
@ -23,9 +23,9 @@ type Importer interface {
|
|||
}
|
||||
|
||||
func NewImporter(url string) (Importer, error) {
|
||||
if strings.Contains(url, "youtube.com") || strings.HasPrefix(strings.ToLower(url), "youtube:") {
|
||||
/*if strings.Contains(url, "youtube.com") || strings.HasPrefix(strings.ToLower(url), "youtube:") {
|
||||
return &YoutubeImporter{}, nil
|
||||
} else if strings.Contains(url, "vimeo.com") || strings.HasPrefix(strings.ToLower(url), "vimeo:") {
|
||||
} else*/ if strings.Contains(url, "vimeo.com") || strings.HasPrefix(strings.ToLower(url), "vimeo:") {
|
||||
return &VimeoImporter{}, nil
|
||||
} else {
|
||||
return nil, ErrUnsupportedVideoURL
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
package importers
|
||||
|
||||
/*
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Andreychik32/ytdl"
|
||||
ytdl "github.com/kkdai/youtube"
|
||||
)
|
||||
|
||||
type YoutubeImporter struct{}
|
||||
|
@ -38,3 +39,4 @@ func (i *YoutubeImporter) GetVideoInfo(url string) (videoInfo VideoInfo, err err
|
|||
|
||||
return
|
||||
}
|
||||
*/
|
||||
|
|
|
@ -10,7 +10,7 @@ import (
|
|||
"strings"
|
||||
"time"
|
||||
|
||||
"git.mills.io/prologic/tube/utils"
|
||||
"surdeus.su/serv/tube/utils"
|
||||
"github.com/dhowden/tag"
|
||||
"gopkg.in/yaml.v3"
|
||||
)
|
||||
|
|
|
@ -28,7 +28,7 @@ MP4 H.264 AAC, multiple collections and RSS feed.
|
|||
### Prebuilt Release Binaries
|
||||
|
||||
1. Go grab the latest binary from the
|
||||
[Releases](https://git.mills.io/prologic/tube/releases) page for your
|
||||
[Releases](https://surdeus.su/serv/tube/releases) page for your
|
||||
platform / operating system.
|
||||
2. Extract the archive.
|
||||
3. Run `./tube`
|
||||
|
@ -49,7 +49,7 @@ Where `DOCKER_MACHINE_IP` is the IP Address of your Docker Node.
|
|||
### Building From Source
|
||||
|
||||
```#!sh
|
||||
$ git clone https://git.mills.io/prologic/tube
|
||||
$ git clone https://surdeus.su/serv/tube
|
||||
$ cd tube
|
||||
$ make build
|
||||
$ ./tube
|
||||
|
@ -65,7 +65,7 @@ similiar to the one you can find in the repo: [docker-compose.yml](docker-compos
|
|||
|
||||
Beyond this a "Production Deployment" is out-of-scope at this time for the
|
||||
documentation being provided here. Please don't hesitate to file an
|
||||
[Issue](https://git.mills.io/prologic/tube/issues/new) however for ask for help
|
||||
[Issue](https://surdeus.su/serv/tube/issues/new) however for ask for help
|
||||
or advice or contact the author directly!
|
||||
|
||||
## Configuration
|
||||
|
@ -271,7 +271,7 @@ and even fix tiny typos in documentation! Thank you and keep contributing!
|
|||
|
||||
You can find an [AUTHORS](AUTHORS) file where we keep a list of contributors
|
||||
to the project. If you contribute a PR please consider adding your name there.
|
||||
There is also Github's own [Contributors](https://git.mills.io/prologic/tube/graphs/contributors) statistics.
|
||||
There is also Github's own [Contributors](https://surdeus.su/serv/tube/graphs/contributors) statistics.
|
||||
|
||||
[![](https://sourcerer.io/fame/prologic/prologic/tube/images/0)](https://sourcerer.io/fame/prologic/prologic/tube/links/0)
|
||||
[![](https://sourcerer.io/fame/prologic/prologic/tube/images/1)](https://sourcerer.io/fame/prologic/prologic/tube/links/1)
|
|
@ -9,7 +9,7 @@ an issue to let us know and to discuss the details.
|
|||
|
||||
## In Progress
|
||||
|
||||
- refactor [uploadHandler](https://git.mills.io/prologic/tube/src/commit/c0ca374a16a75acbf380b133dde6529d7f66bb2b/app/app.go#L226)
|
||||
- refactor [uploadHandler](https://surdeus.su/serv/tube/src/commit/c0ca374a16a75acbf380b133dde6529d7f66bb2b/app/app.go#L226)
|
||||
|
||||
## Prioritized
|
||||
|
|
@ -36,7 +36,7 @@
|
|||
{{template "content" .}}
|
||||
</main>
|
||||
<footer>
|
||||
<p><a href="https://git.mills.io/prologic/tube">Tube</a> is CopyRight © 2020 <a href="https://git.mills.io/prologic">James Mills / prologic</a>. All Rights Reserved.</p>
|
||||
<p><a href="https://surdeus.su/serv/tube">Tube</a> is CopyRight © 2020 <a href="https://git.mills.io/prologic">James Mills / prologic</a>. All Rights Reserved.</p>
|
||||
{{if .Config.Copyright.Content}}<p>{{ $config.Copyright.Content }}</p>{{end}}
|
||||
</footer>
|
||||
</body>
|
||||
|
|
Loading…
Reference in a new issue