Giter VIP home page Giter VIP logo

linx-server's People

Contributors

alarixnia avatar andreimarcu avatar atrox avatar bbaovanc avatar binaryoverload avatar bjoern-r avatar bruj0 avatar culdev avatar gburgessiv avatar horaynarea avatar infinoid avatar luckman212 avatar matthazinski avatar mutantmonkey avatar nivertius avatar paulc avatar poulpreben avatar ssimono avatar stek29 avatar supertux88 avatar thor77 avatar tuxx avatar uncurlhalo avatar urandom2 avatar yc avatar zizzydizzymc 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

linx-server's Issues

Run master branch as Docker image

Thanks for this project/fork!

I was able to run the docker image, but I wanted to use the default-random-filename = false flag. Seems that running it via

docker run -p 8080:8080 -v /root/linx-server/linx-server.conf:/data/linx-server.conf -v /root/linx-server/meta:/data/meta -v /root/linx-server/files:/data/files andreimarcu/linx-server -config /data/linx-server.conf

...doesn't get you the latest bits that have that flag available.

I'm not good at Docker - does anyone know the right way to run it "locally" from the cloned repo? Or a way to invoke Docker so it grabs the master branch?

๐Ÿ™

400 for each upload

Hi, when trying to upload, no matter what file/size/origin it throws 400.

Config below,
bind = 192.168.0.131:3001 siteurl = https://192.168.0.131:3001/ cleanup-every-minutes = 120 allowhotlink = true filespath = files/ metapath = meta/ selifpath = f remoteuploads = true

Using version 2.3.8

Basic auth is not working

I set settings in config file:

authfile = /opt/userlist
basicauth = true

but front-end is still accessible without prompt for login/password.

Single share link for multiple files uploaded in the same session

As the title says. If multiple files are uploaded, access can only be secured with a single password, so a single share link for all files would make sense imho. Of course you can zip files together, but for photo uploads from phones etc. this is not as easy of a task.

Implementation does not need to be fancy, grouping the files uploaded in a session can be grouped in a directory and a simple autoindex could display the files.

Another option to download all files (either zipped or sequentially) would be an extra bonus.

How to add custom page?

Im struggling to add a custom page. Ive edited the configs many times.
It looks like you did it successfully on your site.

Access password is not working using S3 as backend

The setting for restricting access to an uploaded file using a password does not work with a S3 backend.
While I am able to set one and it is set in the S3 file metadata (under X-Amz-Meta-Accesskey), it's possible to access the file without the password. linx-server simply doesn't ask for it.

Cannot run executable after resources have been appended to it

As the title have said, I have had difficulty making a self-contained executable with go.rice. The executable made with go build works fine as-is, but it cannot be run after I do rice append -v --exec linx-server:

> go build
> ./linx-server
2021/12/13 22:01:29 Serving over http, bound on 127.0.0.1:8080
> rice append -v --exec linx-server
2021/12/13 22:02:01 using pwd as import path
2021/12/13 22:02:01 using import paths: [github.com/extradummythicc/linx-server]
2021/12/13 22:02:02 Will create tmp zipfile: /tmp/ricebox-1639407722-1p2stqnrfd.zip
2021/12/13 22:02:02 Will append to file: /home/beerpsi/go/src/github.com/extradummythicc/linx-server/linx-server
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/auth.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/csp.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/csrf.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/delete.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/display.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/expiry.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/fileserve.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/headers.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/meta.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/pages.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/server.go"
2021/12/13 22:02:02     found box "static"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/templates.go"
2021/12/13 22:02:02     found box "templates"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/torrent.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/upload.go"
2021/12/13 22:02:02 scanning file "/home/beerpsi/go/pkg/mod/github.com/extradummythicc/[email protected]/util.go"
2021/12/13 22:02:02 
2021/12/13 22:02:02 
2021/12/13 22:02:02 rice finished successfully
> ./linx-server
2021/12/13 22:02:53 Error: could not load templates[Error (where: fromfile) in access.html] unable to resolve template

I've tried clean-building using Go 1.14 on GitHub Actions, it is either hit or miss whether the executable runs or returns the exact same error.

Random file name length

Hi! Thank you for maintaining linx!
I thought it would be nice to have parameter for setting file name length for files uploaded with Linx-Randomize: yes.
Like a set it to 30 and get names like this ouAgN06Plt9MdKoUCt9p9uabT9U1tZ.md instead of y0kkytts.md.
Thanks!

Permissions

I've tried giving the folders permissions running the command in the instructions. Tried adding PUID and PGID but always getting bad requests and permission denied when trying to upload a small image or add a paste no matter what I try. Even after restarting the container.

Also tried creating the files and meta folders outside the date directory with no success...

