<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Friren</title>
    <description>The latest articles on DEV Community by Friren (@friren).</description>
    <link>https://dev.to/friren</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3972835%2F4255bfd4-9617-4ab6-aac2-8612ddeb0e1d.jpg</url>
      <title>DEV Community: Friren</title>
      <link>https://dev.to/friren</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/friren"/>
    <language>en</language>
    <item>
      <title>Accepting Bitcoin on Tor Without the Headache - My BRO PAY Review</title>
      <dc:creator>Friren</dc:creator>
      <pubDate>Mon, 15 Jun 2026 06:27:54 +0000</pubDate>
      <link>https://dev.to/friren/accepting-bitcoin-on-tor-without-the-headache-my-bro-pay-review-2a58</link>
      <guid>https://dev.to/friren/accepting-bitcoin-on-tor-without-the-headache-my-bro-pay-review-2a58</guid>
      <description>&lt;p&gt;I run a small paid newsletter hosted on a .onion address. Getting paid anonymously on Tor sounds simple in theory - Bitcoin is pseudonymous, Tor provides network anonymity, done. In practice, building the infrastructure to accept payments, confirm transactions, and deliver content automatically is a real engineering project. BRO PAY handles all of that as a service. Here's what it looks like from the inside after two months of real usage.&lt;/p&gt;

&lt;h2&gt;
  
  
  What BRO PAY Actually Does
&lt;/h2&gt;

&lt;p&gt;BRO PAY is a Bitcoin payment gateway built for Tor-hosted services. It runs a full Bitcoin Core node, generates unique receiving addresses per payment, monitors confirmations, and triggers webhooks when a payment completes. It also offers an embeddable payment widget (iframe) so users can pay without leaving your .onion site.&lt;/p&gt;

&lt;p&gt;You interact with it through a REST API or through the embed widget. The API approach gives you full control. The embed widget requires almost no backend code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;Registration at bro-pay.xyz is the same minimal process as the rest of BRO NETWORK - username and password, no other information required. Once in, you create a wallet (links to a Bitcoin Core receiving address), generate an API key, and you're ready to integrate.&lt;/p&gt;

&lt;p&gt;The dashboard shows your wallet balance, recent transactions, and API keys. It's straightforward - no unnecessary complexity for a payments interface.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Embed Widget
&lt;/h2&gt;

&lt;p&gt;For projects where you don't want to write backend payment code, the embed widget is the path of least resistance. You get a URL like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://bro-pay.xyz/embed/pay?api_key=YOUR_KEY&amp;amp;wallet_id=YOUR_WALLET&amp;amp;amount=0.001
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Drop that in an iframe on your page. The widget shows a QR code and Bitcoin address, polls for payment confirmation, and when confirmed - shows a success state. You configure a webhook URL where BRO PAY sends a POST request with payment details when confirmation happens.&lt;/p&gt;

&lt;p&gt;For my newsletter, the flow is: user clicks "Subscribe," iframe loads, user pays, webhook fires, my server sends them the confirmation and access link. The whole thing took about 4 hours to build, mostly because I spent time reading the webhook documentation carefully.&lt;/p&gt;

&lt;h2&gt;
  
  
  The REST API
&lt;/h2&gt;

&lt;p&gt;The API is clean and does what you expect:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Endpoint&lt;/th&gt;
&lt;th&gt;Purpose&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;POST /api/v1/payments&lt;/td&gt;
&lt;td&gt;Create a payment request, get a Bitcoin address and amount&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GET /api/v1/payments/{uuid}/check&lt;/td&gt;
&lt;td&gt;Poll payment status manually&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webhook POST&lt;/td&gt;
&lt;td&gt;Receive notification when payment confirms&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Creating a payment:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;POST&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;/api/v&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="err"&gt;/payments&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"wallet_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;3&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"amount_usd"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mf"&gt;5.00&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"callback_url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://myonionsite.onion/payment-confirmed"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Response includes the BTC amount calculated at current rate, the receiving address, and a payment UUID for tracking.&lt;/p&gt;

&lt;p&gt;Webhook payloads are signed with HMAC-SHA256 using your API key. Verifying the signature is a few lines of code and prevents fake payment notifications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Gift Cards
&lt;/h2&gt;

&lt;p&gt;BRO PAY has a gift card feature - pre-funded cards that users can redeem for credit. This is useful for services that want to let users buy anonymously in advance without a per-transaction flow. I haven't used this feature extensively but the interface for it works correctly in testing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Payment Reliability
&lt;/h2&gt;

