GithubHelp home page GithubHelp logo

ihexxa / quickshare Goto Github PK

View Code? Open in Web Editor NEW
486.0 486.0 31.0 36 MB

Quick and simple file sharing between different devices, built with Go, React and Typescript.

Home Page: https://ihexxa.github.io/quickshare.site

License: GNU Lesser General Public License v3.0

JavaScript 0.44% HTML 0.79% CSS 3.21% Go 51.87% TypeScript 43.33% Dockerfile 0.09% Shell 0.27%
file-sharing gin go golang javascript jest react reactjs sqlite typescript webpack yarn

quickshare's Introduction

Highlights

Quickshare on desktop

Quickshare: Simple file sharing service built with Go/Golang, Typescript, Gin, React, Boltdb, etc.

quickshare's People

Contributors

dependabot[bot] avatar gavin-gong avatar ihexxa avatar unrealjo avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

quickshare's Issues

Upgrade dependency "github.com/gin-gonic/gin"

Background

Repo github.com/ihexxa/quickshare depends on github.com/gin-gonic/[email protected].

https://github.com/ihexxa/quickshare/blob/main/go.mod#L9

However, comparing version v1.7.3 of github.com/gin-gonic/gin from proxy.golang.org and github, there are inconsistencies.

commit time of the copy on github.com

"committer": {
      "name": "Bo-Yi Wu",
      "email": "[email protected]",
      "date": "2021-08-03T02:40:44Z"
    }

commit time of the copy on proxy.golang.org

{"Version":"v1.7.3","Time":"2021-08-03T02:36:43Z"}

So the checksum from the code in github does not match the checksum saved in sum.golang.org. The v1.7.3 tag of github.com/gin-gonic/gin might have been retagged after a minor edition on github. I guess you use proxy.golang.org to get dependencies, but that also shows that your project is depending on the copy of github.com/gin-gonic/[email protected] before its edition. Depending upon such inconsistent tag version may also result in some unexpected errors as well as build errors due to different proxy settings.

For example, when someone who does not use proxy.golang.org, say GOPROXY=direct, attempts to get github.com/gin-gonic/[email protected], the following error occurs.

go: downloading github.com/gin-gonic/gin v1.7.3
go: github.com/gin-gonic/gin@v1.7.3: verifying module: checksum mismatch
        downloaded: h1:3U500Wp728rATEiFJtk1L7dhAbWobNDQC0Cbd4yhhdc=
        sum.golang.org: h1:aMBzLJ/GMEYmv1UWs2FFTcPISLrQH2mRgL9Glz8xows=

SECURITY ERROR
This download does NOT match the one reported by the checksum server.
The bits may have been replaced on the origin server, or an attacker may
have intercepted the download attempt.

For more information, see 'go help module-auth'.

So, this is a reminder in the hope that you can get rid of this problematic version of project github.com/gin-gonic/gin.

Solution

1. Bump the version of dependency github.com/gin-gonic/gin

I would recommend bumping the version of github.com/gin-gonic/gin to a new release to ensure dependency copy in proxy.golang.org and github in sync.

References

panic: open quickshare.db: permission denied

hitting permission denied with custom config

docker-compose.yml

version: '3'
services:

  quickshare:
    image: hexxa/quickshare:latest
    container_name: quickshare
    restart: always
    ports:
      - "8686:8686"
    user: 1000:1000

    environment:
      DEFAULTADMIN: admin
      DEFAULTADMINPWD: LsC9QU5Mj3QJywE
    volumes:
      - ./quickshare:/quickshare/root
      - ./config.yml:/quickshare/docker.yml

config.yml

users:
  captchaEnabled: false

Output

 docker compose up
[+] Running 1/1
 ⠿ Container quickshare  Recreated                                                                                 1.1s
Attaching to quickshare
quickshare  | panic: open quickshare.db: permission denied
quickshare  |
quickshare  | goroutine 1 [running]:
quickshare  | github.com/ihexxa/quickshare/src/kvstore/boltdbpvd.New(0xc0004834d0, 0xd, 0x400, 0x0)
quickshare  |   /quickshare/src/kvstore/boltdbpvd/provider.go:31 +0x298
quickshare  | github.com/ihexxa/quickshare/src/server.initDeps(0xccecc0, 0xc000490320, 0xc)
quickshare  |   /quickshare/src/server/server.go:140 +0x445
quickshare  | github.com/ihexxa/quickshare/src/server.NewServer(0xccecc0, 0xc000490320, 0x0, 0x0, 0x2)
quickshare  |   /quickshare/src/server/server.go:54 +0x8c
quickshare  | main.main()
quickshare  |   /quickshare/cmd/start/main.go:26 +0x11f
quickshare exited with code 2
quickshare exited with code 2
quickshare exited with code 2
quickshare exited with code 2

The volume ./quickshare has the correct owner

Without the volume mount config, it will run smoothly

Shorten Url.

Hey, can you add support for shorten url, please?

下载问题

经过测试,下载mp3文件会直接成file文件,后缀名没有了,文件名也没了。word,excel直接下载成一个文件夹了

Lost various buttons in 0.4.13

After updaing from 0.4.12 to 0.4.13, various buttons are lost.

  • 0.4.12
    ScreenShot2

  • 0.4.13

ScreenShot1

Could you please fix this?

Server: Debian 11.1
OS: macOS 12.0.1
Browser: Chrome 95.0.4638.69

Soft link support

Hi,
a soft link to file in Quickshare user's directory appears in browser list as file and correctly downloaded.
Unfortunately, a soft link to directory appears as file too.

One of the feature that makes Quickshare interesting is that it can be managed from OS.
I am aware that it is not the primary purpose of the project, but (in self hosted scenario) complete softlink support can be useful to share content already present elsewhere on disk.

My current use case is to share content to some visitors that can only download and i would like to use Quickshare instead of a classic file server App.

Thanks for this project :)

Feature Request

I would love to be able to see any active downloads, sort of like we can already see the upload progress.

```Error #01: access denied

I did get this error after running it on my Unraid Server.
I also get a message

Operation Failed: The operation failed in the server


[GIN] 2022/04/25 - 21:35:34 | 403 | 32.805µs | 192.168.178.28 | GET "/v1/fs/sharings/ids"
Error #01: access denied

[GIN] 2022/04/25 - 21:35:39 | 403 | 40.104µs | 192.168.178.28 | GET "/v1/fs/dirs?dp="
Error #01: access denied

[GIN] 2022/04/25 - 21:35:39 | 403 | 42.601µs | 192.168.178.28 | GET "/v1/fs/sharings/ids"
Error #01: access denied

[GIN] 2022/04/25 - 21:35:44 | 403 | 44.84µs | 192.168.178.28 | GET "/v1/fs/dirs?dp="
Error #01: access denied

[GIN] 2022/04/25 - 21:35:44 | 403 | 25.967µs | 192.168.178.28 | GET "/v1/fs/sharings/ids"
Error #01: access denied

but where are these folders?

[REQUEST] Two-Step verification implementation

Hello, first of all, very good job. It's awesome!

Now, I would like to request, if possible, the implementation of Two-Step verification mechanisms, to improve the security of the service. Like: 2FA, TFA, MFA...

Thank you in advance.

Unable to login

After updating quickshare from v0.7.1 to v0.8.1, I can't login.
Could you tell me how to fix this issue.

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.