惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Engineering at Meta
Engineering at Meta
月光博客
月光博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
博客园 - Franky
The GitHub Blog
The GitHub Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
B
Blog RSS Feed
云风的 BLOG
云风的 BLOG
小众软件
小众软件
罗磊的独立博客
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
美团技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
V2EX
C
Check Point Blog
WordPress大学
WordPress大学
博客园 - 【当耐特】
博客园 - 司徒正美
D
Docker

Show HN

GitHub - astefanutti/shaderbang: Shebang for Shaders Show HN: Generate Claude Code Workflows using Spec Driven Development approach Show HN: AI agents for UK GDAD PCF roles and their skills The Two Pillars: Mixer Mode and Meta-Software in the Reorganization of Software Work After AI GitHub - JaiCode08/teleport-env What 1,000+ Harness Experiments Taught Me About Self-Improving Agents Show HN: Liiists, a Markdown-first, iOS and CLI list app SwiperTab – Get this Extension for 🦊 Firefox (en-US) GitHub - kouhxp/fftext: Summarize, explain, fact-check, or translate any text, URL, or file. No GPU. No cloud. One command GitHub - sweetpad-dev/sweetpad: Develop Swift/iOS projects using VSCode GitHub - dogmaticdev/IRON: IRON a.k.a. Intermediate Representation Object Notation is a Interpreter/Database that is used to create Programming Languages. GitHub - sjhalani7/vaen: Package your AI coding harness into a portable .agent file, and share it across repos, teams, & the community without ever having to copy-paste instructions, skills, MCP config, or secrets. Show HN: Gandalf the Grader Show HN: Citadeld – replay any CI failure locally from a single file GitHub - tdortman/cuSBF: High-Performance GPU Super Bloom Filter coral-ai/claude-code-token-xray at main · Coral-Bricks-AI/coral-ai GitHub - ulyssestenn/funes: Funes is a Git-based framework for LLM-managed knowledge work: an AI Librarian ingests raw sources, builds an interlinked Markdown knowledge base, and uses it to produce cited reports, analyses, and other outputs. GitHub - ThatXliner/gah: Git Add Hunk, built for agents to use GitHub - harmont-dev/harmont-cli: Command-line client for the Harmont CI platform GitHub - brooksmcmillin/mcp-authflow: OAuth 2.0 Authorization Server framework for MCP servers GitHub - javaid-codes/audit-supply-chain-agents GitHub - amorey/gochan: A small library of common channel architectures for Go, inspired by Rust GitHub - arifozgun/OpenGem: Free, Open-Source AI API Gateway with Gemini, OpenAI & Anthropic Compatibility in 1 file GitHub - Pranesh950/BioPetals: 🌸 Run BIOxAI models at home, BitTorrent-style. Fine-tuning and inference up to 10x faster than offloading GitHub - cnguyen14/bounty-doctor: Diagnose a GitHub bounty issue before you waste hours: detects honeypot scam repos, AI-bot attempt swarms, and stale contests. Show HN: CoreMCP – MCP Server for On-Prem DBs Show HN: KittyHTML – Render HTML/CSS as an inline image in your terminal GitHub - bingud/filemat: Web-based file manager Show HN: TruthLens – Free multi-signal deepfake image detector GitHub - apexlocal-jz/claude-usage-tray: Windows system-tray app showing your Claude Code rate-limit usage at a glance. Zero deps, ~300 lines of PowerShell. Cross-IDE (works regardless of VS Code, Cursor, plain terminal).
GitHub - cgopalan/s3fileviewer: A simple web UI to view d...
cgopalan · 2026-06-23 · via Show HN

S3 File Viewer

A web app for browsing S3 buckets and querying text files with SQL. Built with Go, HTMX, the AWS SDK, and DuckDB.

Features

  • Browse S3 buckets with folder-style prefix navigation
  • View .csv and .txt files only
  • Inspect column names and types for tabular files
  • Run SQL queries against a file using DuckDB (via the data view)
  • Raw text preview fallback for unstructured files

Prerequisites

  • Go 1.23+
  • AWS credentials configured via the default credential chain (environment variables, ~/.aws/credentials, or IAM role)
  • AWS user must have AmazonS3ReadOnlyAccess permission (only readonly is enough)
  • Network access on first run (DuckDB downloads the httpfs extension)

Configuration

Variable Default Description
AWS_REGION (required) AWS region for S3. Falls back to AWS_DEFAULT_REGION.
PORT 8080 HTTP listen port
MAX_QUERY_ROWS 1000 Max rows returned per query (LIMIT appended if missing)
QUERY_TIMEOUT_SEC 30 Query timeout in seconds
BUCKET_ALLOWLIST (empty) Comma-separated bucket names to allow (empty = all)
RAW_PREVIEW_BYTES 262144 Max bytes shown in raw text preview

Run locally

export AWS_REGION=us-east-1
go run ./cmd/server

Open http://localhost:8080, enter a bucket name, and browse.

Screenshot

Usage

  1. Home — Enter a bucket name and optional prefix, then click Browse.
  2. Browse — Click folders to navigate; click .csv or .txt files to open them. Other file types are listed but not viewable.
  3. File view — For tabular files:
    • Columns pane loads automatically with schema info
    • SQL Query pane runs queries against the data view (e.g. SELECT * FROM data LIMIT 100)
    • Results pane shows query output

For unstructured text files, a raw preview is shown instead of the SQL interface.

SQL safety

  • Only SELECT queries are allowed
  • Multi-statement queries (semicolons) are rejected
  • Destructive keywords (DROP, INSERT, CREATE, etc.) are blocked
  • Results are capped at MAX_QUERY_ROWS

Project structure

cmd/server/          HTTP server entrypoint
internal/config/     Environment configuration
internal/s3/         AWS S3 listing and object reads
internal/duckdb/     DuckDB pool, schema, and query execution
internal/files/      Text file detection and reader selection
internal/handlers/   HTTP handlers, templates, and static assets