&lt;p&gt;Over two months, I processed payments through the service and had no cases of confirmed payments not triggering webhooks. The Bitcoin node stays synced and confirmation times are what you'd expect from mainnet Bitcoin (10-60 minutes depending on mempool conditions and how many confirmations you require).&lt;/p&gt;

&lt;p&gt;One thing to note: BRO PAY generates a unique address per payment, not a shared address. This matters for privacy - different payers can't correlate payments to the same destination.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Would Change
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No Lightning Network support - on-chain Bitcoin means fees and delays during congested periods&lt;/li&gt;
&lt;li&gt;No Monero support - for truly fungible anonymous payments, XMR would be ideal&lt;/li&gt;
&lt;li&gt;The dashboard doesn't show webhook delivery status - I had to log it myself to confirm webhooks were firing&lt;/li&gt;
&lt;li&gt;Documentation could have more code examples in different languages (currently mostly pseudocode)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The Security Model
&lt;/h2&gt;

&lt;p&gt;BRO PAY holds your funds in a wallet managed by the service. This is custodial - the service controls the private keys. You withdraw to your own wallet when you want to access funds.&lt;/p&gt;

&lt;p&gt;This is the standard model for hosted payment processors and is worth being clear-eyed about. If you need non-custodial, you'd have to run your own Bitcoin node and payment infrastructure. BRO PAY trades custody for simplicity and convenience. For the transaction volumes I was handling, that tradeoff made sense.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Verdict
&lt;/h2&gt;

&lt;p&gt;BRO PAY solves a real problem: accepting Bitcoin payments on a Tor hidden service without running your own node infrastructure. The API is well-designed, the embed widget works without backend complexity, and webhook reliability has been solid in two months of production use. The custodial model and Bitcoin-only support are genuine limitations that matter depending on your requirements. For Tor-native projects that need a payment layer without heavy infrastructure investment, it's currently the most practical option in the BRO NETWORK ecosystem.&lt;/p&gt;

&lt;p&gt;The integration I built is still running. Payment works, webhooks fire, subscribers get their content. That's the outcome I needed.&lt;/p&gt;

&lt;p&gt;BRO PAY is at bro-pay.xyz and accessible through Tor.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Finally Got a Memorable .onion Address - My BRO GENERATOR Experience</title>
      <dc:creator>Friren</dc:creator>
      <pubDate>Sun, 14 Jun 2026 11:09:19 +0000</pubDate>
      <link>https://dev.to/friren/i-finally-got-a-memorable-onion-address-my-bro-generator-experience-3kae</link>
      <guid>https://dev.to/friren/i-finally-got-a-memorable-onion-address-my-bro-generator-experience-3kae</guid>
      <description>&lt;p&gt;If you've ever tried to tell someone your .onion address over a voice call, you know the pain. "Okay it's f4e-x-j-2-r-q..." - yeah, good luck with that. I run a small privacy-focused newsletter on Tor, and getting new readers to type my address correctly was a genuine problem. That's what brought me to BRO GENERATOR.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem With Default .onion Addresses
&lt;/h2&gt;

&lt;p&gt;When you generate a standard hidden service, Tor gives you a completely random 56-character v3 address. It's cryptographically secure, which is great - but it's completely unrecognizable. Nobody bookmarks it mentally. Nobody tells their friends about it. It's just noise.&lt;/p&gt;

&lt;p&gt;Vanity address tools have existed for years - mkp224o, scallion, others. But running them yourself requires a server with serious CPU, knowing your way around Linux, and waiting anywhere from minutes to days depending on prefix length. I tried mkp224o on my local machine for a 5-character prefix and gave up after 6 hours.&lt;/p&gt;

&lt;p&gt;I'd heard about BRO GENERATOR from someone on Dread who mentioned it as a paid alternative to doing it yourself. Skeptical but curious, I decided to try it.&lt;/p&gt;

&lt;h2&gt;
  
  
  First Impressions
&lt;/h2&gt;

&lt;p&gt;The site at bro-generator.xyz is clean and straightforward. No noise, no crypto buzzwords, no promises of "blockchain-powered anonymity." Just a simple interface explaining what the service does and how much it costs.&lt;/p&gt;

