GithubHelp home page GithubHelp logo

abdularis / lan-share Goto Github PK

View Code? Open in Web Editor NEW
525.0 25.0 72.0 490 KB

Cross platform LAN File transfer application built with Qt C++ framework

License: GNU General Public License v3.0

QMake 1.21% C++ 96.51% HTML 0.90% Shell 0.06% Inno Setup 1.32%
qt cross-platform file-transfer qt5 appimage lan-share cpp udp tcp tcp-client-server

lan-share's Introduction

Build Status

LAN Share

LAN Share is a cross platform local area network file transfer application, built using Qt GUI framework. It can be used to transfer a whole folder, one or more files, large or small immediatelly without any additional configuration.

Install

You can download the Ubuntu package or linux AppImage or Windows executable from the release page. https://github.com/abdularis/LAN-Share/releases

  • Using .deb (Ubuntu/Debian)

download the latest version, for example lanshare_1.2.1-1_amd64.deb then open a terminal, navigate to directory where the downloaded package is located and type

$ sudo dpkg -i ./lanshare_1.2.1-1_amd64.deb
  • Using AppImage (All Linux)

simply download the AppImage and run it on all linux distribution

  • For Windows

See the github release page or go to Softpedia

Compiling instructions

To compile LANShare you need to install Qt tools, on Debian you can use:

$ sudo apt install qt5-qmake qt5-default

For more information about qmake you can visit this page.

Then you can download the sourcecode with git:

$ git clone https://github.com/abdularis/LAN-Share

and compile with:

$ cd LAN-Share-1.2.1/src
$ qmake -o Makefile LANShare.pro
$ make

Features

  • Send one or more files
  • Send folder
  • Send to multiple receiver at the same time
  • Cancel, pause and resume operations while transfering

Usage

  • Computer has to be connected to a local area network (wired or wireless)
  • Run the application in both sender and receiver
  • Send the file/folder by, select Send (files or folder) then -> select receiver in the 'Select Receiver' dialog, finally click 'Send'
  • File/folder would automatically received by the receiver

Screenshots

Screenshot 1

Screenshot 2

Screenshot 3

License

GPLv3

lan-share's People

Contributors

abdularis avatar freddii avatar martenbe avatar probonopd avatar sbatushe 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  avatar  avatar  avatar  avatar  avatar  avatar

lan-share's Issues

Linux-Windows communication not working

Installed LANshare on both WIN10 and Linux-Mint 19. From Windows to Linux I have no problem sending files. From Linux to windows I can not do it. There is a yellow "waiting" in the staus window that won't go away. I'm trying to send to a Public folder in windows that has sharing permission, so that's not the problem. What else can it be?

Change download directory, during download?

Is it possible to change the download directory after initiation a download, to enable a 2nd download to go to a different folder/drive?

i.e. Receiver downloads a file from Host 1 to folder Receiver-folder-A, once that starts Receiver downloads a file from Host 2 to folder Receiver-folder-B?

Auto Updater for AppImage releases

It would it be nice to see LANShare use AppImage update to auto update itself. You can use AppImageUpdaterBridge to delta update your AppImage(self-update). The library is written in C++ using Qt5 so this does not add extra dependencies. I already made the required changes in my fork which also has an AppImage built in the releases. Here is how it looks like.... (If you would like , I could just open PR from my fork)

Note : The update is pretty fast since only the deltas are downloaded and else is fetched from the old file.

Screenshot_20190503_235532

Screenshot_20190503_235545

Screenshot_20190503_235556

Theme issues

The QT theme doesnt apply, regardless of system settings

LAN share - only system disk seen

I have two PCs running Linux Mint 19 and recently installed this brilliant application. It works flawlessly but I can only share the system disks,. I have separate data disks but I can't see them in LAN share, what am I doing wrong?

Installation Package for Linux(.deb/.rpm) and Windows(.exe)

First, I want to say thank you for the awesome project. I got to know about it when it was featured in the Linux Format Magazine (LXF230 Issue, November 2017); I've always wanted a tool like this to share files within my office, but not via the Internet like we currently do.

So, It would really be helpful if you can generate an installation package to enable less tech-savvy end users install and use the application.

Thanks in advance

Can only send files one way

HI, I can't seem to send files to one computer but can send to the other.
I can select the file and receiver but then LAN-Share just says "waiting" forever.

I have

  • Restarted the program on both computers. No effect.
  • Tried changing the transfer port. No effect.
  • Made firewall exceptions on both computers. No effect

For reference, both machines are Windows 10 64bit

.

Android support

Add Android support.

Also, add instruction on usage shared PC throw Android device.

[Feature request] Closing window closes the program, not reduces it only

