...Great for people that can't port forward (CGNAT).
...
1) I feel bad for using Tor network for file sharing on DarkMX because it uses more bandwidth than browsing simple sites or reading things.
...
1) Implement your own onion routing so bandwidth being used will partially or mostly(or even completely?) come from DarkMX users and not the Tor network...
ME -> (user1) -> (user2) -> (user3) -> <- (user4) <- (user5) <- (user6) <- SENDER
...
2) Maybe take a hybrid approach...
Combating any form of NAT is good. It makes so many things worse or impossible :/ Having a separate 'world' for a program that 'just works' is fantastic.
However I personally don't understand why the current way forward was chosen. If it's only due to NAT, I believe it could've been dealt with using any of the external approach (like "dedicated" network nodes providing STUN capabilities)
I wouldn't feel bad about "using Tor for file sharing". It's a structural problem, not architectural. You do feel bad? Setup your own TOR node, it doesn't need to be an exit node (which there's a serious lack of due to censorship and prosecution) - you give back the network what you take.
"Implement own routing" now this coupled with my missing understanding seems really off to me:
DarkMX does not use i2p (probably due to node life span/visibility requirements and "Java dependency" although there's i2p purple in steady development - a C++ i2p daemon)
DarkMX uses TOR to realize the idea which Tribler does at application level: multi-hop transport for bittorrent.
And with the above suggestions DarkMX would effectively take it upon itself to reinvent Tribler on top of TOR but then instead of using whatever the "usual" TOR routing, sponge up more complexity and redefine routing for its own network users.
Fopnu x Tribler x TOR, but potentially not really TOR and neither i2p. But why?
I don't want to be ignorant, if it appears so - probably due to my misunderstanding of technology and motivation. I love all of your programs and definitely will use DarkMX (even if this name is really going to be abused in FUD campaigns, think twice!). This long reply just should show how passionate I, we are.