Skip to content

andreas-andersson/svndownloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SVN Downloader

Web app that checks out any SVN repository and delivers it as a ZIP archive — no SVN client required on the user's machine.

Features

  • Supports https://, http://, svn://, and svn+ssh:// URLs
  • Streams the ZIP directly to the browser
  • Strips .svn metadata from the archive
  • 300-second checkout timeout guard
  • Basic URL sanitisation (scheme allowlist + shell metacharacter rejection)

Requirements

  • Docker & Docker Compose, or
  • Python 3.12+ and the svn CLI installed locally

Running with Docker

docker compose up --build

Open http://localhost:8000.

Running locally

pip install -r requirements.txt
uvicorn app:app --reload

Requires svn on $PATH (e.g. apt install subversion / brew install subversion).

Usage

  1. Paste an SVN repository URL into the input field.
  2. Click Download ZIP.
  3. The server checks out the repository and streams a ZIP file back to your browser.

Project structure

app.py               # FastAPI application
templates/index.html # Single-page UI
Dockerfile
docker-compose.yml
requirements.txt

License

MIT — see LICENSE.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors