Skip to content

Commit 7a25198

Browse files
ammarioclaude
andcommitted
ci: add automated crate publishing workflow
- Add publish workflow that triggers on version tags (v*) - Include Rust caching for faster CI builds - Verify tag version matches Cargo.toml before publishing - Update README with crates.io and CI status badges - Move installation instructions to top of README 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 301e870 commit 7a25198

2 files changed

Lines changed: 31 additions & 27 deletions

File tree

.github/workflows/publish.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ jobs:
2222
with:
2323
toolchain: stable
2424

25+
- name: Setup Rust cache
26+
uses: Swatinem/rust-cache@v2
27+
2528
- name: Verify version matches tag
2629
run: |
2730
# Extract version from Cargo.toml

README.md

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,32 @@
11
# httpjail
22

3+
[![Crates.io](https://img.shields.io/crates/v/httpjail.svg)](https://crates.io/crates/httpjail)
4+
[![CI](https://github.com/coder/httpjail/actions/workflows/tests.yml/badge.svg)](https://github.com/coder/httpjail/actions/workflows/tests.yml)
5+
36
A cross-platform tool for monitoring and restricting HTTP/HTTPS requests from processes using network isolation and transparent proxy interception.
47

8+
## Installation
9+
10+
### Install via Cargo
11+
12+
```bash
13+
cargo install httpjail
14+
```
15+
16+
### Install from source
17+
18+
```bash
19+
# Clone the repository
20+
git clone https://github.com/coder/httpjail
21+
cd httpjail
22+
23+
# Build with Cargo
24+
cargo build --release
25+
26+
# Install to PATH
27+
sudo cp target/release/httpjail /usr/local/bin/
28+
```
29+
530
## Features
631

732
- 🔒 **Process-level network isolation** - Isolate processes in restricted network environments
@@ -96,44 +121,20 @@ httpjail creates an isolated network environment for the target process, interce
96121
| Sudo required | ⚠️ Yes | ✅ No | 🚧 |
97122
| Force all traffic | ✅ Yes | ❌ No (apps must cooperate) | 🚧 |
98123

99-
## Installation
100-
101-
### Prerequisites
124+
## Prerequisites
102125

103-
#### Linux
126+
### Linux
104127

105128
- Linux kernel 3.8+ (network namespace support)
106129
- nftables (nft command)
107130
- libssl-dev (for TLS)
108131
- sudo access (for namespace creation)
109132

110-
#### macOS
133+
### macOS
111134

112135
- macOS 10.15+ (Catalina or later)
113136
- No special permissions required (runs in weak mode)
114137

115-
### Install from source
116-
117-
```bash
118-
# Clone the repository
119-
git clone https://github.com/yourusername/httpjail
120-
cd httpjail
121-
122-
# Build with Cargo
123-
cargo build --release
124-
125-
# Install to PATH
126-
sudo cp target/release/httpjail /usr/local/bin/
127-
128-
# CA certificate is auto-generated on first run
129-
```
130-
131-
### Install via Cargo
132-
133-
```bash
134-
cargo install httpjail
135-
```
136-
137138
## Usage Examples
138139

139140
### Basic Usage

0 commit comments

Comments
 (0)