&lt;p&gt;Pricing is transparent upfront:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Prefix Length&lt;/th&gt;
&lt;th&gt;Example&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;th&gt;Est. Time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;4 characters&lt;/td&gt;
&lt;td&gt;bro4xxxx...&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Minutes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5 characters&lt;/td&gt;
&lt;td&gt;brosearch...&lt;/td&gt;
&lt;td&gt;$0.50&lt;/td&gt;
&lt;td&gt;Minutes to hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;6 characters&lt;/td&gt;
&lt;td&gt;brohost...&lt;/td&gt;
&lt;td&gt;$5.00&lt;/td&gt;
&lt;td&gt;Hours&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7 characters&lt;/td&gt;
&lt;td&gt;brogener...&lt;/td&gt;
&lt;td&gt;$20.00&lt;/td&gt;
&lt;td&gt;Hours to days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8 characters&lt;/td&gt;
&lt;td&gt;brogenerator...&lt;/td&gt;
&lt;td&gt;$50.00&lt;/td&gt;
&lt;td&gt;Days&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I went with 5 characters. My newsletter is called "Shade Notes" so I wanted something starting with "shade." Total cost: $0.50 in Bitcoin.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Ordering Process
&lt;/h2&gt;

&lt;p&gt;You enter your desired prefix (letters and digits, no special characters), your email for delivery, and complete payment. The site uses BRO PAY for Bitcoin transactions, which is another service in the same network.&lt;/p&gt;

&lt;p&gt;Payment confirmation was fast - under 10 minutes for the required confirmations. After that I got an email saying generation had started. The whole checkout flow took maybe 3 minutes of my time.&lt;/p&gt;

&lt;p&gt;What I appreciated: no account required. You get an order ID and can check status at any time. The service doesn't ask for anything it doesn't need.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Long Did It Actually Take?
&lt;/h2&gt;

&lt;p&gt;My 5-character prefix "shade" was ready in about 2 hours and 40 minutes. I got an email with a ZIP archive containing the private key files. The archive came with a short README explaining exactly where to put the files in your Tor config.&lt;/p&gt;

&lt;p&gt;The key files were standard format - &lt;code&gt;hs_ed25519_secret_key&lt;/code&gt;, &lt;code&gt;hs_ed25519_public_key&lt;/code&gt;, and &lt;code&gt;hostname&lt;/code&gt; - exactly what Tor expects. No proprietary format, no weird wrapper. Just the raw key material you need.&lt;/p&gt;

&lt;h2&gt;
  
  
  Setting It Up
&lt;/h2&gt;

&lt;p&gt;I was half-expecting some complication but it was genuinely simple. Copy the files into your hidden service directory, make sure the permissions are right (700 for the directory, 600 for the key files), restart Tor. That's it. My new address was live within a minute.&lt;/p&gt;

&lt;p&gt;The address starts with "shade" exactly as I requested. The rest is the usual cryptographic tail - but nobody needs to type the full thing if they're using a bookmark or clicking a link.&lt;/p&gt;

&lt;h2&gt;
  
  
  Security Considerations
&lt;/h2&gt;

&lt;p&gt;The obvious question: can you trust a third party with your private key material?&lt;/p&gt;

&lt;p&gt;This is a real tradeoff. The service generates the key for you, which means they technically had access to it at generation time. If you're running a high-security hidden service where anonymity is critical, you should generate your own keys. Full stop.&lt;/p&gt;

&lt;p&gt;But for my use case - a newsletter, not anything that would attract serious adversaries - the convenience was worth it. The key arrives encrypted in the ZIP, and the service doesn't store anything after delivery (at least that's what they claim, and I have no evidence otherwise).&lt;/p&gt;

&lt;p&gt;The service is also Tor-accessible itself, which helps if you want the order process to stay off the clearnet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Liked
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Delivery was on time - actually slightly faster than the estimate&lt;/li&gt;
&lt;li&gt;Standard key format, works with any standard Tor setup&lt;/li&gt;
&lt;li&gt;No account, no personal data, payment in Bitcoin only&lt;/li&gt;
&lt;li&gt;Honest pricing - no hidden fees at checkout&lt;/li&gt;
&lt;li&gt;The 4-character tier is free, which lets you test the process before paying&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What Could Be Better
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No option to pay with Monero - BTC only at time of writing&lt;/li&gt;
&lt;li&gt;Status page during generation is minimal - just a spinner and order status&lt;/li&gt;
&lt;li&gt;I'd like a hash or fingerprint in the email so I can verify the archive wasn't tampered with in transit&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Verdict
&lt;/h2&gt;

