- новая категория fail2ban: jail.local, jail.d (в т.ч. 3x-ipl.local), IP-лимит 3x-ui (filter.d/action.d/3x-ipl.conf), свои *.local; при восстановлении создаются логи 3xipl*.log, без которых jail не поднимается - xui: свои *.dat из /usr/local/x-ui/bin (ipcheck, discord-*) — на них ссылается роутинг; штатные geo-файлы релиза не бэкапятся - recipe 3x-ui больше не очищает /usr/local/x-ui и не стирает восстановленные файлы - маски (*, ?) в paths и keep_binaries каталога - provision ставит nftables вместе с fail2ban - .gitattributes: LF во всех файлах Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
83832fc734
commit
cbd3cde01d
8 files changed
+503
-400
No files matched your search
@@ -155,7 +155,7 @@ func (c *collector) collectSpec(s catalog.Spec) (*manifest.Category, error) {
|
||||
RestoreAfter: s.RestoreAfter,
|
||||
}
|
||||
skip := archive.NewMatcher(c.cat.Exclude, s.Exclude)
|
||||
for _, p := range s.Paths {
|
||||
for _, p := range expandPaths(s.Paths) {
|
||||
if !sysx.Exists(p) {
|
||||
continue
|
||||
}
|
||||
@@ -177,7 +177,7 @@ func (c *collector) collectSpec(s catalog.Spec) (*manifest.Category, error) {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
for _, b := range s.KeepBinaries {
|
||||
for _, b := range expandPaths(s.KeepBinaries) {
|
||||
if sysx.Exists(b) {
|
||||
mc.Binaries = append(mc.Binaries, b)
|
||||
c.add(manifest.MainPart, binItem(s.Name, b))
|
||||
@@ -236,6 +236,20 @@ func (c *collector) cmdDump(cat string, d catalog.CmdDump, mc *manifest.Category
|
||||
return nil
|
||||
}
|
||||
|
||||
// expandPaths раскрывает маски (*, ?, [...]) в путях категории; пути без масок — как есть.
|
||||
func expandPaths(paths []string) []string {
|
||||
var out []string
|
||||
for _, p := range paths {
|
||||
if !strings.ContainsAny(p, "*?[") {
|
||||
out = append(out, p)
|
||||
continue
|
||||
}
|
||||
m, _ := filepath.Glob(p)
|
||||
out = append(out, m...)
|
||||
}
|
||||
return out
|
||||
}
|
||||
|
||||
func anyExists(paths []string) bool {
|
||||
for _, p := range paths {
|
||||
if sysx.Exists(p) {
|
||||
|
||||
Reference in new issue
Block a user