Wonderful program! Thanks so much!
I've got a feature request after noticing something:
When clicking on the 'x' to close the window of the program (by the way, it's strange not to have an 'exit' button), the program doesn't close but reduces only.

What I think would be interesting:

  • Add a an 'exit' button
  • Add an option into 'settings' where you can choose whether the exit button:
    -closes the program
    or -reduces the program

MacOS?

Are you planning a MacOS version?

Transfers would randomly freeze

I was transferring a folder ~1GB and i paused some files, it froze transfer for all the files when i tried to continue it

Drag and drop support

It would be handy to have drag and drop support (im using kde). So you could drag a file or folder, then it would pop up with which computer to send the file to.

Folders within folders?

I'm transferring files from an old (non-updated) version of Windows 7 to Ubuntu 18.04, and first of all this program made the connection part completely painless! Excellent work!

However, when I transfer a folder with more folders within it, the folders (all of them) are all pasted in LANShareDownloads with their folder path as the folder name and no hierarchy preserved. Is this intentional?

I don't expect support on this, as the Window 7 copy is clearly atypical at this point in time, but I figured I'd at least mention it.

Here's a screenshot. I already took the folders that should be in the parent folder and drug them into it, so you wont see the parent folder, but this should paint the picture just fine.

Original Hierarchy
windowsoriginal

Pasted Hierarchy
Screenshot from 2020-01-12 14-01-57

Make transfering with netcat

Please make ability to use netcat(nc) with qt gui for nc and unix flexibility:

On the receiving end running,
nc -l -p 1234 > out.file

On the sending end running,
nc -w 3 [destination] 1234 < out.file

with un/compression
1.nc -l -p 1234 | uncompress -c | tar xvfp -
2.tar cfp - /some/dir | compress -c | nc -w 3 [destination] 1234

transfer image of all harddrive
1.On the sender end run,
dd if=/dev/hda3 | gzip -9 | nc -l 3333

2.On the receiver end,
nc [destination] 3333 | pv -b > hdImage.img.gz

Wrong File Size and Idle Status

lan-share

Hi, I am really impressed by the simplicity and easy setup of LAN-Share and have to thank you for providing this program. Though, while transfering some folders I noticed that the file sizes are wrong (as one can see in the image): the program shows several terabytes and also negative values. This happens for all kinds of files (.txt, .docx and others) and I think it happens when the transferred folder is larger than approximately a gigabyte. A large number of files in such a folder shows the status "idle" and nothing happens. I use Ubuntu 16.04 LTS. Please ask if more information is needed.

Crash on sending folder

image

I transfer perfectly GTA V from Epic Games. (110Gb)
But F1 22 from EA App stops the app. (48.9Gb)

Compiling tutorial?

I'm trying to install lanshare on a legacy 32-bit Linux (Debian)
I installed source code but i don't know how to build it and it's not specified in the readme, can someone explain please?

Transfer complete prompt

There should be a feature to alert the user about completion on transfer. Right now we have to manually check if all files have been transferred or not.

error with paths on Windows OS

I was sending a folder to some friend that uses Windows,
the folder had another folder inside, he received the parent folder and the child folder was created in the same level than the parent folder and with the name of the parent folder concatenated to it's real name
(probably some path problems with '/')

"make install" does not work

https://travis-ci.org/probonopd/LAN-Share/builds/386135318#L598 says:

make: Nothing to be done for `install'.

It is common on Unix to also use the build tool to install applications and libraries; for example, by invoking make install. For this reason, qmake has the concept of an install set, an object which contains instructions about the way a part of a project is to be installed.

Please see the section "Installing Files" on http://doc.qt.io/qt-5/qmake-advanced-usage.html.

Transfer speeds affected when sending/receiving multiple files

I'm transferring a 96GB game folder from PC to PC and it's taking A LOT due to the way the program is downloading the files.

Transferring a single 1GB file takes about 10 seconds, 2 simultaneous 1GB files takes about 40 seconds and 3 simultaneous 1GB files takes about 1 minute and 16 seconds on gigabit, speeds may vary by storage used. Single file transfer uses up to 980Mbits, while multiple file transfers slows it down to 350Mbits, with every extra file, it keeps getting slower.

I suggest the folder and even multiple file transfers are done file by file one at a time to avoid this issue since it's sharing a small part of the file, stopping, the changing to the next one to share a small part and so on, this causes the transfer to be slow. I saw in the settings an option to limit max current transfers but that's not working, it's greyed out showing 1, but I think this option is not working yet or maybe it something else. I hope this is fixed, this program is great.

Install does not work on Ubuntu 18.04

  1. Download DEB file.

  2. Install DEB file:
    sudo dpkg -i lanshare_1.2.1-1_amd64.deb
    (Reading database ... 281872 files and directories currently installed.)
    Preparing to unpack lanshare_1.2.1-1_amd64.deb ...
    Unpacking lanshare (1.2.1-1) over (1.2.1-1) ...
    Setting up lanshare (1.2.1-1) ...
    Processing triggers for desktop-file-utils (0.23-1ubuntu3.18.04.2) ...
    Processing triggers for gnome-menus (3.13.3-11ubuntu1.1) ...
    Processing triggers for mime-support (3.60ubuntu1) ...

  3. no startup script or bin file found:
    sudo find / -name "lanshare*"
    /var/lib/dpkg/info/lanshare.md5sums
    /var/lib/dpkg/info/lanshare.list
    /home/michael/Downloads/lanshare_1.2.1-1_amd64.deb
    /tmp/gnome-software-KUMDD0/lanshare_1.2.1-1_amd64.deb
    /tmp/mozilla_michael0/lanshare_1.2.1-1_amd64.deb
    /usr/share/pixmaps/lanshare-icon.png

How does one even start the application?

Command line interface

Adding a CLI will allow people to call lanshare from other tools they use (like file managers etc.)

The interface doesn't have to be too complex either. We can start with something simple like: LANShare /path/to/file and then later add other options such as the device to send to.

multicast?

Is there any support for multicast? Sending to multiple people at once?

This would be very handy in certain situations!

Becomes unresponsive with large amounts of data.

Hello,
Great app. I really love it, BUT...

It becomes unresponsive with large amounts of data. When upgrading my PC and migrating data off my trusty old laptop the app became unresponsive for a while before starting transfer. I understand it's probably preparing the transaction, but there is no feedback of any kind. App becomes unresponsive, but now I know from experience that when I was moving some 60GB of data it would get stuck for a good few minutes, but eventually would begin transfer (and once started it's blazing fast!).

Now I'm trying to move 1.7TB of data and it's been unresponsive for the past hour or more, lol.

One curious thing I noticed is that it is fully utilising one of the CPU threads and it swaps from one to another. It will put 100% load on thread one, then move to thread 2, to thread 3 and so on, but it's been doing that for an hour. May be beneficial if the app were to use all CPU cores / threads maybe and give a sort of feedback as to what is going on in the background. I have no way of telling if it's actively working on preparing the transaction or it's just GOOOOONE :D

My only clue is that the CPU load transfers from one thread to another with varying frequency. Sometimes sticks for a few minutes, sometimes will jump from thread to thread within seconds.

Please provide an AppImage for Linux

Providing an AppImage would have, among others, these advantages:

  • Applications packaged as an AppImage can run on many distributions (including Ubuntu, Fedora, openSUSE, CentOS, elementaryOS, Linux Mint, and others)
  • One app = one file = super simple for users: just download one AppImage file, make it executable, and run
  • No unpacking or installation necessary
  • No root needed
  • No system libraries changed
  • Works out of the box, no installation of runtimes needed
  • Optional desktop integration with appimaged
  • Optional binary delta updates, e.g., for continuous builds (only download the binary diff) using AppImageUpdate
  • Can optionally GPG2-sign your AppImages (inside the file)
  • Works on Live ISOs
  • Can use the same AppImages when dual-booting multiple distributions
  • Can be listed in the AppImageHub central directory of available AppImages
  • Can double as a self-extracting compressed archive with the --appimage-extract parameter

Here is an overview of projects that are already distributing upstream-provided, official AppImages.

If you have questions, AppImage developers are on #AppImage on irc.freenode.net.

I'm happy to help making an AppImage if you are interested.

Awesome project!

Hello! I read the article about your project at OMG ubuntu. This is a great project and i love it! Accidentally, I have a similar project called tRNA. It is also written with Qt, but it has many bugs๐Ÿ˜‚. Shall we work together and make this project great?
yours
Randy Hoffman

Please provide a Flatpak package for Linux

Hi,

As you may have heard, Flatpak packages are a universal method to distribute applications for Linux.
Anybody can download and install the flatpak applications from flatpak.org (or alternative flatpak repositories).
This is a preferred method to distribute user applications, allowing for cross distro compatibility, no dependency hassles, the possibility to use just released versions even on older distributions, possibility to sandbox the application, and more...
This would also allow me to install the application on Fedora since there is also no rpm package.

Therefore, please provide a Flatpak package for Linux.

The developer documentation can be found here: http://docs.flatpak.org/en/latest/

Thanks

MSVCR120.dll not found

Hi, I have some trouble running the program. An error message appears: "The code execution cannot proceed because MSVCP120.dll was not found."

I've tried to reinstall the program.
I've tried to download 32-bit and 64-bit of MSVCR120.dll from dll-files.com.
But unfortunately the issue is still exist.

Can someone help?

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.