GithubHelp home page GithubHelp logo

airdcpp-web / airdcpp-webclient Goto Github PK

View Code? Open in Web Editor NEW
171.0 19.0 31.0 12.94 MB

Communal peer-to-peer file sharing application for file servers/NAS devices

Home Page: https://airdcpp-web.github.io

Python 0.16% CMake 1.00% C++ 97.74% C 0.59% Shell 0.48% Makefile 0.03%
file-sharing peer-to-peer p2p cpp webui direct-connect cross-platform airdcpp api rest-api rest websocket linux

airdcpp-webclient's Introduction

build

AirDC++ Web Client

AirDC++ Web Client is a locally installed application, which is designed for flexible sharing of files or directories within groups of people in a local network or over internet. The daemon application can be installed on different types of systems, such as on file servers and NAS devices.

The application uses Advanced Direct Connect protocol, which allows creating file sharing communities with thousands of users. The application itself is highly optimized even for extreme use cases: a single client can be used to share more than 10 million files or over a petabyte (1000 terabytes) of data.

Key functionality

Download

Download information is available on the home page

AirDC++ Web Client wraps the following subprojects:

Resources

Feature requests or questions?

The issue tracker can be used for feature requests and questions as well. You may also upvote existing feature requests to increase their likelihood for being implemented.

Development/support hub is at adcs://web-dev.airdcpp.net:1511

airdcpp-webclient's People

Contributors

bissa avatar kcchouette avatar maksis avatar night-z avatar pavel-pimenov avatar sbraz avatar sopor 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

airdcpp-webclient's Issues

Download to... function no error is found in logs or Events when trying to download to an directory with no write permission

When using the "Download to..." function no error is found in logs or Events when trying to download to an directory with no write permission for the airdcppd user.

Also an Event is logged every 60 minutes, can I some how acknowledge this so it does not continue?
Searching the bundle Ubuntu.iso for alternatives, 1 search(es) queued. Next search in 60 minutes

I think a Event with information just that destination for Download to... is not writable would be enough and don't try with the same search next hour at all?

Application version: AirDC++w 0.13.1 x86_64 / 0.850
Web UI version: 0.13.4

some windows are too big and make the page scrollable

When i want to add a new user for the System / Users the new window that popups is very big and make the window scrollable. It would be much better if the access settings have the scroll bar.
Most users don't have superduper resolutions. I use 1920x1080 that is a very common resolution.
I have marked it red in the picture.

picpick-2015 12 16-15 47 36

changing hub address while connect make it impossible to disconnect

I was connected to a hub address and i then changed it in the favorite hubs without disconnecting. When i press save it seems to start acting weird. Can't disconnect and the hub windows is empty and it looks like i'm already disconnected. I tried to refresh and logout and in again but still the same.

Application version
AirDC++w 0.6 x86_64 / 0.850
Web UI version
0.6.0

Gui client

Was wondering if there is any gui client that can connect to airdcpp-webclient core?

Sort of like transmission-qt (windows) that can run on you machine and connect to a remote daemon?

busy spinning wheel in open filelists...

If i have full filelists open and do a reload in the client (from the tab menu) it seems that the Webui can't handle it and only show this spinning busy wheel.

Application version: AirDC++ 3.10a-104-g86c30 x86-64 / 0.850
Web UI version: 0.5.0

when i open the sidebar the amount of new messages disappear before i can read it

When open the sidebar the hubs will show the amount of new messages but the active hub will not or it does but it disappear before i could read it. If i'm lucky i manage to see it. It should stay there until i press the hub name the same way as i change hub. So if i want to check the active hub last i still have the amount of new message there until i activate the hub again. If only the active hub got new messages i only press it and the amount of new messages disappear. It will work as a confirm button that i have read all the messages.
picpick-2015 11 05-20 06 52

miniupnpc detection is broken

Firstly, this project never sets HAVE_OLD_MINIUPNPC so the related ifdef has no effect.
Secondly, recent miniupnpc versions need a new ttl parameter (which should be set to 2 by default, according to the source).
I think you should use the value of MINIUPNPC_API_VERSION when you call upnpDiscover.

Search for directory/file/archive or audio file

This is an enhancement request since I'm used to the way ncdc works my standard search option there is to search for directory.

The following snippet is from ncdc manual page to get an idea on options.

/search [options]
Performs a file search, opening a new tab with the results.

