explaingit

yorukot/sharing

Analysis updated 2026-07-05 · repo last pushed 2025-10-26

2GoAudience · pm founderComplexity · 3/5QuietSetup · moderate

TLDR

A lightweight, self-hosted file-sharing service. Upload files and get short, memorable links to share with anyone, with optional passwords and expiration dates.

Mindmap

mindmap
  root((repo))
    What it does
      Upload files via web
      Get short share links
      Auto cleanup expired files
    Key features
      Password protection
      Expiration dates
      Custom link names
    Tech stack
      Go language
      SQLite database
      Local file storage
    Use cases
      Share team reports
      Send files to clients
      Automate via API
    Audience
      Founders and small teams
      Private file sharing
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share a quarterly report with your team using a custom, password-protected link that expires automatically.

USE CASE 2

Automate file uploads from another application using the built-in API.

USE CASE 3

Send a large file to a client with a memorable link like your-site.com/project-file.

USE CASE 4

Host a private alternative to Dropbox or WeTransfer links for your small team.

What is it built with?

GoSQLite

How does it compare?

yorukot/sharingdanterolle/loqiiwetan77/flume
Stars222
LanguageGoGoGo
Last pushed2025-10-26
MaintenanceQuiet
Setup difficultymoderatemoderatemoderate
Complexity3/52/54/5
Audiencepm founderdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires setting up a reverse proxy like Nginx with HTTPS for production use.

In plain English

Sharing is a lightweight file-sharing service you can host yourself. It lets you upload a file and get back a short, memorable link (like your-site.com/my-document) that you can send to anyone. Recipients visit the link and the file downloads immediately, no landing pages, no sign-up walls, just the file. You can optionally add a password, set an expiration date, or choose a custom short link (called a "slug") when uploading. If a file is password-protected, the recipient sees a simple password prompt before the download starts. Expired files are automatically cleaned up by a background job that runs hourly. There are two ways to use it: through a web interface or through an API. The web UI requires you to log in with a single API key, and from there you can upload files, manage existing ones, and copy share links. The API lets you do the same things programmatically, useful if you want to build file sharing into another app or automate uploads. All management actions require that API key, only the public share links work without authentication. This is a good fit for a founder or small team that wants a private, self-hosted alternative to Dropbox or WeTransfer links. For example, you could share a quarterly report with a specific team using a link like share.example.com/q4-report, protected by a password, expiring at year-end. It's not designed for large-scale public services, there's no multi-user system or account management, just one API key controlling everything. The project is built in Go and uses SQLite for storage, which means it runs as a single small application with no external database to manage. Files are stored on the local filesystem. The README recommends placing it behind a reverse proxy like Nginx with HTTPS for production use.

Copy-paste prompts

Prompt 1
Help me deploy the yorukot/sharing file-sharing service on my server using Docker and set up Nginx as a reverse proxy with HTTPS.
Prompt 2
Write a Python script to upload a file to my self-hosted Sharing instance using its API, and then print the resulting share link.
Prompt 3
Generate an Nginx configuration file to place the Sharing Go application behind a reverse proxy, including SSL setup.
Prompt 4
Show me how to set the API key and configure a custom slug and expiration date when uploading a file through the Sharing web interface.

Frequently asked questions

What is sharing?

A lightweight, self-hosted file-sharing service. Upload files and get short, memorable links to share with anyone, with optional passwords and expiration dates.

What language is sharing written in?

Mainly Go. The stack also includes Go, SQLite.

Is sharing actively maintained?

Quiet — no commits in 6-12 months (last push 2025-10-26).

How hard is sharing to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is sharing for?

Mainly pm founder.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub yorukot on gitmyhub

Verify against the repo before relying on details.