A lightweight, fast and reliable file sharing server that is commonly used with ShareX, offering a react-based Web UI and fast API.
Deploy this app to Linode with a free $100 credit!
docker compose up -d
)This section requires Docker and docker compose.
git clone https://github.com/diced/zipline
cd zipline
docker compose up -d
After installing, please edit the docker-compose.yml
file and find the line that says SECRET=changethis
and replace changethis
with a random string.
Ways you could generate the string could be from a password managers generator, or you could just slam your keyboard and hope for the best.
This section requires nodejs, yarn or npm.
git clone https://github.com/diced/zipline
cd zipline
# npm install
yarn install
# npm run build
yarn build
# npm start
yarn start
This section requires NGINX.
server {
listen 80 default_server;
client_max_body_size 100M;
server_name <your domain (optional)>;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
The default port is 3000
, once you have accessed it you can see a login screen. The default credentials are "administrator" and "password". Once you login please immediately change the details to something more secure. You can do this by clicking on the top right corner where it says "administrator" with a gear icon and clicking Manage Account.
This section requires ShareX.
After navigating to Zipline, click on the top right corner where it says your username and click Manage Account. Scroll down to see "ShareX Config", select the one you would prefer using. After this you can import the .sxcu into sharex. More information here
This section requires Flameshot, jq, and xsel.
You can either use the script below, or generate one directly from Zipline (just like how you can generate a ShareX config). To upload files using flameshot we will use a script. Replace $TOKEN and $HOST with your own values, you probably know how to do this if you use linux.
DATE=$(date '+%h_%Y_%d_%I_%m_%S.png');
flameshot gui -r > ~/Pictures/$DATE;
curl -H "Content-Type: multipart/form-data" -H "authorization: $TOKEN" -F file=@$1 $HOST/api/upload | jq -r 'files[0].url' | xsel -ib
Create an issue on GitHub and use the template, please include the following (if one of them is not applicable to the issue then it's not needed):
Create a discussion on GitHub, please include the following:
Create a pull request on GitHub. If your PR does not pass the action checks, then please fix the errors. If your PR was submitted before a release, and I have pushed a new release, please make sure to update your PR to reflect any changes, usually this is handled by GitHub.
Please login to review this project.
No reviews for this project yet.
Local file sharing in your browser. Inspired by Apple's Air…
Easy file sharing from the command line.
Let's Upload that FIle, client-side encrypted.
Comments (0)
Please login to join the discussion on this project.