cleanup
This commit is contained in:
parent
ae6356fb7b
commit
746058a6d3
@ -1,4 +1,4 @@
|
|||||||
webroot = "./www"
|
webroot = "www"
|
||||||
lport = "5000"
|
lport = "5000"
|
||||||
vhost = "hardfiles.org"
|
vhost = "hardfiles.org"
|
||||||
dbfile = "dbfile.db"
|
dbfile = "dbfile.db"
|
||||||
|
43
main.go
43
main.go
@ -37,19 +37,18 @@ func LoadConf() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func shred(path string) error {
|
func Shred(path string) error {
|
||||||
log.Info().Msg("shredding file")
|
|
||||||
fileinfo, err := os.Stat(path)
|
fileinfo, err := os.Stat(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
size := fileinfo.Size()
|
size := fileinfo.Size()
|
||||||
err = scramble(path, size)
|
err = Scramble(path, size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
err = zeros(path, size)
|
err = Zeros(path, size)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -62,14 +61,15 @@ func shred(path string) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func scramble(path string, size int64) error {
|
func Scramble(path string, size int64) error {
|
||||||
var i int64
|
var i int64
|
||||||
for i = 0; i < 7; i++ { // 7 iterations
|
for i = 0; i < 7; i++ { // 7 iterations
|
||||||
file, err := os.OpenFile(path, os.O_RDWR, 0)
|
file, err := os.OpenFile(path, os.O_RDWR, 0)
|
||||||
defer file.Close()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
offset, err := file.Seek(0, 0)
|
offset, err := file.Seek(0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@ -82,12 +82,12 @@ func scramble(path string, size int64) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func zeros(path string, size int64) error {
|
func Zeros(path string, size int64) error {
|
||||||
file, err := os.OpenFile(path, os.O_RDWR, 0)
|
file, err := os.OpenFile(path, os.O_RDWR, 0)
|
||||||
defer file.Close()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
defer file.Close()
|
||||||
|
|
||||||
offset, err := file.Seek(0, 0)
|
offset, err := file.Seek(0, 0)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -120,8 +120,7 @@ func CheckFile(name string) bool { // false if doesn't exist, true if exists
|
|||||||
|
|
||||||
func UploadHandler(w http.ResponseWriter, r *http.Request) {
|
func UploadHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
// expiry sanitize
|
// expiry sanitize
|
||||||
twentyfour := int64(86400)
|
twentyfour := int64(10)
|
||||||
// twentyfour := int64(10)
|
|
||||||
|
|
||||||
file, _, err := r.FormFile("file")
|
file, _, err := r.FormFile("file")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -184,7 +183,7 @@ func Cull() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
if time.Now().After(time.Unix(eol, 0)) {
|
if time.Now().After(time.Unix(eol, 0)) {
|
||||||
if err := shred(conf.FileFolder + "/" + string(k)); err != nil {
|
if err := Shred(conf.FileFolder + "/" + string(k)); err != nil {
|
||||||
log.Error().Err(err).Msg("shredding failed")
|
log.Error().Err(err).Msg("shredding failed")
|
||||||
} else {
|
} else {
|
||||||
removed += 1
|
removed += 1
|
||||||
@ -195,7 +194,7 @@ func Cull() {
|
|||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
if removed >= 1 {
|
if removed >= 1 {
|
||||||
log.Info().Int("amount", removed).Msg("expired")
|
log.Info().Int("amount", removed).Msg("shredded")
|
||||||
}
|
}
|
||||||
time.Sleep(5 * time.Second)
|
time.Sleep(5 * time.Second)
|
||||||
}
|
}
|
||||||
@ -206,7 +205,7 @@ func main() {
|
|||||||
LoadConf()
|
LoadConf()
|
||||||
|
|
||||||
err := landlock.V2.BestEffort().RestrictPaths(
|
err := landlock.V2.BestEffort().RestrictPaths(
|
||||||
landlock.RWDirs("./"+conf.FileFolder),
|
landlock.RWDirs(conf.FileFolder),
|
||||||
landlock.RWDirs(conf.Webroot),
|
landlock.RWDirs(conf.Webroot),
|
||||||
landlock.RWFiles(conf.DBFile),
|
landlock.RWFiles(conf.DBFile),
|
||||||
)
|
)
|
||||||
@ -237,7 +236,7 @@ func main() {
|
|||||||
|
|
||||||
r := mux.NewRouter()
|
r := mux.NewRouter()
|
||||||
r.HandleFunc("/", UploadHandler).Methods("POST")
|
r.HandleFunc("/", UploadHandler).Methods("POST")
|
||||||
r.HandleFunc("/uploads/{name}", func(w http.ResponseWriter, r *http.Request) { // upload hits
|
r.HandleFunc("/uploads/{name}", func(w http.ResponseWriter, r *http.Request) {
|
||||||
vars := mux.Vars(r)
|
vars := mux.Vars(r)
|
||||||
if !CheckFile(vars["name"]) {
|
if !CheckFile(vars["name"]) {
|
||||||
w.WriteHeader(http.StatusNotFound)
|
w.WriteHeader(http.StatusNotFound)
|
||||||
@ -248,20 +247,24 @@ func main() {
|
|||||||
r.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
r.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
|
||||||
http.ServeFile(w, r, conf.Webroot+"/index.html")
|
http.ServeFile(w, r, conf.Webroot+"/index.html")
|
||||||
}).Methods("GET")
|
}).Methods("GET")
|
||||||
|
r.HandleFunc("/index.html", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
http.ServeFile(w, r, conf.Webroot+"/index.html")
|
||||||
|
}).Methods("GET")
|
||||||
|
r.HandleFunc("/fist.ico", func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
http.ServeFile(w, r, conf.Webroot+"/fist.ico")
|
||||||
|
}).Methods("GET")
|
||||||
http.Handle("/", r)
|
http.Handle("/", r)
|
||||||
|
|
||||||
go Cull()
|
go Cull()
|
||||||
|
|
||||||
serv := &http.Server{
|
serv := &http.Server{
|
||||||
Addr: ":" + conf.LPort,
|
Addr: ":" + conf.LPort,
|
||||||
Handler: r,
|
Handler: r,
|
||||||
ErrorLog: nil,
|
ErrorLog: nil,
|
||||||
//ReadTimeout: 20 * time.Second,
|
|
||||||
//WriteTimeout: 20 * time.Second,
|
|
||||||
IdleTimeout: 20 * time.Second,
|
IdleTimeout: 20 * time.Second,
|
||||||
}
|
}
|
||||||
|
|
||||||
log.Info().Err(err).Msg("listening...")
|
log.Info().Err(err).Msg("listening on port " + conf.LPort + "...")
|
||||||
|
|
||||||
if err := serv.ListenAndServe(); err != nil {
|
if err := serv.ListenAndServe(); err != nil {
|
||||||
log.Fatal().Err(err).Msg("error starting server")
|
log.Fatal().Err(err).Msg("error starting server")
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<head>
|
<head>
|
||||||
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
|
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<link rel="icon" href="https://i.imgur.com/FdC3YNu.png">
|
<link rel="icon" href="fist.ico">
|
||||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap" rel="stylesheet">
|
<link href="https://fonts.googleapis.com/css2?family=Black+Ops+One&display=swap" rel="stylesheet">
|
||||||
|
Loading…
Reference in New Issue
Block a user