Giter VIP home page Giter VIP logo

transfer.sh's Introduction

Transfer.sh - Upload and Share License Crowdin Analytics

THIS APP IS NOT ACTIVELY MAINTAINED, FOR NOW Ensure that gradle wrapper is using gradle 4.6 for building the app successfully And add your google-services.json in the transfer module

Download the latest apk from here Works for Android KitKat (19) and above

Permissions

To access the web API
<uses-permission android:name="android.permission.INTERNET" />
To read/write files on device
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Changelog

View changelog

Contribution

Read the guidelines for contribution to this app.

Code is not the only way to contribute to this app. Join Crowdin to translate Transfer.sh. Join the project here

Translations are crowd source. I am not responsible for any kind of incorrect translations or errors.

Contributors

List of contributors

Libraries

Android, Google Play, and the Google Play logo are trademarks of Google Inc.

License

Copyright 2018 Kartik Arora

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Made with โ™ฅ in India

transfer.sh's People

Contributors

anuraagbaishya avatar kartikarora avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

transfer.sh's Issues

change API server URL

It would be nice if user could change URL to their own instance of transfer.sh web server.

Inclusion in F-Droid

Hi,

Since this app is Apache v2 licensed, are you considering the fact to add it to F-Droid? There is a strong community behind, that do not use Google Play nor anything else, except F-Droid.

You can find some documentation here.

Otherwise, if you don't want to work on the inclusion of this app by yourself, would it be ok for you if someone else do it for you?

Feature Request

  • Multi-upload
  • dark theme amoled
  • Delete button next to dl button on file
  • Provides Deletion Token

This app works perfectly just needs a little touch of love & to give you your deletion token so you can delete them instead of waiting 336Hrs for them to expire.

Add 14 Day alarm

The transfer.sh web service allows a file to be stored for 14 days only. Need to add this feature in which a file's details will automatically be removed from the db after 14th day.

Also, notify the user that the file will be deleted 2 times. Once on the last day, and once X days before the last day. Probably have an action to re upload the file and update the db with the new link.

List/Grid Toggle

A toggle can be added to change between a list and a grid to show files in the Transfer Activity

Share Dialog

Capture the ACTION_SEND intent and handle it in an activity

Chrome Custom Tabs

Right now, all the non transfer.sh urls are being opened using Intent.ACTION_VIEW. It'll be great if the pages could be rendered inside the app using chrome custom tabs.

Along with that, a preference to let the user toggle this behavior can be added.

Multi file Upload

There have been issues reported with multi file uploads.

It needs to be fixed before 1.2 release.

Delete File

Users have requested a button to delete the uploaded file.

The delete button will only delete it from the app, not the trasnfer.sh server since it is not supported in the API

Improve file information view

The current file information alert dialog, which can be accessed by tapping on the info button of a file, is pretty bland. If anyone has a proposal for improvement, feel free to discuss here.

Single file upload issue but on server looks like multiple files were uploaded

I tried to upload audio file via Android app but I got toast notification saying 'something went wrong'.
After examining log files I found this:

2018/02/27 17:05:37 Uploading KBuyi Voice 010.m4a 3751077 multipart/form-data; boundary=36d90af5-e899-419a-91f0-53174f77c61f
2018/02/27 17:05:37 Uploading MiTAr Voice 010.m4a 3751076 multipart/form-data; boundary=b00bc6ec-901d-47f8-b700-62038b96b56d
2018/02/27 17:05:38 Error putting new file: unexpected EOF
2018/02/27 17:05:38 Error putting new file: unexpected EOF
2018/02/27 17:05:38 192.168.1.27:38645 - - [2018-02-27T17:05:38Z] "PUT /Voice%20010.m4a HTTP/1.1" 500 "" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-G903F Build/MMB29K)"
2018/02/27 17:05:38 192.168.1.27:49287 - - [2018-02-27T17:05:38Z] "PUT /Voice%20010.m4a HTTP/1.1" 500 "" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-G903F Build/MMB29K)"

So this action returned HTTP 500 ERROR

I tried again using app:

