Skip to content

Commit 11481c3

Browse files
authored
remove windows proxy limitation (#107)
* remove windows proxy limitation * move setup cmd details to a single place
1 parent f851a1e commit 11481c3

File tree

1 file changed

+11
-37
lines changed

1 file changed

+11
-37
lines changed

README.md

Lines changed: 11 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -38,19 +38,7 @@ Set up `pmg` to protect your development environment from malicious packages:
3838
pmg setup install
3939
```
4040

41-
<details>
42-
<summary>Custom config directory</summary>
43-
44-
```bash
45-
PMG_CONFIG_DIR=/path/to/config pmg setup install
46-
```
47-
</details>
48-
49-
The setup command will:
50-
51-
- Create a `~/.pmg.rc` file containing package manager aliases
52-
- Automatically add a source line to your shell configuration files
53-
- Create a default config file. See [config template](config/config.template.yml)
41+
> **Note:** Make sure to restart your terminal or source your shell's config file.
5442
5543
Continue using your favorite package manager as usual:
5644

@@ -124,11 +112,19 @@ Set up PMG to intercept package manager commands:
124112
pmg setup install
125113
```
126114

127-
This command will:
115+
<details>
116+
<summary>Custom config directory</summary>
117+
118+
```bash
119+
PMG_CONFIG_DIR=/path/to/config pmg setup install
120+
```
121+
</details>
122+
123+
The setup command will:
128124

129125
- Create a `~/.pmg.rc` file containing package manager aliases
130126
- Automatically add a source line to your shell configuration files
131-
- Supports bash, zsh and fish shell
127+
- Create a default config file. See [config template](config/config.template.yml)
132128

133129
> **Note**: After running `pmg setup install`, restart your terminal or run `source ~/.zshrc` (or your shell's config file) to activate the aliases.
134130
@@ -260,28 +256,6 @@ from non-PyPI locations.
260256

261257
</details>
262258

263-
<details>
264-
<summary>Windows support for experimental proxy mode</summary>
265-
266-
PMG's experimental proxy mode (enabled with `--experimental-proxy-mode` flag) is supported on Windows
267-
with the following considerations:
268-
269-
**Process Suspension**: PMG uses the Windows NT API (NtSuspendProcess/NtResumeProcess) to pause the
270-
package manager during security prompts. This prevents console output from being mixed with interactive
271-
prompts. While this API is widely used by tools like Process Explorer and is stable, it has some known
272-
limitations:
273-
274-
- **Race condition**: Threads created during suspension are not suspended (very unlikely for brief suspensions)
275-
- **Permission requirements**: Requires Windows Vista or later (all currently supported Windows versions)
276-
- **Antivirus detection**: Some antivirus software may flag the use of NtSuspendProcess as suspicious behavior,
277-
which is a false positive (PMG only uses it to pause its own child processes during user interaction)
278-
279-
**Fallback Behavior**: If process suspension fails (e.g., due to insufficient permissions), PMG continues
280-
with the security prompt but console output from the package manager may be mixed with the prompt text.
281-
This doesn't affect security functionality.
282-
283-
</details>
284-
285259
## Telemetry
286260

287261
`pmg` collects anonymous telemetry to help us understand how it is used and

0 commit comments

Comments
 (0)