Initial commit: docker compose config
Release Docker multi arch / docker (push) Has been cancelled
Test Install Script / Test Script Syntax (push) Has been cancelled
Test Install Script / Test on almalinux-10 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-10 (root) (push) Has been cancelled
Test Install Script / Test on almalinux-8 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-8 (root) (push) Has been cancelled
Test Install Script / Test on almalinux-9 (default) (push) Has been cancelled
Test Install Script / Test on almalinux-9 (root) (push) Has been cancelled
Test Install Script / Test on amazonlinux-2 (default) (push) Has been cancelled
Test Install Script / Test on amazonlinux-2 (root) (push) Has been cancelled
Test Install Script / Test on debian-11 (default) (push) Has been cancelled
Test Install Script / Test on debian-11 (root) (push) Has been cancelled
Test Install Script / Test on debian-12 (default) (push) Has been cancelled
Test Install Script / Test on debian-12 (root) (push) Has been cancelled
Test Install Script / Test on debian-13 (default) (push) Has been cancelled
Test Install Script / Test on debian-13 (root) (push) Has been cancelled
Test Install Script / Test on fedora-latest (default) (push) Has been cancelled
Test Install Script / Test on fedora-latest (root) (push) Has been cancelled
Test Install Script / Test on rocky-10 (default) (push) Has been cancelled
Test Install Script / Test on rocky-10 (root) (push) Has been cancelled
Test Install Script / Test on rocky-8 (default) (push) Has been cancelled
Test Install Script / Test on rocky-8 (root) (push) Has been cancelled
Test Install Script / Test on rocky-9 (default) (push) Has been cancelled
Test Install Script / Test on rocky-9 (root) (push) Has been cancelled
Test Install Script / Test on ubuntu-22.04 (default) (push) Has been cancelled
Test Install Script / Test on ubuntu-22.04 (root) (push) Has been cancelled
Test Install Script / Test on ubuntu-24.04 (default) (push) Has been cancelled
Test Install Script / Test on ubuntu-24.04 (root) (push) Has been cancelled

This commit is contained in:
2026-05-30 12:07:11 +00:00
commit 616c6b1c62
381 changed files with 55145 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
package torrfs
import (
"io/fs"
"path"
"strings"
"time"
"server/torr"
)
type RootDir struct {
info fs.FileInfo
}
func NewRootDir() *RootDir {
return &RootDir{
info: info{
name: "/",
size: 4096,
mode: 0o555,
mtime: time.Unix(477033600, 0),
isDir: true,
},
}
}
func (d *RootDir) Open(name string) (fs.File, error) {
name = path.Clean(name)
if !fs.ValidPath(name) {
return nil, &fs.PathError{Path: name, Err: fs.ErrInvalid}
}
if name == "." || name == "/" {
return d, nil
}
if !strings.HasPrefix(name, "/") {
name = "/" + name
}
return Open(d, name)
}
func (d *RootDir) Stat() (fs.FileInfo, error) {
return d.info, nil
}
func (d *RootDir) ReadDir(n int) ([]fs.DirEntry, error) {
torrs := torr.ListTorrent()
cats := map[string]struct{}{}
nodes := map[string]INode{}
for _, torrent := range torrs {
cats[torrent.Category] = struct{}{}
}
for cat := range cats {
if cat == "" {
cat = "other"
}
nodes[cat] = NewCategoryDir(cat)
}
var entries []fs.DirEntry
for _, c := range nodes {
entries = append(entries, c)
}
if n > 0 && len(entries) > n {
entries = entries[:n]
}
return entries, nil
}
// INode
func (d *RootDir) Parent() INode { return nil }
func (d *RootDir) Torrent() *torr.Torrent { return nil }
func (d *RootDir) SetTorrent(torr *torr.Torrent) {}
// DirEntry
func (d *RootDir) Name() string { return d.info.Name() }
func (d *RootDir) IsDir() bool { return true }
func (d *RootDir) Type() fs.FileMode {
s, _ := d.Stat()
return s.Mode()
}
func (d *RootDir) Info() (fs.FileInfo, error) { return d.info, nil }
// File
func (d *RootDir) Read(bytes []byte) (int, error) { return 0, fs.ErrInvalid }
func (d *RootDir) Close() error { return nil }