mirror of
https://github.com/codex-storage/deluge.git
synced 2025-01-09 11:12:06 +00:00
540d557cb2
Libtorrent now supports interface names instead of just IP address so add new common functions to validate user input. * Added is_interface that will verify if a libtorrent interface of name or IP address. * Added is_interface_name to verify that the name supplied is a valid network interface name in the operating system. On Windows sock.if_nameindex() is only supported on 3.8+ and does not return a uuid (required by libtorrent) so use ifaddr package. Using git commit version for ifaddr due to adapter name decode bug in v0.1.7. On other OSes attempt to use stdlib and fallback to ifaddr if installed otherwiser return True. * Added tests for is_interface & is_interface_name * Updated UIs with change from address to interface * Updated is_ipv6 and is_ipv4 to used inet_pton; now supported on Windows. Ref: https://github.com/pydron/ifaddr/pull/32 Closes: https://github.com/deluge-torrent/deluge/pull/338
101 lines
3.0 KiB
Markdown
101 lines
3.0 KiB
Markdown
# Deluge dependencies
|
|
|
|
The following are required to install and run Deluge. They are separated into
|
|
sections to distinguish the precise requirements for each module.
|
|
|
|
All modules will require the [common](#common) section dependencies.
|
|
|
|
## Prerequisite
|
|
|
|
- [Python] _>= 3.6_
|
|
|
|
## Build
|
|
|
|
- [setuptools]
|
|
- [intltool] - Optional: Desktop file translation for \*nix.
|
|
- [closure-compiler] - Minify javascript (alternative is [rjsmin])
|
|
|
|
## Common
|
|
|
|
- [Twisted] _>= 17.1_ - Use `TLS` extras for `service_identity` and `idna`.
|
|
- [OpenSSL] _>= 1.0.1_
|
|
- [pyOpenSSL]
|
|
- [rencode] _>= 1.0.2_ - Encoding library.
|
|
- [PyXDG] - Access freedesktop.org standards for \*nix.
|
|
- [xdg-utils] - Provides xdg-open for \*nix.
|
|
- [zope.interface]
|
|
- [chardet] - Optional: Encoding detection.
|
|
- [setproctitle] - Optional: Renaming processes.
|
|
- [Pillow] - Optional: Support for resizing tracker icons.
|
|
- [dbus-python] - Optional: Show item location in filemanager.
|
|
- [ifaddr] - Optional: Verify network interfaces.
|
|
|
|
### Linux and BSD
|
|
|
|
- [distro] - Optional: OS platform information.
|
|
|
|
### Windows OS
|
|
|
|
- [pywin32]
|
|
- [certifi]
|
|
|
|
## Core (deluged daemon)
|
|
|
|
- [libtorrent] _>= 1.1.1_
|
|
- [GeoIP] or [pygeoip] - Optional: IP address country lookup. (_Debian: `python-geoip`_)
|
|
|
|
## GTK UI
|
|
|
|
- [GTK+] >= 3.10
|
|
- [PyGObject]
|
|
- [Pycairo]
|
|
- [librsvg] _>= 2_
|
|
- [libappindicator3] w/GIR - Optional: Ubuntu system tray icon.
|
|
|
|
### MacOS
|
|
|
|
- [GtkOSXApplication]
|
|
|
|
## Web UI
|
|
|
|
- [mako]
|
|
|
|
## Plugins
|
|
|
|
### Notifications
|
|
|
|
- [pygame] - Optional: Play sounds
|
|
- [libnotify] w/GIR - Optional: Desktop popups.
|
|
|
|
[python]: https://www.python.org/
|
|
[setuptools]: https://setuptools.readthedocs.io/en/latest/
|
|
[intltool]: https://freedesktop.org/wiki/Software/intltool/
|
|
[closure-compiler]: https://developers.google.com/closure/compiler/
|
|
[rjsmin]: https://pypi.org/project/rjsmin/
|
|
[openssl]: https://www.openssl.org/
|
|
[pyopenssl]: https://pyopenssl.org
|
|
[twisted]: https://twistedmatrix.com
|
|
[pillow]: https://pypi.org/project/Pillow/
|
|
[libtorrent]: https://libtorrent.org/
|
|
[zope.interface]: https://pypi.org/project/zope.interface/
|
|
[distro]: https://github.com/nir0s/distro
|
|
[pywin32]: https://github.com/mhammond/pywin32
|
|
[certifi]: https://pypi.org/project/certifi/
|
|
[dbus-python]: https://pypi.org/project/dbus-python/
|
|
[setproctitle]: https://pypi.org/project/setproctitle/
|
|
[gtkosxapplication]: https://github.com/jralls/gtk-mac-integration
|
|
[chardet]: https://chardet.github.io/
|
|
[rencode]: https://github.com/aresch/rencode
|
|
[pyxdg]: https://www.freedesktop.org/wiki/Software/pyxdg/
|
|
[xdg-utils]: https://www.freedesktop.org/wiki/Software/xdg-utils/
|
|
[gtk+]: https://www.gtk.org/
|
|
[pycairo]: https://cairographics.org/pycairo/
|
|
[pygobject]: https://pygobject.readthedocs.io/en/latest/
|
|
[geoip]: https://pypi.org/project/GeoIP/
|
|
[mako]: https://www.makotemplates.org/
|
|
[pygame]: https://www.pygame.org/
|
|
[libnotify]: https://developer.gnome.org/libnotify/
|
|
[python-appindicator]: https://packages.ubuntu.com/xenial/python-appindicator
|
|
[librsvg]: https://wiki.gnome.org/action/show/Projects/LibRsvg
|
|
[ifaddr]: https://pypi.org/project/ifaddr/
|