@@ -86,6 +86,7 @@ type BrowserPoolsCreateInput struct {
8686 ProfileName string
8787 ProfileSaveChanges BoolFlag
8888 ProxyID string
89+ StartURL string
8990 Extensions []string
9091 Viewport string
9192 Output string
@@ -131,6 +132,9 @@ func (c BrowserPoolsCmd) Create(ctx context.Context, in BrowserPoolsCreateInput)
131132 if in .ProxyID != "" {
132133 params .ProxyID = kernel .String (in .ProxyID )
133134 }
135+ if in .StartURL != "" {
136+ params .StartURL = kernel .String (in .StartURL )
137+ }
134138
135139 params .Extensions = buildExtensionsParam (in .Extensions )
136140
@@ -196,6 +200,7 @@ func (c BrowserPoolsCmd) Get(ctx context.Context, in BrowserPoolsGetInput) error
196200 {"Kiosk Mode" , fmt .Sprintf ("%t" , cfg .KioskMode )},
197201 {"Profile" , formatProfile (cfg .Profile )},
198202 {"Proxy ID" , util .OrDash (cfg .ProxyID )},
203+ {"Start URL" , util .OrDash (cfg .StartURL )},
199204 {"Extensions" , formatExtensions (cfg .Extensions )},
200205 {"Viewport" , formatViewport (cfg .Viewport )},
201206 }
@@ -217,6 +222,8 @@ type BrowserPoolsUpdateInput struct {
217222 ProfileName string
218223 ProfileSaveChanges BoolFlag
219224 ProxyID string
225+ StartURL string
226+ ClearStartURL bool
220227 Extensions []string
221228 Viewport string
222229 DiscardAllIdle BoolFlag
@@ -227,6 +234,9 @@ func (c BrowserPoolsCmd) Update(ctx context.Context, in BrowserPoolsUpdateInput)
227234 if in .Output != "" && in .Output != "json" {
228235 return fmt .Errorf ("unsupported --output value: use 'json'" )
229236 }
237+ if in .StartURL != "" && in .ClearStartURL {
238+ return fmt .Errorf ("cannot specify both --start-url and --clear-start-url" )
239+ }
230240
231241 params := kernel.BrowserPoolUpdateParams {}
232242
@@ -267,6 +277,11 @@ func (c BrowserPoolsCmd) Update(ctx context.Context, in BrowserPoolsUpdateInput)
267277 if in .ProxyID != "" {
268278 params .ProxyID = kernel .String (in .ProxyID )
269279 }
280+ if in .ClearStartURL {
281+ params .StartURL = kernel .String ("" )
282+ } else if in .StartURL != "" {
283+ params .StartURL = kernel .String (in .StartURL )
284+ }
270285
271286 params .Extensions = buildExtensionsParam (in .Extensions )
272287
@@ -352,6 +367,9 @@ func (c BrowserPoolsCmd) Acquire(ctx context.Context, in BrowserPoolsAcquireInpu
352367 {"CDP WebSocket URL" , resp .CdpWsURL },
353368 {"Live View URL" , resp .BrowserLiveViewURL },
354369 }
370+ if resp .StartURL != "" {
371+ tableData = append (tableData , []string {"Start URL" , resp .StartURL })
372+ }
355373 PrintTableNoPad (tableData , true )
356374 return nil
357375}
@@ -472,6 +490,7 @@ func init() {
472490 browserPoolsCreateCmd .Flags ().String ("profile-name" , "" , "Profile name" )
473491 browserPoolsCreateCmd .Flags ().Bool ("save-changes" , false , "Save changes to profile" )
474492 browserPoolsCreateCmd .Flags ().String ("proxy-id" , "" , "Proxy ID" )
493+ browserPoolsCreateCmd .Flags ().String ("start-url" , "" , "Initial page to open for new browsers" )
475494 browserPoolsCreateCmd .Flags ().StringSlice ("extension" , []string {}, "Extension IDs or names" )
476495 browserPoolsCreateCmd .Flags ().String ("viewport" , "" , "Viewport size (e.g. 1280x800)" )
477496
@@ -488,6 +507,8 @@ func init() {
488507 browserPoolsUpdateCmd .Flags ().String ("profile-name" , "" , "Profile name" )
489508 browserPoolsUpdateCmd .Flags ().Bool ("save-changes" , false , "Save changes to profile" )
490509 browserPoolsUpdateCmd .Flags ().String ("proxy-id" , "" , "Proxy ID" )
510+ browserPoolsUpdateCmd .Flags ().String ("start-url" , "" , "Initial page to open for new browsers" )
511+ browserPoolsUpdateCmd .Flags ().Bool ("clear-start-url" , false , "Clear the pool start URL" )
491512 browserPoolsUpdateCmd .Flags ().StringSlice ("extension" , []string {}, "Extension IDs or names" )
492513 browserPoolsUpdateCmd .Flags ().String ("viewport" , "" , "Viewport size (e.g. 1280x800)" )
493514 browserPoolsUpdateCmd .Flags ().Bool ("discard-all-idle" , false , "Discard all idle browsers" )
@@ -539,6 +560,7 @@ func runBrowserPoolsCreate(cmd *cobra.Command, args []string) error {
539560 profileName , _ := cmd .Flags ().GetString ("profile-name" )
540561 saveChanges , _ := cmd .Flags ().GetBool ("save-changes" )
541562 proxyID , _ := cmd .Flags ().GetString ("proxy-id" )
563+ startURL , _ := cmd .Flags ().GetString ("start-url" )
542564 extensions , _ := cmd .Flags ().GetStringSlice ("extension" )
543565 viewport , _ := cmd .Flags ().GetString ("viewport" )
544566 output , _ := cmd .Flags ().GetString ("output" )
@@ -555,6 +577,7 @@ func runBrowserPoolsCreate(cmd *cobra.Command, args []string) error {
555577 ProfileName : profileName ,
556578 ProfileSaveChanges : BoolFlag {Set : cmd .Flags ().Changed ("save-changes" ), Value : saveChanges },
557579 ProxyID : proxyID ,
580+ StartURL : startURL ,
558581 Extensions : extensions ,
559582 Viewport : viewport ,
560583 Output : output ,
@@ -585,6 +608,8 @@ func runBrowserPoolsUpdate(cmd *cobra.Command, args []string) error {
585608 profileName , _ := cmd .Flags ().GetString ("profile-name" )
586609 saveChanges , _ := cmd .Flags ().GetBool ("save-changes" )
587610 proxyID , _ := cmd .Flags ().GetString ("proxy-id" )
611+ startURL , _ := cmd .Flags ().GetString ("start-url" )
612+ clearStartURL , _ := cmd .Flags ().GetBool ("clear-start-url" )
588613 extensions , _ := cmd .Flags ().GetStringSlice ("extension" )
589614 viewport , _ := cmd .Flags ().GetString ("viewport" )
590615 discardIdle , _ := cmd .Flags ().GetBool ("discard-all-idle" )
@@ -603,6 +628,8 @@ func runBrowserPoolsUpdate(cmd *cobra.Command, args []string) error {
603628 ProfileName : profileName ,
604629 ProfileSaveChanges : BoolFlag {Set : cmd .Flags ().Changed ("save-changes" ), Value : saveChanges },
605630 ProxyID : proxyID ,
631+ StartURL : startURL ,
632+ ClearStartURL : clearStartURL ,
606633 Extensions : extensions ,
607634 Viewport : viewport ,
608635 DiscardAllIdle : BoolFlag {Set : cmd .Flags ().Changed ("discard-all-idle" ), Value : discardIdle },
0 commit comments