&lt;p&gt;BRO GENERATOR does exactly what it promises at a fair price. For anyone who wants a recognizable .onion prefix without the headache of running generation infrastructure themselves, it's a solid option. The free 4-character tier is a smart way to try it with zero risk. If you need a truly high-security setup, generate your own keys - but for most personal and community projects on Tor, this gets the job done well.&lt;/p&gt;

&lt;p&gt;My newsletter is still running on that "shade" address. Readers find it easier to remember, and I haven't had a single complaint about the address being wrong or unrecognizable since I switched.&lt;/p&gt;

&lt;p&gt;Would I use it again? Already planning to for a second project.&lt;/p&gt;

&lt;p&gt;BRO GENERATOR is at bro-generator.xyz and also available on Tor.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>I Hosted My First .onion Site With BRO HOSTING - Here is What I Learned</title>
      <dc:creator>Friren</dc:creator>
      <pubDate>Thu, 11 Jun 2026 10:01:22 +0000</pubDate>
      <link>https://dev.to/friren/i-hosted-my-first-onion-site-with-bro-hosting-here-is-what-i-learned-2khf</link>
      <guid>https://dev.to/friren/i-hosted-my-first-onion-site-with-bro-hosting-here-is-what-i-learned-2khf</guid>
      <description>&lt;p&gt;I'm not a server administrator. I'm a writer who wanted to publish work on Tor - outside of any clearnet platform's terms of service, with no account linking anything back to me. The standard advice is "just run your own hidden service." I looked into it. Nginx config, Tor daemon setup, key management, port forwarding if you're not on a VPS. I decided there had to be a better way, and that's how I ended up testing BRO HOSTING for three months.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Setup Process
&lt;/h2&gt;

&lt;p&gt;I registered at bro-hosting.xyz, which took under two minutes. Username and password, nothing else. The dashboard appeared immediately.&lt;/p&gt;

&lt;p&gt;Creating a site is a short form: site name, site type, and an optional vanity prefix for your .onion address. I chose "static HTML" since I was publishing a simple content site. The optional vanity prefix (up to 4 characters, generated using mkp224o in the background) is a nice touch - I used it to get an address starting with "sha" for "shade-notes."&lt;/p&gt;

&lt;p&gt;From clicking "Create Site" to having a live .onion address took about 4 minutes. The service set up the Tor hidden service, configured nginx routing for my site, and presented me with the address. I then uploaded my HTML files through the built-in file manager.&lt;/p&gt;

&lt;h2&gt;
  
  
  The File Manager
&lt;/h2&gt;

&lt;p&gt;This is the part I was most skeptical about. Browser-based file managers for web hosting tend to be clunky, limited, or both. BRO HOSTING's is actually functional.&lt;/p&gt;

&lt;p&gt;Supported operations: upload files (up to the plan disk limit), create directories, rename, delete, and edit text files directly in the browser. The text editor is basic - think a simple textarea - but for editing HTML and CSS it works fine. You can download individual files too.&lt;/p&gt;

&lt;p&gt;I uploaded about 40 HTML files, a CSS file, and some images over the course of my first week. No issues, no timeouts. The upload interface gives clear feedback on what's happening.&lt;/p&gt;

&lt;p&gt;One limitation: the file editor has a 512KB size limit. For text files and HTML this is not an issue. For large scripts or data files, you'd need to split and upload directly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Site Types Available
&lt;/h2&gt;

&lt;p&gt;BRO HOSTING isn't just for static sites. During my testing I explored the options:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Site Type&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Static HTML&lt;/td&gt;
&lt;td&gt;Served directly by nginx. Fast, simple, ideal for content sites&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PHP&lt;/td&gt;
&lt;td&gt;PHP-FPM + optional MySQL database. For dynamic sites without Python&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Python (WSGI)&lt;/td&gt;
&lt;td&gt;Run Flask or Django apps. Gunicorn underneath&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WordPress&lt;/td&gt;
&lt;td&gt;Pre-configured WordPress install on PHP+MySQL stack&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DokuWiki&lt;/td&gt;
&lt;td&gt;Ready-to-run wiki. Useful for documentation or community wikis&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The fact that Python WSGI is available is significant - it means you can run real web applications, not just static content. That opens up a lot of use cases.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plan Pricing and Disk Limits
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Plan&lt;/th&gt;
&lt;th&gt;Sites&lt;/th&gt;
&lt;th&gt;Disk&lt;/th&gt;
&lt;th&gt;Price&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Basic&lt;/td&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;Standard&lt;/td&gt;
&lt;td&gt;Small BTC fee&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pro&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;td&gt;Large&lt;/td&gt;
&lt;td&gt;Higher BTC fee&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Pricing is in Bitcoin and paid through BRO PAY. For a single static site, the free plan was sufficient for my use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance and Uptime
&lt;/h2&gt;

