ShellShare revolutionizes file sharing by leveraging the SSH protocol, empowering users to securely share files of any size across the internet. This powerful tool simplifies the sharing process while ensuring data security.
- Seamless File Sharing
- File Size Agnostic: Share files of any size hassle-free.
- Secure Protocol: Utilize the SSH protocol for robust encryption and secure transfers.
- User-Friendly Interface
- Generate Shareable Links: Easily create links for others to download shared files.
- Effortless Sharing: Share files effortlessly without worrying about limitations.
ShellShare offers a straightforward solution for sharing files securely over the internet using SSH. Simplify your file-sharing experience today!
ShellShare establishes a robust tunnel between an SSH server and an HTTP server using Golang channels, facilitating seamless file streaming and sharing.
- Tunnel Establishment:Creates a tunnel between SSH and HTTP servers leveraging Golang channels.
- SSH Session & File Streaming:Initiates an SSH session for efficient file streaming and sharing.
- Shareable Link Generation:Upon receiving a signal in the SSH server, generates a shareable link.
- Data Propagation: Pushes signal data through Golang channels.
- Download Link Activation:Upon user interaction (clicking the download link), the server listens to the designated channel.
- File Wrapping & HTTP Response:Starts encapsulating file bytes into the HTTP response for download.
ShellShare orchestrates a streamlined process, seamlessly integrating SSH and HTTP servers for efficient file sharing. It ensures data transmission security and a smooth user experience, simplifying the sharing and retrieval of files via generated links.
- Clone the project
git clone git@github.com:gauravgola96/shellshare.git
- Go to the project directory
cd shellshare/
go mod tidy
go install <path-to/shellshare/cmd/shellshare>
ls $GOPATH/bin
- Install dependencies:
Mongo (Not required if only using SSH) :https://www.mongodb.com/docs/manual/installation/
- Start the server
cd <path>/shellshare
shellshare combined
ssh localhost -p 2222 < <path to file>
WARNING : Only file size upto 2GB is allowed !!! ⚠️
Your download link 👀 : http://localhost:8000/v1/redirect/download/018c1ba5-4467-7842-ae24-63fba2a72c7d
Please don't kill this session
Your link will expire in 15 minutes, If not used 🤗
ssh localhost -p 2222 filename="file.yaml" < file.yaml