Skip to main content

peekin

A lightweight, read-only file browser for your web browser. Browse a folder and preview images (swipeable gallery), video, audio, PDF, and source code with syntax highlighting. Works on desktop and phone. Fully offline.

Run

uvx peekin                     # share the current folder on http://127.0.0.1:8000
uvx peekin ~/Pictures --open   # share a folder and open the browser
python -m peekin               # after: pip install peekin

Until the first PyPI release:

uvx --from git+https://github.com/sumanmichael/peekin peekin

Share on your network

uvx peekin --host 0.0.0.0

peekin needs a password whenever it listens on something other than localhost. If you don't set one, it generates one and prints it at startup. Set your own with PEEKIN_PASSWORD=... or --password-file FILE. --no-password turns the password off (not recommended on shared networks).

Options

Option Default Meaning
FOLDER . Folder to share
--host 127.0.0.1 Address to listen on (0.0.0.0 for your network)
--port 8000 Port
--password-file Read the password from this file's first line
--no-password off Never ask for a password
--thumbs off Image thumbnails in grid view (install with uvx --from 'peekin[thumbs]' peekin --thumbs)
--show-hidden off Show dotfiles
--open off Open the browser

Security

  • Read-only: nothing in the shared folder can be changed through peekin.
  • Paths cannot escape the shared folder, including through symlinks.
  • Five wrong passwords lock that IP address out for 60 seconds, doubling each time.
  • HTML and SVG files are downloaded, never rendered, so files you share can't run scripts in peekin.
  • Other websites you visit can't read your files through peekin: cross-site requests are blocked, and without a password peekin only answers to IP addresses, localhost, and *.local names.
  • No HTTPS: use it on networks you trust, not on the public internet.

Develop

uv run pytest
uv run peekin .

Release

  1. Bump __version__ in src/peekin/__init__.py and commit.
  2. gh release create vX.Y.Z --generate-notes (the tag must match the version).
  3. The publish workflow tests, builds, and uploads to PyPI via trusted publishing.

License

MIT

Release files for peekin 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for peekin 0.1.0
File Size Uploaded
peekin-0.1.0.tar.gz 68.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for peekin 0.1.0
File Interpreter ABI Platform
peekin-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 90.0 kB

Release files / peekin-0.1.0.tar.gz

Download URL peekin-0.1.0.tar.gz
Size 68.7 kB
Tags Source
SHA-256 checksum
How to use checksums
b1c649d31ed14f20c2209660bea233a819ddae499ee2077ea552c19479dd8e87
BLAKE2b-256 checksum
How to use checksums
be9561a4b44f8cba62f4784f087da2dba317f898c510fbd2e5ae4a05195fb000
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / peekin-0.1.0-py3-none-any.whl

Download URL peekin-0.1.0-py3-none-any.whl
Size 21.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cfb2b4ece581a98dc947250b827a239c856b74e4b80af14cfbf909cdadc322f6
BLAKE2b-256 checksum
How to use checksums
85235501ac7c9bacc6bd1a61b3fcd7d154b66919697312d9eff61526ce8f6f23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

1.0.0

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page