Index | Thread | Search

From:
David Uhden Collado <david@uhden.dev>
Subject:
[NEW]: net/xd-torrent
To:
ports@openbsd.org
Date:
Sun, 8 Sep 2024 05:30:34 +0200

Download raw body.

Thread
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