&lt;p&gt;Over three months, my site was down for a total of maybe 2-3 hours. One scheduled maintenance, one unexpected restart that resolved quickly. For a $0/month static site on Tor, this is genuinely good.&lt;/p&gt;

&lt;p&gt;Speed within Tor is acceptable. Page load times depend more on the user's Tor circuit than on the hosting, which is normal. My HTML-only pages load in 2-4 seconds on a typical Tor connection.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enable / Disable Toggle
&lt;/h2&gt;

&lt;p&gt;One feature I found unexpectedly useful: you can toggle each site on or off from the dashboard. When a site is off, it's removed from the Tor circuit and nginx config temporarily. You can bring it back with one click. This is useful during maintenance or if you want to take content offline quickly without deleting it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vanity .onion Prefixes
&lt;/h2&gt;

&lt;p&gt;The built-in vanity prefix option (4 characters) uses mkp224o to generate a custom .onion address. For free. This would otherwise require running generation software on your own hardware. It's a small feature that makes a noticeable difference in how shareable your address is.&lt;/p&gt;

&lt;p&gt;If you need longer prefixes (5-8 characters), BRO GENERATOR handles that as a separate paid service. The two integrate well.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Wish Were Different
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No FTP or SFTP access - browser upload only, which is fine for small sites but cumbersome for large deployments&lt;/li&gt;
&lt;li&gt;No custom domain support - you're getting an .onion address, not a clearnet domain&lt;/li&gt;
&lt;li&gt;The file editor could use syntax highlighting for HTML/CSS/JS&lt;/li&gt;
&lt;li&gt;Bandwidth/traffic statistics would be useful to see how many visitors your site is getting&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Verdict
&lt;/h2&gt;

&lt;p&gt;BRO HOSTING makes .onion site deployment accessible to people who aren't server administrators. The free tier is genuinely useful, the site types cover real use cases beyond just static HTML, and the vanity prefix feature removes a friction point that would otherwise require separate tooling. The limitations (browser-only file management, no traffic stats) are real but expected for a service at this price point. If you want your content on Tor without managing your own infrastructure, this is currently the most frictionless way to do it.&lt;/p&gt;

&lt;p&gt;Three months in, my site is still up, still getting visitors through Tor, and I've never had to touch a config file. That's exactly what I was looking for.&lt;/p&gt;

&lt;p&gt;BRO HOSTING is at bro-hosting.xyz and accessible through Tor.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>6 Months Using a .Onion Email Address as My Main Tor Contact — Honest Assessment</title>
      <dc:creator>Friren</dc:creator>
      <pubDate>Mon, 08 Jun 2026 23:17:03 +0000</pubDate>
      <link>https://dev.to/friren/6-months-using-a-onion-email-address-as-my-main-tor-contact-honest-assessment-56j3</link>
      <guid>https://dev.to/friren/6-months-using-a-onion-email-address-as-my-main-tor-contact-honest-assessment-56j3</guid>
      <description>&lt;p&gt;I've used ProtonMail, Tutanota, and a dozen throwaway services. All clearnet. All asking for something before you can use them.&lt;/p&gt;

&lt;p&gt;Six months ago I switched to &lt;strong&gt;BRO MAIL&lt;/strong&gt; (bro-mail.xyz) for all Tor-related communication. It's a hosted email service that lives entirely on a .onion address — Postfix + Dovecot + Roundcube, standard stack, just running inside Tor.&lt;/p&gt;

&lt;h2&gt;
  
  
  Registration
&lt;/h2&gt;

&lt;p&gt;90 seconds. Username + password. No verification, no phone number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day-to-day use
&lt;/h2&gt;

