Skip to content

Commit

Permalink
docs: update platform support and browser documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
mherod committed Jan 5, 2025
1 parent 9ef6932 commit 4a17f35
Show file tree
Hide file tree
Showing 7 changed files with 550 additions and 196 deletions.
52 changes: 16 additions & 36 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ const cookies = await getCookie({
});
```

⚠️ **Note: macOS only. Windows/Linux support planned.**
⚠️ **Platform Support**:

- Chrome: macOS only
- Firefox: macOS and Linux
- Safari: macOS only

## Installation 📦

Expand Down Expand Up @@ -60,7 +64,7 @@ get-cookie --url https://example.com/path
### Node.js

```typescript
import { getCookie } from "@mherod/get-cookie";
import { getCookie, type CookieSpec } from "@mherod/get-cookie";

try {
// Get specific cookie
Expand All @@ -73,7 +77,6 @@ try {
const cookies = await getCookie({
name: "%", // all cookies
domain: "example.com",
removeExpired: true, // skip expired
});
} catch (error) {
console.error("Failed:", error);
Expand All @@ -82,26 +85,17 @@ try {

## Features ✨

- 🌐 **Multi-Browser Support**: Works with Chrome, Firefox, and Safari on macOS
- 🔒 **Secure**: Safe cookie extraction with proper encryption handling
- 📝 **TypeScript Ready**: Built with TypeScript for excellent type safety
- 🎯 **Flexible Querying**: Search by name, domain, or URL pattern
- 🌐 **Multi-Browser Support**:
- Chrome (macOS)
- Firefox (macOS, Linux)
- Safari (macOS)
- 🔒 **Secure**: Browser-specific encryption handling
- 📝 **TypeScript Ready**: Full type safety with exported type definitions
- 🎯 **Flexible Querying**: Search by name, domain, or use wildcards
- 🔄 **Multiple Output Formats**: JSON, rendered, or grouped results
- 👥 **Profile Support**: Query cookies from different browser profiles

## Platform Support 🖥️

**Important: This package currently only works on macOS.**

- ✅ macOS: Full support for Chrome, Firefox, and Safari
- ❌ Windows: Not currently supported
- ❌ Linux: Not currently supported
- 👥 **Profile Support**: Chrome and Firefox multi-profile support

Browser-specific notes:

- Chrome: Requires macOS Keychain access for cookie decryption
- Firefox: Reads from SQLite database in profile directories
- Safari: Reads binary cookie format from Safari container
⚠️ **Note: Platform support varies by browser. See our [Platform Support Guide](https://mherod.github.io/get-cookie/guide/platform-support.html) for details.**

## Output Formats 📊

Expand Down Expand Up @@ -140,18 +134,4 @@ This project is licensed under the MIT License - see the LICENSE file for detail

## Known Limitations 🚧

1. **Platform Support**

- Only works on macOS
- Windows and Linux support is planned for future releases

2. **Browser Support**

- Chrome: Requires macOS Keychain access
- Firefox: Requires readable profile directory
- Safari: Requires access to Safari container directory

3. **Error Handling**
- Some cookies may fail to decrypt
- Browser profile access may be restricted
- Keychain access may require user approval
For a comprehensive list of limitations and known issues, please see our [Known Limitations Guide](https://mherod.github.io/get-cookie/guide/limitations.html).
1 change: 1 addition & 0 deletions docs/.vitepress/config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ export default defineConfig({
{ text: "🛡️ Security & Privacy", link: "/guide/security" },
{ text: "🔍 Troubleshooting", link: "/guide/troubleshooting" },
{ text: "💻 CLI Usage", link: "/guide/cli-usage" },
{ text: "🚧 Known Limitations", link: "/guide/limitations" },
],
},
{
Expand Down
Loading

0 comments on commit 4a17f35

Please sign in to comment.