Add commands for dealing with cache and site data, cookies, etc
This commit is contained in:
138
main.go
138
main.go
@@ -35,6 +35,12 @@ func main() {
|
||||
screenshotCmd := flag.NewFlagSet("screenshot", flag.ExitOnError)
|
||||
statusCmd := flag.NewFlagSet("status", flag.ExitOnError)
|
||||
listTabsCmd := flag.NewFlagSet("list-tabs", flag.ExitOnError)
|
||||
disableCacheCmd := flag.NewFlagSet("disable-cache", flag.ExitOnError)
|
||||
enableCacheCmd := flag.NewFlagSet("enable-cache", flag.ExitOnError)
|
||||
clearCacheCmd := flag.NewFlagSet("clear-cache", flag.ExitOnError)
|
||||
clearAllSiteDataCmd := flag.NewFlagSet("clear-all-site-data", flag.ExitOnError)
|
||||
clearCookiesCmd := flag.NewFlagSet("clear-cookies", flag.ExitOnError)
|
||||
clearStorageCmd := flag.NewFlagSet("clear-storage", flag.ExitOnError)
|
||||
|
||||
// Define flags for each subcommand
|
||||
// open-tab flags
|
||||
@@ -140,6 +146,42 @@ func main() {
|
||||
listTabsHost := listTabsCmd.String("host", "localhost", "Daemon host")
|
||||
listTabsPort := listTabsCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// disable-cache flags
|
||||
disableCacheTabID := disableCacheCmd.String("tab", "", "Tab ID to disable cache for (optional, uses current tab if not specified)")
|
||||
disableCacheTimeout := disableCacheCmd.Int("timeout", 5, "Timeout in seconds for disabling cache")
|
||||
disableCacheHost := disableCacheCmd.String("host", "localhost", "Daemon host")
|
||||
disableCachePort := disableCacheCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// enable-cache flags
|
||||
enableCacheTabID := enableCacheCmd.String("tab", "", "Tab ID to enable cache for (optional, uses current tab if not specified)")
|
||||
enableCacheTimeout := enableCacheCmd.Int("timeout", 5, "Timeout in seconds for enabling cache")
|
||||
enableCacheHost := enableCacheCmd.String("host", "localhost", "Daemon host")
|
||||
enableCachePort := enableCacheCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// clear-cache flags
|
||||
clearCacheTabID := clearCacheCmd.String("tab", "", "Tab ID to clear cache for (optional, uses current tab if not specified)")
|
||||
clearCacheTimeout := clearCacheCmd.Int("timeout", 5, "Timeout in seconds for clearing cache")
|
||||
clearCacheHost := clearCacheCmd.String("host", "localhost", "Daemon host")
|
||||
clearCachePort := clearCacheCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// clear-all-site-data flags
|
||||
clearAllSiteDataTabID := clearAllSiteDataCmd.String("tab", "", "Tab ID to clear all site data for (optional, uses current tab if not specified)")
|
||||
clearAllSiteDataTimeout := clearAllSiteDataCmd.Int("timeout", 5, "Timeout in seconds for clearing all site data")
|
||||
clearAllSiteDataHost := clearAllSiteDataCmd.String("host", "localhost", "Daemon host")
|
||||
clearAllSiteDataPort := clearAllSiteDataCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// clear-cookies flags
|
||||
clearCookiesTabID := clearCookiesCmd.String("tab", "", "Tab ID to clear cookies for (optional, uses current tab if not specified)")
|
||||
clearCookiesTimeout := clearCookiesCmd.Int("timeout", 5, "Timeout in seconds for clearing cookies")
|
||||
clearCookiesHost := clearCookiesCmd.String("host", "localhost", "Daemon host")
|
||||
clearCookiesPort := clearCookiesCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// clear-storage flags
|
||||
clearStorageTabID := clearStorageCmd.String("tab", "", "Tab ID to clear storage for (optional, uses current tab if not specified)")
|
||||
clearStorageTimeout := clearStorageCmd.Int("timeout", 5, "Timeout in seconds for clearing storage")
|
||||
clearStorageHost := clearStorageCmd.String("host", "localhost", "Daemon host")
|
||||
clearStoragePort := clearStorageCmd.Int("port", 8989, "Daemon port")
|
||||
|
||||
// Check if a subcommand is provided
|
||||
if len(os.Args) < 2 {
|
||||
printUsage()
|
||||
@@ -490,6 +532,96 @@ func main() {
|
||||
}
|
||||
}
|
||||
|
||||
case "disable-cache":
|
||||
disableCacheCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*disableCacheHost, *disableCachePort)
|
||||
|
||||
// Disable cache
|
||||
err := c.DisableCache(*disableCacheTabID, *disableCacheTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("Cache disabled successfully")
|
||||
|
||||
case "enable-cache":
|
||||
enableCacheCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*enableCacheHost, *enableCachePort)
|
||||
|
||||
// Enable cache
|
||||
err := c.EnableCache(*enableCacheTabID, *enableCacheTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("Cache enabled successfully")
|
||||
|
||||
case "clear-cache":
|
||||
clearCacheCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*clearCacheHost, *clearCachePort)
|
||||
|
||||
// Clear cache
|
||||
err := c.ClearCache(*clearCacheTabID, *clearCacheTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("Cache cleared successfully")
|
||||
|
||||
case "clear-all-site-data":
|
||||
clearAllSiteDataCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*clearAllSiteDataHost, *clearAllSiteDataPort)
|
||||
|
||||
// Clear all site data
|
||||
err := c.ClearAllSiteData(*clearAllSiteDataTabID, *clearAllSiteDataTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("All site data cleared successfully")
|
||||
|
||||
case "clear-cookies":
|
||||
clearCookiesCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*clearCookiesHost, *clearCookiesPort)
|
||||
|
||||
// Clear cookies
|
||||
err := c.ClearCookies(*clearCookiesTabID, *clearCookiesTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("Cookies cleared successfully")
|
||||
|
||||
case "clear-storage":
|
||||
clearStorageCmd.Parse(os.Args[2:])
|
||||
|
||||
// Create a client
|
||||
c := client.NewClient(*clearStorageHost, *clearStoragePort)
|
||||
|
||||
// Clear storage
|
||||
err := c.ClearStorage(*clearStorageTabID, *clearStorageTimeout)
|
||||
if err != nil {
|
||||
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
fmt.Println("Storage cleared successfully")
|
||||
|
||||
default:
|
||||
printUsage()
|
||||
os.Exit(1)
|
||||
@@ -515,6 +647,12 @@ func printUsage() {
|
||||
fmt.Println(" switch-main Switch back to main page context")
|
||||
fmt.Println(" screenshot Take a screenshot of the current page")
|
||||
fmt.Println(" list-tabs List all open tabs")
|
||||
fmt.Println(" disable-cache Disable browser cache for a tab")
|
||||
fmt.Println(" enable-cache Enable browser cache for a tab")
|
||||
fmt.Println(" clear-cache Clear browser cache for a tab")
|
||||
fmt.Println(" clear-all-site-data Clear all site data (cookies, storage, cache, etc.)")
|
||||
fmt.Println(" clear-cookies Clear cookies for a tab")
|
||||
fmt.Println(" clear-storage Clear web storage (localStorage, sessionStorage, etc.)")
|
||||
fmt.Println(" status Check if the daemon is running")
|
||||
fmt.Println("\nRun 'cremote <command> -h' for more information on a command")
|
||||
fmt.Println("\nBefore using this tool, make sure the daemon is running:")
|
||||
|
||||
Reference in New Issue
Block a user