peertube-instance-index-filter/audit.go

57 lines
1.3 KiB
Go
Raw Normal View History

2025-06-23 12:50:46 +03:00
// peertube-instance-index-filter
// Copyright (C) 2025 Arns Udovič <zordsdavini@arns.lt>
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
package main
2025-06-23 13:45:56 +03:00
import (
"fmt"
"net/http"
)
2025-06-23 12:50:46 +03:00
func doAudit(host string, filter string) bool {
switch filter {
case "dead":
_, err := http.Get("https://" + host)
if err != nil {
return true
}
}
return false
}
2025-06-23 13:45:56 +03:00
func removeDuplicates() {
db := connectDB()
defer db.Close()
for {
ids, err := getDuplicateIds(db)
if err != nil {
panic(err)
}
if len(ids) == 0 {
break
}
fmt.Println("Removing duplicates:", len(ids), ids)
for _, id := range ids {
removeInstance(db, id)
}
}
}