I have tried this on both a VM running debian and my synology NAS.

services:
linx-server:
container_name: linx
image: andreimarcu/linx-server
command: -config /data/linx-server.conf
environment:
- TZ=America/Detroit
- PUID=1026
- PGID=100
volumes:
- /volume1/docker/linx/files:/data/files
- /volume1/docker/linx/meta:/data/meta
- /volume1/docker/linx/linx-server.conf:/data/linx-server.conf
ports:
- "8085:8080"
restart: unless-stopped

Security potential problem...

Running as user "nobody" is not secure even if most people think so.
It seems it should be better to have a linx user in a linx group with minimal rights on the whole container or host

Please read this:
https://wiki.ubuntu.com/nobody

and this: "

In many Unix variants, "nobody" is the conventional name of a user account which owns no files, is in no privileged groups, and has no abilities except those which every other user has.

It is common to run daemons as nobody, especially servers, in order to limit the damage that could be done by a malicious user who gained control of them. However, the usefulness of this technique is reduced if more than one daemon is run like this, because then gaining control of one daemon would provide control of them all. The reason is that nobody-owned processes have the ability to send signals to each other and even debug each other, allowing them to read or even modify each other's memory.

" at this adress: https://en.wikipedia.org/wiki/Nobody_(username)

Here is the complete discussion I read first: https://askubuntu.com/questions/329714/what-is-the-purpose-of-the-nobody-user

Hope this helps
Best regards

Add tab for URL upload

As it already supports URL upload, why not add a tab/page for URL upload?

Can be next to the paste tab with a simple input for URL.

Edit template on docker installation

I am running it on docker.

Is there any way to edit the template files?

I want to theme it with bootstrap so its easier to use on mobile devices and add "copy" button to easily copy the share links.

ssl

open sssl.crt: no such file or directory
launch via docker...

sharex

is there sharex config?

Cannot upload any file over 90MB

HI there,

I'm running this on docker on a Synology 920+. I've got this up and running with a reverse proxy https://linx.mydomain.com with the following docker-compose file:

services:
  linx-server:
    container_name: linx
    image: andreimarcu/linx-server
    command: -config /data/linx-server.conf
    environment:
      - TZ=$TZ
      - PUID=$PUID
      - PGID=$PGID
    volumes:
      - $DOCKERDIR/linx/files:/data/files
      - $DOCKERDIR/linx/meta:/data/meta
      - $DOCKERDIR/linx/linx-server.conf:/data/linx-server.conf
    networks:
      - Horus
    ports:
      - "8081:8080"
    restart: unless-stopped

and the following linx-server.conf

bind = 127.0.0.1:8080
sitename = myLinx
siteurl = https://linx.mydomain.com/
selifpath = s
maxsize = 4294967296
maxexpiry = 259200
allowhotlink = true
remoteuploads = true
nologs = true
force-random-filename = false
cleanup-every-minutes = 5

I can happily upload and access any file up to approx. 90MB, but anything over that just doesn't even start to upload (tracker on the right stays at 0%). The container logs don't actually show any info on this so I can't seem to track this down.

A separate issue - I tried to add another 2 arguments to the conf file, max-duration-time = 3600 and max-duration-size = 4294967296 but on restarting the container the logs had a recurring output of 'unknown flag name` for both. This issue is secondary to the above.

Cheers!

authfile is not authentication for file uploads

Hello,

https://github.com/ZizzyDizzyMC/linx-server#require-api-keys-for-uploads

I have setup auth key using https://github.com/ZizzyDizzyMC/linx-server/tree/master/linx-genkey

I have created an authfile under /home/user/authfile and pasted the above auth key generated. Also added basicauth = true and authfile = /home/slow/authfile inside linx-server.conf

When running docker compose, I get linx-server | 2021/12/19 16:29:38 Failed to open authfile: open /home/user/authfile: no such file or directory I checked permission of the authfile (no issues).

Please provide more instructions on how to setup authentication for uploading files instead of having a public instance.

'extra-footer-text' (linx-server.conf) doesn't work

Hello,

I would like to report that the 'extra-footer-text' variable is not working as it should when enabled in the 'linx-server.conf' file.

The container fails to start, showing the following error:
iniflags: unknown flag name=[extra-footer-text] found at line [49] of file [/data/linx-server.conf]

Thank you.

Feature request: e2e encryption

Since the server does not need to see the contents of the file, it could be encrypted on the client before uploading (and then decrypted on retrieval).

This would help protect server operators from malicious actors uploading illegal content.

how to add API key ??

I run linx-server in docker , I can upload in web UI now .
but I can not find API key or instructions about how to add keys.
so , where can I find/set the API keys?

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.