Files
go-i2pbrowser/unembed.go
2022-10-19 23:54:27 -04:00

56 lines
1.8 KiB
Go

package goi2pbrowser
import (
"io/ioutil"
"log"
"os"
"path/filepath"
"github.com/artdarek/go-unzip/pkg/unzip"
)
func existsAlready(profileDir string) bool {
if _, err := os.Stat(filepath.Join(profileDir, "user.js")); err == nil {
return true
}
return false
}
// UnpackBase unpacks a "Strict" mode profile into the "profileDir" and returns the
// path to the profile and possibly, an error if something goes wrong. If everything
// works, the error will be nil
func UnpackBase(profileDir string) (string, error) {
log.Println(profileDir, "exists already")
os.MkdirAll(filepath.Dir(profileDir), 0755)
zipFile := filepath.Join(filepath.Dir(profileDir), "i2p.firefox.base.profile.zip")
err := ioutil.WriteFile(zipFile, BaseProfile, 0644)
if err != nil {
return filepath.Join(profileDir, "i2p.firefox.base.profile"), err
}
uz := unzip.New()
_, err = uz.Extract(zipFile, profileDir)
if err != nil {
return filepath.Join(profileDir, "i2p.firefox.base.profile"), err
}
return filepath.Join(profileDir, "i2p.firefox.base.profile"), nil
}
// UnpackUsability unpacks a "Usability" mode profile into the "profileDir" and returns the
// path to the profile and possibly, an error if something goes wrong. If everything
// works, the error will be nil
func UnpackUsability(profileDir string) (string, error) {
log.Println(profileDir, "exists already")
os.MkdirAll(filepath.Dir(profileDir), 0755)
zipFile := filepath.Join(filepath.Dir(profileDir), "i2p.firefox.usability.profile.zip")
err := ioutil.WriteFile(zipFile, UsabilityProfile, 0644)
if err != nil {
return filepath.Join(profileDir, "i2p.firefox.usability.profile"), err
}
uz := unzip.New()
_, err = uz.Extract(zipFile, profileDir)
if err != nil {
return filepath.Join(profileDir, "i2p.firefox.usability.profile"), err
}
return filepath.Join(profileDir, "i2p.firefox.usability.profile"), nil
}