Available options:
-hub Search the current hub only. (default)
-all Search all connected hubs, except those with `chat_only' set.
-le Size of the file must be less than .
-ge Size of the file must be larger than .
-t File must be of type . (see below)
-tth TTH root of this file must match .
File sizes ( above) accept the following suffixes: G (GiB), M (MiB) and K (KiB).

The following file types can be used with the -t option:
1 any Any file or directory. (default)
2 audio Audio files.
3 archive (Compressed) archives.
4 doc Text documents.
5 exe Windows executables.
6 img Image files.
7 video Video files.
8 dir Directories.
Note that file type matching is done using file extensions, and is not very reliable.

i need to save settings on every page or the changes will get lost

If i disable 'Add finished bundles to share instantly (if shared)' in 'Download options' page the Save changes button get active but if i now change page to 'Search matching' the 'Save changes' button is still active and if i now change back to 'Download options' again the 'Add finished bundles to share instantly (if shared)' is enabled again but 'Save changes' is still active.

So you should remember all changes even if i change settings page and if i try to leave the settings page warn me about unsaved changes or you could make all changes get lost and change back 'Save changes' to 'No unsaved changes'.

Build warnings on Ubuntu 15.10

When building on Ubuntu 15.10 in a docker container I get a few build warnings.

Building CXX object airdcpp-core/CMakeFiles/airdcpp.dir/airdcpp/StringDefs.cpp.o
/tmp/adc/airdcpp-core/airdcpp/StringDefs.cpp: In function '(static initializers for /tmp/adc/airdcpp-core/airdcpp/StringDefs.cpp)':
/tmp/adc/airdcpp-core/airdcpp/StringDefs.cpp:3778:2: note: variable tracking size limit exceeded with -fvar-tracking-assignments, retrying without
 };
  ^
...
[ 58%] Building CXX object airdcpp-core/CMakeFiles/airdcpp.dir/airdcpp/File.cpp.o
/tmp/adc/airdcpp-core/airdcpp/File.cpp: In member function 'int dcpp::File::extendFile(int64_t)':
/tmp/adc/airdcpp-core/airdcpp/File.cpp:406:26: warning: ignoring return value of 'int ftruncate(int, __off64_t)', declared with attribute warn_unused_result [-Wunused-result]
   ftruncate(h,(off_t)len);
                          ^
...
[100%] Building CXX object airdcppd/CMakeFiles/airdcppd.dir/stacktrace.cpp.o
/tmp/adc/airdcppd/main.cpp: In function 'void daemonize()':
/tmp/adc/airdcppd/main.cpp:169:12: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
  chdir("/");
            ^
/tmp/adc/airdcppd/main.cpp:174:8: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result [-Wunused-result]
  dup(0); dup(0);
        ^
/tmp/adc/airdcppd/main.cpp:174:16: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result [-Wunused-result]
  dup(0); dup(0);
                ^

when removing fav hubs they seems to not be removed

when removing fav hubs they seems to not be removed but they are. I need to change page and back again to fav hubs for them to disappear from the window.

Application version
AirDC++w 0.6 x86_64 / 0.850
Web UI version
0.6.0

new message indicator should be in a straight line

It is easy to see how many new messages that i have missed but it would look much better if those indicators was in a straight line instead of the end of the hub/user name. The hub/nick name will be truncated if it is too long so it must be easy to get that indicator a static position.

picpick-2015 11 19-21 04 14

sidebar window will lose typed text when i close it

If i write a PM message and for some reason want to check main before i sent the message the text i wrote in the PM window is gone when i go back. The text should be remembered so i don't need to type it all over again. It happens the same thing for main window.

Cannot connect to the server. Reconnecting...

When i lose connection i will see a message 'Reconnecting...' and maybe it does, but if it doesn't work to connect it will show another message 'Cannot connect to the server. Reconnecting...'. Everything is correct except Reconnecting. It will show reconnecting forever so it would be more proper to show 'trying to reconnect' or else you think it is about to connect when it isn't.

picpick-2015 12 12-23 23 27

a few seconds ago

It doesn't look nice when the last refresh is below one minute...

Web UI version: 0.3.1

picpick-2015 11 30-21 06 11

Can't add shares with no trailing slashes

It seems adding a share with no trailing slash causes bugs when it is listed:

[2016-01-11 01:16] Adding the directory /home/sbraz/testme in share...
[2016-01-11 01:16] The directory /home/sbraz/testme has been added in share (100.00 MiB of files have been added for hashing; they won't be visible in the file list until they have finished hashing)
[2016-01-11 01:16] Error hashing  /home/sbraz/testmetest.tar.gz: No such file or directory
[2016-01-11 01:16] Hashing finished

ConfigPrompt.h: No such file or directory

Building CXX object airdcppd/CMakeFiles/airdcppd.dir/main.cpp.o
/home/airdcpp-webclient/airdcppd/ConfigPrompt.cpp:19:26: fatal error: ConfigPrompt.h: No such file or directory
#include "ConfigPrompt.h"
^
compilation terminated.
make[2]: *** [airdcppd/CMakeFiles/airdcppd.dir/ConfigPrompt.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/home/airdcpp-webclient/airdcppd/main.cpp:28:26: fatal error: ConfigPrompt.h: No such file or directory
#include "ConfigPrompt.h"
^
compilation terminated.
make[2]: *** [airdcppd/CMakeFiles/airdcppd.dir/main.cpp.o] Error 1
make[1]: *** [airdcppd/CMakeFiles/airdcppd.dir/all] Error 2
make: *** [all] Error 2

filelists will show all the user names in filelists as file list path

Why show all the user names as truncated in the file list when i already have all the user names at the top? It would be much better if it only showed the first user name (the user name from that hub it was downloaded from) instead of a ugly truncated user names or replace it with something else, Root or something... Almost every user have more chars then fit in that window before you cut it off.
picpick-2015 12 12-23 05 55

OS X version

The application compiles on OS X already and code-level compatibility is being actively tested with Travis. The make install phase is not supported yet.

Implementing a graphical config tool for the web server might be useful before actually shipping anything.

Fails when running `make -j4`

Hi,

I've tried to install airdcpp-webclient by following the instructions in the readme on one of my machines, which is running Ubuntu 14.04. At the end of the compile step (when running make -j4) it fails with the following:

Linking CXX shared library libairdcpp-webapi.so
[ 97%] Built target airdcpp-webapi
Scanning dependencies of target airdcppd
[ 98%] [ 98%] [ 99%] [100%] Building CXX object airdcppd/CMakeFiles/airdcppd.dir/Client.cpp.o
Building CXX object airdcppd/CMakeFiles/airdcppd.dir/main.cpp.o
Building CXX object airdcppd/CMakeFiles/airdcppd.dir/ConfigPrompt.cpp.o
Building CXX object airdcppd/CMakeFiles/airdcppd.dir/stacktrace.cpp.o
/airdcpp-webclient/airdcppd/main.cpp: In function 'void daemonize()':
/airdcpp-webclient/airdcppd/main.cpp:169:12: warning: ignoring return value of 'int chdir(const char*)', declared with attribute warn_unused_result [-Wunused-result]
  chdir("/");
            ^
/airdcpp-webclient/airdcppd/main.cpp:174:8: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result [-Wunused-result]
  dup(0); dup(0);
        ^
/airdcpp-webclient/airdcppd/main.cpp:174:16: warning: ignoring return value of 'int dup(int)', declared with attribute warn_unused_result [-Wunused-result]
  dup(0); dup(0);
                ^
Linking CXX executable airdcppd
../airdcpp-core/libairdcpp.so.0.12.6: undefined reference to `dcpp::ResourceManager::names[abi:cxx11]'
../airdcpp-webapi/libairdcpp-webapi.so.0.12.6: undefined reference to `dcpp::ResourceManager::strings[abi:cxx11]'
collect2: error: ld returned 1 exit status
airdcppd/CMakeFiles/airdcppd.dir/build.make:175: recipe for target 'airdcppd/airdcppd' failed
make[2]: *** [airdcppd/airdcppd] Error 1
CMakeFiles/Makefile2:207: recipe for target 'airdcppd/CMakeFiles/airdcppd.dir/all' failed
make[1]: *** [airdcppd/CMakeFiles/airdcppd.dir/all] Error 2
Makefile:116: recipe for target 'all' failed
make: *** [all] Error 2

I then changed strategy and tried to create a Docker container to run it in instead, which was the plan from the beginning anyway. But i ended up with exactly the same error here as well. I think the Dockerfile is quite self explanatory, as you can see I set it up with Ubuntu 15.10 (to get the libwebsocketpp-dev package) and then run all the commands from the readme. I also tried checking out an earlier commit but still received the same error.

FROM ubuntu:15.10

ENV TOOLS="gcc g++ git cmake npm nodejs"
ENV LIBS="libbz2-dev zlib1g-dev libssl-dev libstdc++6 libminiupnpc-dev libnatpmp-dev libtbb-dev libgeoip-dev libboost1.5*-dev libboost-regex1.5* libboost-thread1.5* libboost-system1.5* libleveldb-dev libwebsocketpp-dev"

RUN apt-get update && \
    apt-get install $TOOLS $LIBS -qy && \
    apt-get clean -y && \
    rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

RUN git clone https://github.com/maksis/airdcpp-webclient.git && \
    cd airdcpp-webclient && \
    cmake . && \
    make -j4 && \
    make install

Do you guys see something obviously wrong here?

... And thank you for a hopefully great app :) I waited a long time for a nice dc++ web client, and even better that it's based on airdc!

/Jonas

undo button for PM and file list windows

Because it is so much harder to reopen PM and other windows it would be great with an undo button so i can open the 5 latest PM windows and the 5 latest file lists?

Implement heartbeat for Websockets

Currently the client can queue lots of messages for sockets that aren't able to receive messages. Ping-pong should be implemented so that the client could check if the other end is alive.

can't use edit/remove in favorit hubs after pressing twice on the name

When i press on a name in favorite hubs the menu drop down with edit and remove but if i press the name again i can't select anything in this menu because it will close when the mouse is over the menu. To get it to work i need to press another name and now it works until i press twice on a name again.

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.