General

$1000 competition for informational posts.

Started by rmrf · Sep 16, 2025

#4453
↳ Replying to @deleted-dd5f43ed
Even if yours isn't, why does it focus on an EOL Ubuntu version? Are we seriously saying that the gold standard of good development information for Darknet services is to install a 7 year old version of Ubuntu server? The APT repos for 18.04 are probably not even available nowadays!
#4454
↳ Replying to @rmrf
I was hoping if someone could create a useful guide on how we can surf DN like what to find exactly what we want to and maybe know who's real and who's not, for me I'm trying to find someone who could provide database of audio call recordings direct from the Telecom service providers, and for others it can be other vendors etc.
#4455
↳ Replying to @lint5045
Somethings never change over time, be it 7 years or 70 years.those commands still work on Debian 12 and even Ubuntu server 24.04.03 LTS. Ubuntu is based on debian. so all those commands and configurations are possible on Debian 12 nowadays. BTW, if somebody does not know about Debian based Linux distros or how to update package repositories on debian based distros, they should not be launching a darknet marketplace, I could easily modify that guide for Debian 12, but I am not gonna spoon-fed people, there are some principles that they should know themselves. if they don't know, they should not be running a DNM to begin with.
#4457
↳ Replying to @rmrf
I wish I'd seen this earlier when it was posted. I love this idea! I strongly believe in the darknet, have a tech background myself and definitely plan to contribute, but I won't be in time for this competition (1 day remaining).

I'll certainly be reading all the guides and learning whatever I can.
#4458
↳ Replying to @rmrf
Here is my Submission:

submission title: A Simple Guide to Setting up and Optimizing an Onion Service.

link: /post/11669a34b89af2e825d5
#4459
↳ Replying to @rmrf
I think I have added all the posts, but I will give another 24 hours for last minute posts as there have been multiple. 24 hours, that is all that is left.

I think in deciding a winner, I will share my opinion in who should win and let the community discuss with me on who should win. I would make poll but I do not want vote manipulation just for safety. This is the absolute final chance for submissions.
#4460
↳ Replying to @rmrf
Shit, I found out about this contest so late, and when I just tried to post it, I got a timeout and lost my first attempt. Anyway, here goes my submission for a small, yet I reckon that very helpful trick leveraging tor for data downloading:

----

Improving speed with parallel tor circuits

When you are trying to download files from .onion repositories using a single IP address, you risk encountering restrictions during the process. Some .onion sites may block excessive download attempts, while others enforce rate limits. For instance, if you automate downloads from a Tor-based repository, you might face captchas or temporary bans (think for example, info leaks from breaches announced by ransomware hacking groups). This can happen when multiple users share the same IP or when download requests appear unusually frequent. Building a download infrastructure with multiple IPs can be made super dirty cheap rotating / balancing Tor connections, with the main advantage of it being the big network of nodes,

All download traffic initiated during a Tor session will be routed through the same exit node and its associated IP address. To change this IP, you can restart Tor, send a NEWNYM signal, or, as in our case study, run multiple Tor instances simultaneously by assigning different ports to each. Here comes the trick: generating multiple SOCKS proxies ready for use, enabling faster downloads from .onion repositories.

Here comes the script, first the Windows version:

$baseSocksPort = 9150

$baseControlPort = 8118

# Create data directory if it doesn't exist

if (-not (Test-Path "data")) {

New-Item -ItemType Directory -Path "data" | Out-Null

}

# Loop from 0 to 10

for ($i = 0; $i -le 10; $i++) {

$j = $i + 1

$socksPort = $baseSocksPort + $i

$controlPort = $baseControlPort + $i

# Create instance-specific data directory

if (-not (Test-Path "data\tor$i")) {

Write-Host "Creating directory data\tor$i"

New-Item -ItemType Directory -Path "data\tor$i" | Out-Null

}

# Construct the Tor command

$torCommand = "tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword `"`" --ControlPort $controlPort --PidFile tor$i.pid --SocksPort $socksPort --DataDirectory data\tor$i"

Write-Host "Running: $torCommand"

# Run Tor as a background process

Start-Process -FilePath "tor" -ArgumentList "--RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword `"`" --ControlPort $controlPort --PidFile tor$i.pid --SocksPort $socksPort --DataDirectory data\tor$i" -NoNewWindow

}

Now the Mac one (in MacOS, you will need first to install bash with brew):

#!/bin/bash

base_socks_port=9150

