# How can I start a node.js proxy server from Photoshop UXP

**URL:** https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428
**Category:** UXP Plugin API
**Created:** [August 2, 2021, 6:23am UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428 "2021-08-02T06:23:55Z")
**Posts on this page:** 11
**Page:** 1

<div class="post-metadata">

### Author: ![kaci65](https://avatars.discourse-cdn.com/v4/letter/k/ad7895/32.png) [@kaci65](https://forums.creativeclouddeveloper.com/u/kaci65)
#### Post date: [August 2, 2021, 6:23am UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/1 "2021-08-02T06:23:55Z")

</div>

Hi,

How can I start a node.js proxy server programmatically without user activity from Photoshop before my UXP plugin starting.

Thx  
Karoly

---

<div class="post-metadata">

### Author: ![kerrishotts](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/kerrishotts/32/8_2.png) [@kerrishotts](https://forums.creativeclouddeveloper.com/u/kerrishotts)
#### Post date: [August 2, 2021, 2:47pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/2 "2021-08-02T14:47:48Z")

</div>

Short answer: You can’t (from within the UXP plugin).

Longer answer: There’s an API coming that will let you launch an application registered with a URI scheme or with a path. However, the user _must_ consent to this, and Ps does not currently allow plugins to start without some degree of user interaction.

As such, right now, this is not possible without writing some sort of helper application that takes care of this step for you.

---

<div class="post-metadata">

### Author: ![kaci65](https://avatars.discourse-cdn.com/v4/letter/k/ad7895/32.png) [@kaci65](https://forums.creativeclouddeveloper.com/u/kaci65)
#### Post date: [August 2, 2021, 3:15pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/4 "2021-08-02T15:15:25Z")

</div>

Hi Kerri,

If I understood right, with the improved API will come some UI which allows the user to enable it. (Like windows install ask permission for administrator account).  
Have you some information about roadmap?

Thank you for your quick answer.

/Karoly

---

<div class="post-metadata">

### Author: ![gregbenz](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/gregbenz/32/953_2.png) [@gregbenz](https://forums.creativeclouddeveloper.com/u/gregbenz)
#### Post date: [April 8, 2024, 2:24pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/5 "2024-04-08T14:24:34Z")

</div>

@kerrishotts Is there a way to pass command line flags to an external application?

---

<div class="post-metadata">

### Author: ![harmonjeff](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/harmonjeff/32/3689_2.png) [@harmonjeff](https://forums.creativeclouddeveloper.com/u/harmonjeff)
#### Post date: [April 8, 2024, 3:25pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/6 "2024-04-08T15:25:28Z")

</div>

This is something need as well.

---

<div class="post-metadata">

### Author: ![Jarda](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/jarda/32/1909_2.png) [@Jarda](https://forums.creativeclouddeveloper.com/u/Jarda)
#### Post date: [April 8, 2024, 3:55pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/7 "2024-04-08T15:55:46Z")

</div>

No there is not. I asked UXP team for it. They want to add it but I have no idea when I could expect it.

---

<div class="post-metadata">

### Author: ![gregbenz](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/gregbenz/32/953_2.png) [@gregbenz](https://forums.creativeclouddeveloper.com/u/gregbenz)
#### Post date: [April 8, 2024, 4:21pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/8 "2024-04-08T16:21:11Z")

</div>

@Jarda Thanks for the info. Would be hugely helpful to work with some CLI tools.

---

<div class="post-metadata">

### Author: ![Jarda](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/jarda/32/1909_2.png) [@Jarda](https://forums.creativeclouddeveloper.com/u/Jarda)
#### Post date: [April 8, 2024, 4:35pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/9 "2024-04-08T16:35:29Z")

</div>

Hybrid plugin taken from Bolt would be your best bet right now. But it will have some general consequences related to C++ libraries. [Hybrid execSync() and exec() Updates · Issue #8 · hyperbrew/bolt-uxp · GitHub](https://github.com/hyperbrew/bolt-uxp/issues/8)

@justin2taylor

---

<div class="post-metadata">

### Author: ![samgannaway](https://avatars.discourse-cdn.com/v4/letter/s/898d66/32.png) [@samgannaway](https://forums.creativeclouddeveloper.com/u/samgannaway)
#### Post date: [April 10, 2024, 3:47pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/10 "2024-04-10T15:47:52Z")

</div>

I was recently having a similar discussion, trying to point out how this kind of glue is used in pipelines.

Depending on what one needs there is usually a way around. Yes, you can go all-out with a hybrid, but I am wary of suggesting that. The reason is that it actually gives too much access. We want users to fully aware of the access they are granting by installing a plugin. If so many UXP plugins end up as basic hybrid, then we risk users just expecting that as normal and click through the security warnings.

If you don’t need responses from a subprocess you could always uses a batch/shell script (with appropriate file system association).  
[https://developer.adobe.com/photoshop/uxp/2022/uxp-api/reference-js/Modules/uxp/shell/Shell/#openpathpath-developertext](https://developer.adobe.com/photoshop/uxp/2022/uxp-api/reference-js/Modules/uxp/shell/Shell/#openpathpath-developertext)

---

<div class="post-metadata">

### Author: ![dotproduct](https://avatars.discourse-cdn.com/v4/letter/d/258eb7/32.png) [@dotproduct](https://forums.creativeclouddeveloper.com/u/dotproduct)
#### Post date: [April 10, 2024, 4:41pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/11 "2024-04-10T16:41:02Z")

</div>

> [@samgannaway](#):
>
> Depending on what one needs there is usually a way around. Yes, you can go all-out with a hybrid, but I am wary of suggesting that. The reason is that it actually gives too much access.

I agree it’s a very heavy hammer. But in my humble opinion a way around that would have been for UXP to provide the needed functionality as part of the Javascript API. For instance an ‘exec’ function (with status/output return) could have been provided with a similar fine-grained permission scheme as we have for file access etc. (I.e. you could grant permission to run a specific command and/or have that be listed in the manifest). Similarly it would have been nice to have a mechanism to read environment variables (again listing the ones needed in the manifest). I am convinced, that just those two functionalities would probably have covered most of the pipeline needs out there. 🙂

---

<div class="post-metadata">

### Author: ![Jarda](https://sea1.discourse-cdn.com/flex015/user_avatar/forums.creativeclouddeveloper.com/jarda/32/1909_2.png) [@Jarda](https://forums.creativeclouddeveloper.com/u/Jarda)
#### Post date: [April 10, 2024, 9:27pm UTC](https://forums.creativeclouddeveloper.com/t/how-can-i-start-a-node-js-proxy-server-from-photoshop-uxp/3428/12 "2024-04-10T21:27:12Z")

</div>

Being able to run server on UXP side would greatly reduce this need as well.
