Downcat
A simple cross-platform remote file management tool to upload and download files over HTTP/S
|
|
|
|
---|
β¨
Features
π
Install
Automated install (Linux only)
β
You should not run scripts off the internet without checking them first. You can view the install script here.
You can run an automated install of downcat using the command below. It is highly recommended you run it as root to avoid any permissions-related problems.
curl -sSL https://raw.githubusercontent.com/sexnine/downcat/main/install/downcat_linux.sh | sudo bash
Manual install
- Download the latest binary from the releases tab
- Place it into your path
- Make it executable
- Run with
downcat
π€
Usage
Run downcat to serve your current directory and then open the link in your browser
~$ downcat π Starting downcat... β Downcat v0.2.0 running! β¨ Listening on http://192.168.0.23:3030/
See extra options by viewing the help with downcat -h
or downcat --help
Downcat is not meant to be used as a web server. It is meant to be used as a quick and easy file management utility for when you quickly need to up/download a file from a server.
π
Development
- Clone the repo
git clone https://github.com/sexnine/downcat.git
- Go into the project's directory
cd downcat/
β
Installing Dependancies
- Go into the frontend directory
cd frontend/
- Install NPM dependancies with
npm i
- Rust dependencies will automatically install when building or running the project with
cargo build
&cargo run
respectively.
βΆ
Running
Frontend
- Go into the frontend directory
cd frontend/
- Run the dev server with
npm run dev
. The dev server supports hot reloading. - Modify the API endpoint in
.env.development
if you need to.
Note: While developing, the frontend and backend should be run seperately. When building a release version, the frontend's files will be embedded into the rust binary.
Backend
- Simply run with
cargo run
in the project root.
π
Building
- Build the frontend
- Go into the frontend directory
cd frontend/
- Install dependancies if you haven't already with
npm i
- Build the frontend with
npm run build
- Go into the frontend directory
- Build using
cargo build --release
π£
Roadmap
- Retrieve Files and Folders
v0.1.0
- Get metadata
v0.1.0
- Sort file list
v0.1.0
- Search file list
- Enhanced File Icons
- Download multiple files
- Directory History
v0.1.0
- Get metadata
- Uploading Files
- Uploading Folders
- Managing Files/Folders
- Renaming
- Deleting
- Moving
- Copying
- SSL
v0.2.0
- Optionally enable SSL using
--ssl
flag
- Optionally enable SSL using
- Password Authentication
v0.1.0
- Updater
v0.2.0
- Checks for updates
v0.2.0
-
downcat update
to perform a self-updatev0.2.0
- Checks for updates
- Cross Platform support
- Windows
- Linux
untested
- MacOS
untested
- Allow downcat to access any directory
- With the
--any
flag, downcat will be able to access any directory or files it has permissions to
- With the
β€
Acknowledgements
- @sc0tfree for the original inspiration for this project (updog)
- @jethr0-1 (jethro#1547 on Discord) for making a Linux install script for downcat
Made with