base_control_port=8118

# Create data directory if it doesn't exist

if [ ! -d "data" ]; then

mkdir "data"

fi

# Loop from 0 to 10

for i in {0..10}

do

j=$((i+1))

socks_port=$((base_socks_port+i))

control_port=$((base_control_port+i))

if [ ! -d "data/tor$i" ]; then

echo "Creating directory data/tor$i"

mkdir "data/tor$i"

fi

# Take into account that authentication for the control port is disabled. Must be used in secure and controlled environments

echo "Running: tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword \"\" --ControlPort $control_port --PidFile tor$i.pid --SocksPort $socks_port --DataDirectory data/tor$i"

tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword "" --ControlPort $control_port --PidFile tor$i.pid --SocksPort $socks_port --DataDirectory data/tor$i

done

These scripts assumes Tor is installed and in the system PATH. For Windows, Tor can be installed via the Tor Browser or a standalone package. For macOS, use Homebrew. For Linux, use the package manager (e.g., apt, yum). Running 11 Tor instances should not consume too many resources, but if your laptop is old-ish, monitor your CPU, and consider reducing the loop range if needed.

And it's as simple as that, now you can run in parallel things like this, in separate terminal tabs or within a multiple subshell console like tmux/screen:

curl --socks5-hostname localhost:9150 -L --retry 5 --retry-delay 5 -C - -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" -O http://site.onion/part01.rar

curl --socks5-hostname localhost:9151 -L --retry 5 --retry-delay 5 -C - -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" -O http://site.onion/part02.rar

.

.

.

and each connection will be routed through a different tor circuit. This can be of course used for web data scrapping, and avoid triggering WAF limits per IP ... just let your imagination run free.
#4462
↳ Replying to @rmrf
Hi

Here’s my modest entry for the competition — I’m not pretending to reinvent the wheel, but this is what I actually put in place to keep a service usable under DDoS.

The guide was drafted with AI’s help — I’m wiped tonight, so I’ll give it a proper pass tomorrow to make sure everything’s solid.

It’s the first service I’ve deployed on the Tor network, so I’m open to any advice.

Architecture (real, not theoretical).

Core/Main (private): Tor v3 onion served by Nginx on 127.0.0.1:18082 (can run client-auth for trusted users).

Reverse layer (disposable): short-lived Tor v3 onions, each mapping 80 → 127.0.0.1:18080 (Nginx reverse → Core).

Rotator (public): Tor v3 onion with a tiny UI + API on 127.0.0.1:18081 that hands out one of the current reverse links.

Endpoint: /rotator/api/get returns {"onion":"<current_reverse>", "ts":<unix>}.

Director (daemon): connects to Tor ControlPort 127.0.0.1:9051, creates/removes ephemeral onions, keeps a pool.json of candidates and an available.json for quick reads, and prunes anything unhealthy.

Health & hygiene: quick HEAD check over Tor before suggesting a link; TTL ≈ 45 min per reverse onion; basic rate-limit + tiny cache on the Rotator; pool auto-replenished on failures or Tor restarts.

Why this helps (advantages in practice).

Blast-radius reduction: floods burn the disposable edge, not the Core. Killing a link is cheap; the Core stays stable.

Fast recovery: when a link degrades, the Rotator suggests a fresh one in seconds — no Core changes required.

Private backbone: the Core never needs to be public; you can enable v3 client-auth and keep trusted access smooth even during storms.

Simple ops: everything is local (Nginx + Tor); backups are just torrc + HS dirs + /opt/hydrahs/*.

Scales horizontally: increase pool_size to add more disposable fronts; thresholds keep noisy links out.

Behavior under pressure (what actually happens).

Rising errors/RPS on a reverse onion → Director marks it unhealthy → Rotator stops handing it out → Director spins a replacement → users hit “Get link” again and keep going.

Tor restarts → pool/state cleared → Director repopulates automatically.

Links

Rotator: http://opikety6nukdrqeoz6drgkpnwsgmpynojs6ksspv5iv2zqtaokmjljid.onion/

Reverse link: rotates (by design) — fetch from the Rotator above.

Concept in brief: a public Rotator issues short-lived Tor links to disposable relays that forward to a private Core. Under pressure, links are retired and replaced; the Core stays stable. Full details are on the reverse and in the forum topic (pending validation).

Members-only continuation

This discussion contains more posts.

Create an account or sign in to continue reading the full conversation. 20 additional posts await inside.

Create an accountSign in