/linx-client

Command-line client for linx-server

Primary LanguageGoGNU General Public License v3.0GPL-3.0

Development on this repository has been frozen.

Feel free to send a pull request if you are maintaining an active fork of this project to add a link to your repository in this readme.


linx-client

Simple client for linx-server

Uses a json configuration and logfile (for storing deletion keys of uploads)

Features

  • Upload file and store deletion key
  • Upload from stdin and store deletion key
  • Overwrite file using stored deletion key
  • Delete file using stored deletion key
  • Sha256sum client-server matching

Get release and run

  1. Grab the latest binary from the releases
  2. Run ./linx-client...

Configuration

When you first run linx-client, you will be prompted to configure the instance url, logfile path and api keys.

$ ./linx-client  
Configuring linx-client  
  
Site url (ex: https://linx.example.com/): https://linx.example.com/  
Logfile path (ex: ~/.linxlog): ~/.linxlog  
API key (leave blank if instance is public):  
  
Configuration written at ~/.config/linx-client.conf  ``

Usage
----- 

#### Upload file(s)

$ linx-client path/to/file.ext https://linx.example.com/file.ext


Options  

- ```-f file.ext``` -- Specify a desired filename (if different from the actual one)  
- ```-r``` -- Randomize filename  
- ```-e 600``` -- Time until file expires in seconds  
- ```-deletekey mysecret``` -- Specify deletion key
- ```-o``` -- Overwrite file if you have its deletion key
- ```-accesskey mykey``` -- Specify access key
- ```-c myconfig.json``` -- Use non-default config file (can be useful if using more than one linx-server instance). This option will create a config if file does not exist.
- ```-no-cb``` -- Disable automatic insertion into clipboard
- ```-selif``` -- Return selif url (direct url)

#### Upload from stdin

$ echo "hello there" | linx-client -
https://linx.example.com/random.txt


Note: you can specify the ```-f``` flag to specify a filename as such:  

$ echo "hello there" | linx-client -f hello.txt -
https://linx.example.com/hello.txt



#### Overwrite file
Assuming you have previously uploaded ```file.ext``` using linx-client (so that you have its deletion key), you can replace the file as such:

$ linx-client -o file.ext
https://linx.example.com/file.ext


#### Delete file(s)

$ linx-client -d https://linx.example.com/file.ext
Deleted https://linx.example.com/file.ext


License
-------
Copyright (C) 2015 Andrei Marcu

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

Author
-------
Andrei Marcu, http://andreim.net/