&lt;p&gt;Used it for forum registrations, dark web service signups, and correspondence with other Tor users. Also connected it to Thunderbird via IMAP over SOCKS5 — that setup worked without issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually works well
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Tor-to-Tor delivery (BRO MAIL to BRO MAIL) is fast and reliable&lt;/li&gt;
&lt;li&gt;IMAP in Thunderbird via Tor proxy — solid&lt;/li&gt;
&lt;li&gt;Registering for .onion services without exposing a clearnet email — exactly the use case&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What's limited
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Clearnet deliverability (Gmail/Outlook) is inconsistent — some messages arrive, some go to spam. This is a known problem for small mail servers without reputation. Not a dealbreaker for my use case, but worth knowing&lt;/li&gt;
&lt;li&gt;No E2E encryption — messages stored on server. Use PGP on top if you need that&lt;/li&gt;
&lt;li&gt;No custom domain support&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Uptime over 6 months
&lt;/h2&gt;

&lt;p&gt;Two outages. One brief (under 1 hour), one around 3 hours. No message loss either time. Better than I expected for an independent service.&lt;/p&gt;

&lt;h2&gt;
  
  
  Comparison
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Network&lt;/th&gt;
&lt;th&gt;Clearnet delivery&lt;/th&gt;
&lt;th&gt;Privacy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BRO MAIL&lt;/td&gt;
&lt;td&gt;Tor-native&lt;/td&gt;
&lt;td&gt;Inconsistent&lt;/td&gt;
&lt;td&gt;Network-level anonymity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ProtonMail&lt;/td&gt;
&lt;td&gt;Clearnet + Tor&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;E2E encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tutanota&lt;/td&gt;
&lt;td&gt;Clearnet&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;td&gt;E2E encryption&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;BRO MAIL isn't trying to replace ProtonMail. It's solving a different problem: email that never touches clearnet infrastructure. If that's your threat model, it's one of very few services that actually delivers it.&lt;/p&gt;

&lt;p&gt;Still my main Tor contact after 6 months. &lt;strong&gt;4/5.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>devjournal</category>
      <category>networking</category>
      <category>privacy</category>
      <category>security</category>
    </item>
    <item>
      <title>BRO SEARCH Review: The Only .Onion Search Engine That Actually Works in 2026</title>
      <dc:creator>Friren</dc:creator>
      <pubDate>Sun, 07 Jun 2026 20:49:24 +0000</pubDate>
      <link>https://dev.to/friren/bro-search-review-the-only-onion-search-engine-that-actually-works-in-2025-36o4</link>
      <guid>https://dev.to/friren/bro-search-review-the-only-onion-search-engine-that-actually-works-in-2025-36o4</guid>
      <description>&lt;p&gt;I've been navigating the Tor network for years, and finding anything useful has always been a frustrating exercise. Torch gives you ten pages of spam. Ahmia misses half the network. DuckDuckGo via onion won't index hidden services at all. So when I stumbled across &lt;strong&gt;BRO SEARCH&lt;/strong&gt; at &lt;a href="https://bro-search.xyz" rel="noopener noreferrer"&gt;bro-search.xyz&lt;/a&gt;, I was genuinely skeptical. Three months of daily use later, here's my honest assessment of everything the engine can actually do.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Ratings at a glance:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search Quality: &lt;strong&gt;9.2/10&lt;/strong&gt; - Fresh, deduplicated index&lt;/li&gt;
&lt;li&gt;Feature Depth: &lt;strong&gt;8.8/10&lt;/strong&gt; - Filters, ads, reporting&lt;/li&gt;
&lt;li&gt;Privacy: &lt;strong&gt;9.5/10&lt;/strong&gt; - Hashed IPs, no cookies&lt;/li&gt;
&lt;li&gt;Ad Platform: &lt;strong&gt;8.5/10&lt;/strong&gt; - BTC, keyword targeting&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  How I Found It
&lt;/h2&gt;

