{"id":30535283,"url":"https://github.com/roelvangils/phim","last_synced_at":"2026-05-03T12:32:01.948Z","repository":{"id":309965757,"uuid":"1038214177","full_name":"roelvangils/phim","owner":"roelvangils","description":"A minimalistic macOS web viewer for focused reading","archived":false,"fork":false,"pushed_at":"2025-08-15T15:52:19.000Z","size":12017,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-27T21:55:43.470Z","etag":null,"topics":["browser","macos","macos-app","minimalist","privacy","sparkle","swift","swiftui","vibrancy","webkit"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/roelvangils.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-14T20:05:44.000Z","updated_at":"2025-08-23T09:29:21.000Z","dependencies_parsed_at":"2025-08-14T22:26:28.473Z","dependency_job_id":null,"html_url":"https://github.com/roelvangils/phim","commit_stats":null,"previous_names":["roelvangils/phim"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/roelvangils/phim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roelvangils%2Fphim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roelvangils%2Fphim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roelvangils%2Fphim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roelvangils%2Fphim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/roelvangils","download_url":"https://codeload.github.com/roelvangils/phim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/roelvangils%2Fphim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32569712,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["browser","macos","macos-app","minimalist","privacy","sparkle","swift","swiftui","vibrancy","webkit"],"created_at":"2025-08-27T14:53:13.221Z","updated_at":"2026-05-03T12:32:01.910Z","avatar_url":"https://github.com/roelvangils.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"icon.png\" alt=\"Phim Icon\" width=\"128\" height=\"128\"\u003e\n  \n  # Phim\n  \n  [![GitHub release](https://img.shields.io/github/v/release/roelvangils/phim?include_prereleases\u0026style=flat-square)](https://github.com/roelvangils/phim/releases)\n  [![License](https://img.shields.io/github/license/roelvangils/phim?style=flat-square)](LICENSE)\n  [![Platform](https://img.shields.io/badge/platform-macOS%2015.0%2B-blue?style=flat-square)](https://www.apple.com/macos/)\n  [![Swift](https://img.shields.io/badge/Swift-5.9-orange?style=flat-square)](https://swift.org)\n  [![GitHub Pages](https://img.shields.io/badge/docs-GitHub%20Pages-brightgreen?style=flat-square)](https://roelvangils.github.io/phim/)\n  \n  Phim is a superfast, ephemeral webpage viewer.  \n  It has no history, cookies, navigation, or distractions.  \n  It's the perfect companion for [Velja](https://sindresorhus.com/velja) and [Hyperduck](https://sindresorhus.com/hyperduck).\n  \n  [**Download**](https://github.com/roelvangils/phim/releases/latest) • [**Website**](https://roelvangils.github.io/phim/) • [**Documentation**](#usage)\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"screenshot.png\" alt=\"Phim Screenshot\" width=\"100%\" style=\"max-width: 1200px; margin: 2rem 0;\"\u003e\n\u003c/div\u003e\n\n## Why Phim?\n\nPhim is designed for **ephemeral reading**. Every session starts completely fresh - no cookies, no cache, no history. When you close Phim, it's like it was never there. This makes it perfect for:\n\n- Reading documentation without cluttering your browser\n- Checking competitor websites privately\n- Viewing sensitive documents\n- Quick link previews via Velja or Hyperduck\n- Testing websites in a clean environment\n\n## Features\n\n- **Truly Ephemeral**: Every session starts fresh, nothing is saved\n- **Minimalist Design**: Borderless window with floating toolbar that appears on hover\n- **Intelligent Vibrancy**: Automatically makes light backgrounds transparent for a native macOS look\n- **Zen Mode**: Distraction-free reader view that extracts and beautifully formats article content\n- **Browser Integration**: Automatically detects and offers to open tabs from your active browser\n- **Multiple Input Methods**: \n  - Command-line arguments\n  - Piped input\n  - Drag and drop\n  - Open With context menu\n  - Clipboard monitoring\n- **Keyboard Shortcuts**:\n  - `O`: Open current URL in default browser\n  - `R`: Reload page\n  - `C`: Copy current URL\n  - `Z`: Zen Mode (distraction-free reader view)\n  - `X`: Close Phim\n  - `⌘⇧V`: Toggle vibrancy\n  - `⌘⇧L`: Toggle fancy loading animation\n- **Auto-Updates**: Built-in Sparkle framework for automatic updates\n\n## Installation\n\n### Install with Homebrew\nThe easiest way to install and keep Phim updated:\n```bash\n# Add the tap and install\nbrew tap roelvangils/phim\nbrew install --cask phim\n\n# Update to the latest version\nbrew upgrade --cask phim\n```\n\n### Direct Download\nDownload the latest release from the [Releases](https://github.com/roelvangils/phim/releases) page and drag Phim.app to your Applications folder.\n\n### Build from Source\n```bash\ngit clone https://github.com/roelvangils/phim.git\ncd phim\n./build_with_spm.sh\n```\n\n## Usage\n\n### From Finder\n1. Open Phim.app from Applications folder\n2. The app will automatically load URLs from your clipboard when it becomes active\n\n### From Terminal\n```bash\n# Open a URL\nphim https://example.com\n\n# Open a local file\nphim /path/to/file.html\n\n# Pipe a URL\necho \"https://example.com\" | phim\n```\n\n### As Default Handler\nRight-click any HTML file → Open With → Phim\n\n## Requirements\n\n- macOS 15.0 (Sequoia) or later\n- Apple Silicon or Intel Mac\n\n## Development\n\n### Project Structure\n```\nphim/\n├── PhimSource/           # Swift source files\n│   ├── PhimApp.swift    # Main application\n│   ├── ContentView.swift # UI container\n│   ├── WebView.swift    # WebKit wrapper\n│   └── welcome.html     # Welcome page\n├── build.sh             # Build script\n├── generate_sparkle_keys.sh # Sparkle key generation\n└── sign_update.sh       # Update signing script\n```\n\n### Building\nThe project uses a custom build script that expects an Xcode project in the `Phim/` subdirectory:\n```bash\n./build.sh\n```\n\n### Creating Updates\n1. Generate EdDSA keys (one time only):\n   ```bash\n   ./generate_sparkle_keys.sh\n   ```\n\n2. Build and sign your update:\n   ```bash\n   ./build.sh\n   ditto -c -k --sequesterRsrc --keepParent Phim.app Phim-1.0.1.zip\n   ./sign_update.sh 1.0.1 Phim-1.0.1.zip\n   ```\n\n3. Update `appcast.xml` with the generated entry\n4. Upload both files to GitHub releases\n\n## Privacy\n\nPhim respects your privacy:\n- No persistent cookies or cache\n- No tracking or analytics\n- No data collection\n- Each session starts fresh\n\n## License\n\nMIT License - See [LICENSE](LICENSE) file for details\n\n## Contributing\n\nContributions are welcome! Please feel free to submit pull requests or open issues for bugs and feature requests.\n\n## Author\n\nCreated by Roel Van Gils\n\n## Acknowledgments\n\n- Built with Swift and SwiftUI\n- Uses [Sparkle](https://sparkle-project.org/) for automatic updates\n- Inspired by the need for a focused, distraction-free reading experience on macOS","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froelvangils%2Fphim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froelvangils%2Fphim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froelvangils%2Fphim/lists"}