2018/02/27 17:06:28 192.168.1.27:57365 - - [2018-02-27T17:06:28Z] "GET / HTTP/1.1" 200 "" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-G903F Build/MMB29K)"
2018/02/27 17:06:31 Uploading wiUkx Voice 010.m4a 3751076 multipart/form-data; boundary=cd2b5672-39c3-4f54-80ab-eaaa5def14d4
2018/02/27 17:06:49 Error putting new file: unexpected EOF
2018/02/27 17:06:49 192.168.1.27:52489 - - [2018-02-27T17:06:49Z] "PUT /Voice%20010.m4a HTTP/1.1" 500 "" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-G903F Build/MMB29K)"

This also returned HTTP 500 ERROR

Then I got success using chrome browser on phone;

2018/02/27 17:09:22 192.168.1.27:58379 - - [2018-02-27T17:09:22Z] "GET / HTTP/1.1" 200 "" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58380 - - [2018-02-27T17:09:22Z] "GET /scripts/vendor/modernizr.js HTTP/1.1" 200 10987 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58382 - - [2018-02-27T17:09:22Z] "GET /images/reviews/kareem.jpg HTTP/1.1" 200 19806 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/reviews/dave.jpg HTTP/1.1" 200 19244 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58379 - - [2018-02-27T17:09:22Z] "GET /styles/main.css HTTP/1.1" 200 96540 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /scripts/main.js HTTP/1.1" 200 143888 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/reviews/pg.jpeg HTTP/1.1" 200 30023 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/reviews/jacob.jpg HTTP/1.1" 200 23068 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/reviews/lars.jpg HTTP/1.1" 200 17702 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/tor.svg HTTP/1.1" 200 22905 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/bitcoin.png HTTP/1.1" 200 6157 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:22 192.168.1.27:58381 - - [2018-02-27T17:09:22Z] "GET /images/Logo-orange.png HTTP/1.1" 200 9074 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903FBuild/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:23 192.168.1.27:58381 - - [2018-02-27T17:09:23Z] "GET /fonts/transfersh.woff HTTP/1.1" 200 3060 "http://xfer.dmz6.net/styles/main.css" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:23 192.168.1.27:58379 - - [2018-02-27T17:09:23Z] "GET /images/terminal-top.svg HTTP/1.1" 200 3942 "http://xfer.dmz6.net/styles/main.css" "Mozilla/5.0 (Linux; Android6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:45 192.168.1.27:58381 - - [2018-02-27T17:09:45Z] "GET / HTTP/1.1" 200 "" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:09:45 192.168.1.27:58381 - - [2018-02-27T17:09:45Z] "GET /favicon.ico HTTP/1.1" 200 7686 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"

Upload starts here:

2018/02/27 17:09:54 Uploading ahxaR Voice 010.m4a 3750825 audio/x-m4a
2018/02/27 17:09:56 192.168.1.27:58381 - - [2018-02-27T17:09:56Z] "PUT /Voice%20010.m4a HTTP/1.1" 200 "http://xfer.dmz6.net/" "Mozilla/5.0 (Linux; Android 6.0.1; SM-G903F Build/MMB29K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.137 Mobile Safari/537.36"
2018/02/27 17:22:07 192.168.1.27:34256 - - [2018-02-27T17:22:07Z] "GET / HTTP/1.1" 200 "" "Dalvik/2.1.0 (Linux; U; Android 6.0.1; SM-G903F Build/MMB29K)"

This action returned HTTP 200 OK

Notice the difference in logs between browser upload and app upload.
When using app it says:

2018/02/27 17:06:31 Uploading wiUkx Voice 010.m4a 3751076 multipart/form-data; boundary=cd2b5672-39c3-4f54-80ab-eaaa5def14d4
2018/02/27 17:06:49 Error putting new file: unexpected EOF

But when using chrome app its like this:

2018/02/27 17:09:54 Uploading ahxaR Voice 010.m4a 3750825 audio/x-m4a

Here we can see how the log entry is created:
https://github.com/dutchcoders/transfer.sh/blob/master/server/handlers.go#L399

log.Printf("Uploading %s %s %d %s", token, filename, contentLength, contentType)

I hope that helps. If there is anything else I can try let me know.

Marko

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.