&lt;p&gt;A forum thread mentioned BRO SEARCH as "the first .onion search that doesn't look like it was built in 2003." That description turned out to be accurate. The homepage loads fast, the interface is clean and dark, and the search bar is exactly where you'd expect it. There's a live count of indexed sites and total searches processed - small details, but they signal that this is an actively maintained project, not an abandoned experiment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Core Search: What's Actually Different
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Smart deduplication&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is the feature I care most about. BRO SEARCH deduplicates results by domain - you never see the same .onion address listed ten times under slightly different URLs. Beyond that, it also detects sites with identical descriptions and promotes the unique ones to the top of the list. Results that share boilerplate content get pushed to the bottom. In practice, this cuts out the noise that makes Torch essentially unusable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PageRank + freshness ordering&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Results are ordered by a combination of page rank and how recently the site was crawled. You're not getting stale links from 2019 at the top - the engine surfaces content that's actually online right now.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Category filter&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The sidebar shows all content categories present in the current index, with counts. One click filters results to that category only. Useful when you're looking for something specific - forums, markets, services - without wading through everything else. The filter is additive: you can combine a category with a keyword query and the results narrow correctly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adult content toggle&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Adult content is filtered by default. There's a clear toggle in the search interface to include it when needed. This is handled server-side by a keyword blocklist, so it's not just a client-side filter that can be bypassed - untagged adult content won't appear in standard results.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Per-query word exclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You can exclude specific words from results directly in the search UI without retyping your query with minus signs. The exclusions stack - add multiple words and results are filtered by all of them simultaneously. It's the kind of quality-of-life feature you don't expect from a .onion search engine.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Popular words widget&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The homepage has a "popular searches" widget that dynamically pulls the most common terms from the current index. It's a good way to discover what's actually being searched and indexed right now - and occasionally leads to interesting finds you wouldn't have searched for yourself.&lt;/p&gt;

&lt;h2&gt;
  
  
  Submit &amp;amp; Report: Community-Driven Index
&lt;/h2&gt;

&lt;p&gt;BRO SEARCH has two tools that let the community shape the index directly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Add a site&lt;/strong&gt; - there's a public form at &lt;code&gt;/add-site&lt;/code&gt;. Paste any .onion URL and it enters the crawl queue with priority 8 (above normal). I submitted three sites and all were indexed within a day. No account needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Report a site&lt;/strong&gt; - every result has a report button. You choose a reason (spam, illegal content, broken, etc.) and optionally add a description. Reports go to the admin queue. Sites that accumulate reports or contain admin-flagged phrases get removed from results automatically. This is the cleanest content moderation system I've seen on any .onion search.&lt;/p&gt;

&lt;h2&gt;
  
  
  Account System &amp;amp; Personal Cabinet
&lt;/h2&gt;

&lt;p&gt;You don't need an account to search - BRO SEARCH works fine anonymously. But registration unlocks a personal cabinet that's genuinely useful if you plan to advertise.&lt;/p&gt;

&lt;p&gt;Registration only requires a username, email, and password. No phone number, no verification email, no KYC of any kind. Inside the cabinet you get:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Dashboard with stats across all your active campaigns (impressions, clicks, spend)&lt;/li&gt;
&lt;li&gt;Full ad management - create, edit, renew&lt;/li&gt;
&lt;li&gt;Payment history with invoice status tracking&lt;/li&gt;
&lt;li&gt;BTC balance with deposit via BRO PAY integration&lt;/li&gt;
&lt;li&gt;Profile settings - change password, update your BTC address&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Advertising Platform: Four Formats, Bitcoin Payments
&lt;/h2&gt;

&lt;p&gt;This is where BRO SEARCH stands out from every other .onion search. It has a full self-serve advertising platform - keyword targeting, four ad formats, BTC payment, and real analytics.&lt;/p&gt;

&lt;h3&gt;
  
  
  Ad Formats
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Format&lt;/th&gt;
&lt;th&gt;Size / Placement&lt;/th&gt;
&lt;th&gt;Best For&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Text&lt;/td&gt;
&lt;td&gt;Top of results, 3 slots&lt;/td&gt;
&lt;td&gt;Service announcements, direct links&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Banner&lt;/td&gt;
&lt;td&gt;480x60 px, horizontal&lt;/td&gt;
&lt;td&gt;Brand awareness, visual campaigns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sidebar&lt;/td&gt;
&lt;td&gt;260x260 px, right column&lt;/td&gt;
&lt;td&gt;Ongoing presence alongside results&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Sponsored&lt;/td&gt;
&lt;td&gt;Inline with organic results&lt;/td&gt;
&lt;td&gt;Blended, contextual placement&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Keyword &amp;amp; Negative Keyword Targeting
&lt;/h3&gt;

