Git Product home page Git Product logo

weborf's Introduction

User friendly webserver

qweborf

Provides a GUI to share local files.

It can do NAT traversal to share files outside of the local network.

Can enable authentication and sending directories as .tar.gz files.

weborf

The web server used by qweborf.

Can be used from inetd, supports WebDAV, caching, CGI, virtual hosts.

Compile

These are the steps to compile weborf.

autoreconf -f -i # Only if you cloned from git

make clean
./configure
make

To compile qweborf.

pyuic5 qweborf/main.ui > qweborf/main.py

Run

./weborf

qweborf: will look for weborf in the PATH.

python3 -m qweborf

weborf's People

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

weborf's Issues

File already there produces http status code 206.

I used wget --continue --level 5 --recursive --accept '*.img' --no-host-directories --no-parent --cut-dirs=1 http://<server>:8080 to get every img file and it works fine. Resuming too. But if the file is already there then wget stops downloading at all and retries again and again. I tested it with a few webservers and most of the time wget skips to the next file.

--2019-03-01 09:00:08--  http://<server>:8080/backup_2019-03-01.img
Connecting to <server>:8080... connected.
HTTP request sent, awaiting response... 206 OK
Retrying.

Odd Qweborf Error: `/home/phil/usr/bin/python3: not found`

Attempted to install Qweborf today, totally stocked about it. Upon running pyuic5 qweborf/main.ui > qweborf/main.py , received the oddest error message. /usr/local/bin/pyuic5: 2: exec: /home/phil/usr/bin/python3: not found
I don't know anyone named phil who runs linux. Wondering how I can reset that python path? I have attempted to use the env command, to no avail.

Cheers

blacklist IP

Make an option to provide a list of forbidden URLs. Asking of one of those will ban the IP address.

setup.py

put install_requires in setup.py and remove "python3-pyqt5" from debian deps.

WebDAV LOCK method

Windows mount webdav needs for LOCK/UNLOCK and use it on file move.
Without LOCK and UNLOCK methods in OPTIONS the Windows may decide to mount a folder in read only mode. But I checked and looks like in Windows 7 it should be fine.
Anyway maybe just mock the methods should be improve interopability.

send signals with pidfd_send_signal

Create the process ith pidfd_spawn or similar instead of fork and then use pidfd_send_signal to send the signals.

This avoids race conditions.

It is only supported on recent linux, so it will need ifdef and autotools

weborf.mo

Hi Great project, please add a weborf.po file to make it possible to translate into other languages

use setgid()

Hi.
May you implement an option to set the group of the weborf process? I've patched weborf to call setgid() with a hardcoded gid before calling setuid(), but a commandline parameter would be nice.

Help in setting up authentication

I used qweborf before with authentication, but now I need to set up weborf on a headless server, with authentication. Could you give some pointers how I can set up credentials? On Ubuntu there's a package weborf-daemon, but I couldn't figure out how to set up the authentication part.

Makefile adjustment

Please change makefile to:

install -D -m644 daemon/weborf.service $(DESTDIR)/usr/lib/systemd/system/weborf.service
install -D -m644 daemon/[email protected] $(DESTDIR)/usr/lib/systemd/system/[email protected]
install -D daemon/weborf-generator $(DESTDIR)/usr/lib/systemd/system-generators/weborf-generator

These files using /usr/lib:

weborf_cgi_wrapper
weborf_py_wrapper

These files using /lib:

weborf.service
[email protected]
weborf-generator

The different paths causing trouble in creating a packet. Thanks.

strange CLI startup issue

System information

OS: Debian 11
GUI: X11 + openbox + LXQT

Problem description

I'm attempting to run weborf from a script using following syntax

weborf -d -m -p 80 -b [here goes the path to my WWW root dir]

and I recieve an error that the typed as the "-b" parameter path need to be a directory (with is and it has propper permissions)

Poor documentation

man page
-a, --auth
Must be followed by a unix socket listened by a program who will handle authentication. See the website for more details.
On the website are no details, there is nothing documented anywhere.

It cannot be used without auth. With this Qt-Frontend it works but only if you enable "Webdav" the has nothing to do with auth but its listed under "auth". In the generated command line a "-a /temp/weborf-socke..." appears., that gives you a hint you have to use it anyway, but how without this qt frontend, I dont want this frontend.

Document this software better, it unusable without a description.

libc6 2.33 dependency

Your latest version (0.18.1) requires libc6 >= 2.33. For those of us running Ubuntu 20.04.4 LTS, 0.18.1 won't install, because for Ubuntu 20.04.4, libc6 2.31 is the latest version available.

Request: Save settings in GUI

I am new to Linux, but have the GUI version up and running successfully. Works well.

Is there any way to add a save settings to the GUI, e.g., "Directory to Share". "Try to Share outside LAN", and lastly an automatic "Start Sharing" on startup?

documentation at more than one folder shared

The following configuration work out the box for one folder.
Help doc states it is possible to web share more than one folder using /etc/weborf.d/
I wondered for an example and tried some conf files without success.
So I am asking, please, an example :-)

#  /etc/weborf.conf - configuration file for weborf(1)
#  see weborf.conf(5) for details on this file
#Index files. This list is ordered by priority. If not set, the default value will be index.html.
#indexes=index.html,index.php
# Comment this to not start this unit automatically.
# Only works with systemd
start=auto
# Base directory.
basedir=/home/username
# Enables or disables use of CGI support
use-cgi=false
#Enable weborf to send Content-Type header
use-mime=true
user=username
group=usernamegroup
# Directory that will be used for the cached files
cachedir=/var/cache/weborf
# Port used to listen
port=80

Logs

I would like to know where are the weborf logs

request: log output

Hello,

it would be nice to get http status codes and paths on stdout/stderr like a simple type of log entries from http servers. It would create the ability to use weborf in a pipeline.

Thanks.

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.