Overshare is ALPHA software. It is fragile and needs love to grow.
Overshare is a crystal web app that works a bit like Droplr/CloudApp. You send Overshare a file or url and you get back a shortened link. This is designed to be run on your OWN server for your privacy. Overshare will also automatically convert markdown and asciidoc into html. Also, Overshare is written in Crystal, so it’s pretty fast (benchmarks soon).
-
Save and Shorten URLs
-
Quick one-off file sharing
-
Turn shared markdown/asciidoc into html
-
Allow viewing/downloading markdown/asciidoc source
-
Landing pages for shared files #TODO
-
Act like Github gist service and show pretty code files #TODO
-
NOTE: Overshare does NOT use a database. It uses the filesystem as it primarily deals with FILES.
-
NOTE: Overshare is hosted by YOU.
-
NOTE: It is up to you to purge old files. This may change.
-
Your files and data will be stored in the
details_dir
(seeconfig/settings.yml
) -
Files saved by POSTing to the app live in a subdirectory by short id like this:
-
details/<SHORTID>/File.ext
-
details/<SHORTID>/data.yml
-
-
URLs are mapped like:
http://your-host/-SHORTID
-
You can make arbitrary folders in your details directory. They do NOT have to have a
data.yml
to be served. So if you makedetails/blog/2018-04-05-My-Adventure.html
then you can find it athttp://your-host/-blog/2018-04-05-My-Adventure.html
-
git clone https://github.com/lodestone/overshare.git
-
cd overshare
-
cp config/settings.example.yml config/settings.yml
-
shards install
to install dependencies -
crystal src/overshare.cr — server
to run the server -
KEMAL_ENV=test crystal spec
to run specs
-
Build the binary
crystal build --release --no-debug src/overshare.cr
-
Run the server
./overshare server
I recommend you use a service like DigitalOcean (Referral Link) to run a small personal server.
TODO: Fill out this section.
Here are some curl examples for reference, but I recommend you use the Alfred Workflow or shell script instead.
curl -F "endpoint=http://news.ycombinator.com" "http://user:pass@your-host/-"
{"message":"Created","url":"http://your-host/-byczr0"}
- Alfred Workflow
-
Alfred Workflow for easy macOS oversharing (I set
⌥+o
to share with my Overshare instance) - Shell Script
-
Usage:
oshare [filepath||url]
resources/oshare
-
Fork it (https://github.com/lodestone/overshare/fork)
-
Create your feature branch (git checkout -b my-new-feature)
-
Commit your changes (git commit -am 'Add some feature')
-
Push to the branch (git push origin my-new-feature)
-
Create a new Pull Request
-
@lodestone Matt Petty - creator, maintainer