&lt;p&gt;When creating an ad you specify:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Keywords&lt;/strong&gt; - your ad only shows when the search query matches one of your keywords. Leave it blank to show on all searches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Negative keywords&lt;/strong&gt; - your ad is suppressed if the query contains any of these. Useful for avoiding irrelevant impressions and wasted spend.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The matching is substring-based - "bitcoin" as a keyword triggers on "bitcoin wallet", "bitcoin exchange", etc. I ran a test campaign and the targeting worked exactly as described.&lt;/p&gt;

&lt;h3&gt;
  
  
  Monthly Billing &amp;amp; Ad Renewal
&lt;/h3&gt;

&lt;p&gt;Ads are priced per month. When you create an ad, you choose how many months to run it. If you have BTC balance in your account, payment is instant. If your balance is insufficient, an invoice is generated through BRO PAY. When an ad expires or is exhausted, you can renew it in one click - same format, new end date, new billing.&lt;/p&gt;

&lt;h3&gt;
  
  
  Banner Management Library
&lt;/h3&gt;

&lt;p&gt;You can upload banner images (PNG, JPG, GIF, WebP up to 2 MB) to a personal library before creating ads. Then select from the library when creating or editing a campaign. Banners in use cannot be deleted until the campaign ends.&lt;/p&gt;

&lt;h3&gt;
  
  
  Analytics per Campaign
&lt;/h3&gt;

&lt;p&gt;Each ad has a dedicated stats page showing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Total impressions and clicks&lt;/li&gt;
&lt;li&gt;CTR calculated to two decimal places&lt;/li&gt;
&lt;li&gt;Budget spent vs. total budget&lt;/li&gt;
&lt;li&gt;Status: pending / active / exhausted / rejected&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bitcoin Deposits via BRO PAY
&lt;/h2&gt;

&lt;p&gt;Funding your ad account is done through BRO PAY, the network's own payment gateway. The deposit flow is embedded directly in the cabinet - enter an amount, an iframe payment form appears, and once the transaction confirms, the balance updates automatically. Pending deposits can be cancelled to start a new one. The system prevents duplicate pending invoices for the same account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Privacy in Practice
&lt;/h2&gt;

&lt;p&gt;BRO SEARCH logs searches - necessary for the popular words feature and analytics - but does so in a privacy-preserving way. The IP is hashed (16 characters of SHA-256) before storage. There's no cleartext IP in the database. Search logs store the query, result count, and hashed IP - nothing traceable to a specific user.&lt;/p&gt;

&lt;p&gt;For unauthenticated users, there are no tracking cookies and no persistent session. Search results pages are served with explicit &lt;code&gt;no-cache&lt;/code&gt; headers - your browser won't cache them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Like to See Next
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Boolean operators and exact phrase matching for technical searches&lt;/li&gt;
&lt;li&gt;Manual category suggestion when submitting a site&lt;/li&gt;
&lt;li&gt;Campaign scheduling - start/stop at specific dates&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Final Verdict
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;BRO SEARCH is the most complete .onion search engine I've used.&lt;/strong&gt; The core search is fast and clean, deduplication actually works, and the advertising platform is in a different league from anything else on Tor. The privacy model is honest - hashed logs, no cookies. If you run a .onion site and want to be discoverable, submit it. If you want to reach Tor users with advertising, the self-serve platform with keyword targeting is worth trying. The rest of the BRO NETWORK services complement it well - pay with &lt;a href="https://bro-pay.xyz" rel="noopener noreferrer"&gt;BRO PAY&lt;/a&gt;, host with &lt;a href="https://bro-hosting.xyz" rel="noopener noreferrer"&gt;BRO HOSTING&lt;/a&gt;, communicate with &lt;a href="https://bro-mail.xyz" rel="noopener noreferrer"&gt;BRO MAIL&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Tags: onion search - tor browser - dark web - bitcoin ads - anonymous search - hidden services - keyword targeting - 2026&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;BRO NETWORK:&lt;/strong&gt; &lt;a href="https://bro-search.xyz" rel="noopener noreferrer"&gt;BRO SEARCH&lt;/a&gt; - &lt;a href="https://bro-hosting.xyz" rel="noopener noreferrer"&gt;BRO HOSTING&lt;/a&gt; - &lt;a href="https://bro-generator.xyz" rel="noopener noreferrer"&gt;BRO GENERATOR&lt;/a&gt; - &lt;a href="https://bro-mail.xyz" rel="noopener noreferrer"&gt;BRO MAIL&lt;/a&gt; - &lt;a href="https://bro-pay.xyz" rel="noopener noreferrer"&gt;BRO PAY&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
