Dear all,I am attaching a new port for a BitTorrent client named XD and a diff for the user.list file. This client operates exclusively on the I2P network and is designed to be used with the C++ implementation of the I2P routing software (net/i2pd), but it can also work with the original Java implementation (net/i2p). However, since the Java version is quite bloated and includes its own BitTorrent client, using XD with it is not strictly necessary.
The XD client is particularly useful for a torrent seeding server, as it can only seed existing torrents from the trackers specified in the configuration file. Unfortunately, it does not yet support creating new torrents, and it's unclear whether that feature will be added in the future. For I2Pd users who want to create torrents, I recommend using the I2PSnark Standalone client [1], which requires only OpenJDK (devel/jdk) to run. Given this, I don't see the need to create a port for it.
There are some decisions made in the port that might seem unusual, and I would like to explain them below:
1. The port is named xd-torrent instead of just xd, as there is already a port named xd in the tree. I'm not sure if it's possible for two ports to share the same name if they belong to different categories.
2. In the packing-list (PLIST), only the owner and group permissions for directories created under /var/ are set to the daemon. Directories created under /etc/ are excluded from this because the software automatically generates configuration files upon first execution. To prevent these files from being overwritten, I removed the program's write access to the configuration files located in /etc/.
3. Configuration files are placed in the files directory because, by default, the program generates them and the data directories in the same location as the executable. To integrate the software into the system and prevent this behavior, I created these configuration files, which are simply the program's default configuration with modified paths for the configuration files and data storage.
References: [1]: https://i2pplus.github.io/#download Best regards, David.
Index: infrastructure/db/user.list =================================================================== RCS file: /cvs/ports/infrastructure/db/user.list,v retrieving revision 1.450 diff -u -p -u -r1.450 user.list --- infrastructure/db/user.list 28 Aug 2024 23:11:36 -0000 1.450 +++ infrastructure/db/user.list 8 Sep 2024 01:24:57 -0000 @@ -408,3 +408,4 @@ id user group port 897 _croc _croc sysutils/croc 898 _icingadb _icingadb net/icinga/icingadb 899 _openhab _openhab misc/openhab +900 _xd _xd net/xd-torrent
xd-torrent.tar.gz
Description: application/gzip