IRCApp is a small educational project which I've carried out to play around with the irc protocol and learn how to distribute a python application. IRCApp is only meant to access open-source content.
Simply download and execute the setup.exe
file located in the dist
folder.
-
To install, first download
ircapp_{version}.tar.gz
located in thedist
folder, then run:sudo apt-get install python3-pip pip3 install ircapp_{version}.tar.gz
-
To uninstall, run:
pip3 uninstall ircapp
.
Same as Unix but you should really consider trading your mac for a pc.
In case you choose to clone the source code, for instance if you implement a server, you should:
- Cd into the project dir
- Clone the repo into an
ircapp
folder - Run
python venv venv
followed bysource venv/bin/activate
orvenv\Scripts\activate
under Windows - Run
python pip3 -r ircapp/requirements.txt
Windows only goodies: if pip install miniupnp
fails, proceed as follows:
- Download the right wheel depending on the python version from https://ci.appveyor.com/project/miniupnp/miniupnp
- Run
pip install {{thewheel}}
- Then copy the
miniupnpc.dll
file into the python \Scripts directory (where the python exe resides)
By default, IRCApp will attempt to manage ports using UPnP. In some cases this might not work. You should then open your port range manually on your internet box and indicate that port range in the config.ini
file. Syntax:
port_forwarding = 30000
# Single portport_forwarding = 30000-30010
# Port range, including start and end port
Keep in mind that if you open a single port, downloading multiple files simultaneously will fail if both peers require reverse DCC. It is recommended to open a port range instead.
https://github.com/themadmrj/ircapp/issues
- Added manual port management instead of UPnP
- Fix: the query now stays in the search box like it should
- Fix: the additional channels configured in the client are now joined properly
- Add: fallback to unsecure server connection if SSL is not supported
- Fix: the consumed queue item is now immediately removed from the download box (UI)
- Fix: the queued item is now properly processed
I basically completely rewrote the backend which was very poorly written since I was only starting to program. Major fixes:
- Set a new default search engine
- Added server SSL connection
- Added reverse DCC support
- Fixed an issue where the connection would drop because the socket package acknowledgments would sometimes be sent in the wrong order
- Fix: clicking on the file name in the download now properly opens the file location
- Fix: displays an error when trying to change the download directory while downloading
- Fix: added a download_directory to the config.ini, to be used in case the GUI doesn't work properly (couldn't yet find why)
- Fix: no more error when searching for a file while no directory was set
- Fix: minor tweak on the cancel system to improve it's reactivity
- Fix: no more problem on the linux package, distribution package is now harmonized cross system
- Add: Direct File Transfer (you can now send any file to any IRCapp user)
- Add: multiple simultaneous downloads
- Add: queue option to optimize multiple simultaneous downloads
- Add: documentation (you can always add more, but I already cleaned up the mess quite a lot)
- Change: queue management is now handle server side, it should be less unstable than in the previous version
- Change: if IRCapp is already running and you run it again, a new browser tab will be displayed to IRCapp's index page
- Change: upon restarting IRCapp (with the button), no new tab will be opened; the initial tab will refresh itself
- Change: the Quick Download option now uses more servers to work more often
- Change: the download directory is now selected via a menu
- A few other things probably too...