- Scheme 80.5%
- Makefile 19.5%
|
Juliana Sims
638d6cbffe
* guix.scm (guile-magenc): Add tagged commit to package definition. |
||
|---|---|---|
| src | Add optional out-port arguments to gs-receive and gs-send. | |
| tests | Add test data. | |
| .gitignore | Initial commit | |
| COPYING | Initial commit | |
| guix.scm | guix: Add tagged commit to Magenc package definition. | |
| Makefile | Makefile: Modify check comment to work with GoblinShare. | |
| README.org | README: Remove mentions of Magic Wormhole. | |
GoblinShare
Overview
Building
The easiest way to build GoblinShare is using Guix. You can use guix.scm to
enter a development shell and build manually:
guix shell -Df guix.scm
make
You can also enter a shell with the package built and installed by Guix using
guix shell -f guix.scm, or install it to a profile with guix install -f
guix.scm [-p /path/to/guix/profile].
If you want to build GoblinShare without Guix, you'll need a few runtime dependencies:
You'll also need a few build dependencies:
The manual build process is quite simple:
make
# and optionally
# make install
If you install GoblinShare, it should end up on your PATH. If you don't,
there is a goblinshare executable in the root of the build directory which
should work just fine.
Note that cross-compilation is not currently supported by the build system. Similarly, this build has only been tested on Linux, but it should work just fine on other Unix-like platforms.
Usage
GoblinShare has two commands: goblinshare send and goblinshare receive.
Before using either command, you must have a running Tor daemon.
Setting Up Tor
First, make sure there is a file at $XDG_CONFIG_HOME/goblins/tor-config.txt
with the following content ($XDG_CACHE_HOME should be its actual value, usually
/home/<user>/.cache where <user> is your user name):
DataDirectory $XDG_CACHE_HOME/goblins/tor/data
SocksPort unix:$XDG_CACHE_HOME/goblins/tor/tor-socks-sock RelaxDirModeCheck
ControlSocket unix:$XDG_CACHE_HOME/goblins/tor/tor-control-sock RelaxDirModeCheck
Log notice file $XDG_CACHE_HOME/goblins/tor/tor-log.txt
Then, ensure the requisite directories exist, such as by mkdir -p
$XDG_CACHE_HOME/goblins/tor/data.
Finally, run tor -f $XDG_CONFIG_HOME/goblins/tor-config.txt. You should see
some textual output. Assuming there are no errors, you can now leave this
process running and use GoblinShare.
Send
goblinshare send accepts one argument, the name of a file to send. Assuming
you want to share a file called file.txt, that would look like:
goblinshare send file.txt
This will print the magnet URL for the file, which includes an OCapN URL. Copy that and give it to your intended recipient through your preferred medium.
Receive
goblinshare receive also accepts one argument, the magnet URL of the file to
download. It can also take one option, -o or --output, whose argument is
the name of the file to write out. If we want to receive a file and write it to
file.txt, that would look like this, putting a placeholder for the magnet URL
for brevity:
goblinshare receive magnet://... -o file.txt # or --output=file.txt
Other Options
The standard --help and --version options are also supported.
And that's it! That's GoblinShare in a nutshell!
License
GoblinShare is licensed under Apache v2.