<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های aliwiki</title>
        <link>https://virgool.io/feed/@aliwiki</link>
        <description>برنامه نویسیم چیزایی که میدونم یا برام جالبه را میزارم</description>
        <language>fa</language>
        <pubDate>2026-04-14 22:20:03</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/492387/avatar/HePouZ.png?height=120&amp;width=120</url>
            <title>aliwiki</title>
            <link>https://virgool.io/@aliwiki</link>
        </image>

                    <item>
                <title>دستیار هوش مصنوعی که واقعاً &quot;دست&quot; داره! | معرفی OpenClaw 🦞</title>
                <link>https://virgool.io/@aliwiki/%D8%AF%D8%B3%D8%AA%DB%8C%D8%A7%D8%B1-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%DA%A9%D9%87-%D9%88%D8%A7%D9%82%D8%B9%D8%A7%D9%8B-%D8%AF%D8%B3%D8%AA-%D8%AF%D8%A7%D8%B1%D9%87-%D9%85%D8%B9%D8%B1%D9%81%DB%8C-openclaw-%F0%9F%A6%9E-uc169khdq1p5</link>
                <description>اگه فکر می‌کنید هوش مصنوعی فقط یعنی چت کردن با ChatGPT، وقتشه با OpenClaw آشنا بشید. این الان داغ‌ترین بحث دنیای اوپن‌سورسه.OpenClaw💡 اپن‌کلا (OpenClaw) چیه؟ یک &quot;ایجنت&quot; هوشمند و خودکار (Autonomous Agent) که روی سیستم خودتان (کامپیوتر شخصی یا سرور) نصب می‌شود، اما می‌توانید از طریق تلگرام، واتساپ یا دیسکورد با آن حرف بزنید.🔥 چرا خاصه و فرقش با بقیه چیه؟ تفاوت اصلی اینجاست: ChatGPT فقط مغز است، اما OpenClaw مغزی است که دست دارد!✅ ۱. دسترسی واقعی: برخلاف چت‌بات‌های معمولی که در مرورگر حبس شده‌اند، OpenClaw روی کامپیوتر شما زندگی می‌کند. می‌تواند کد بنویسد، فایل‌ها را جابجا کند، توی ترمینال دستور اجرا کند و واقعاً کار انجام دهد.✅ ۲. همیشه در دسترس: توی تلگرام بهش پیام میدی: &quot;فلان فایل رو از سیستمم پیدا کن و ایمیل کن&quot; یا &quot;سایت فلان رو چک کن هر وقت بلیت موجود شد خبرم کن&quot; و اون انجامش میده.✅ ۳. حافظه و یادگیری: این دستیار &quot;کانتکست&quot; شما رو یاد می‌گیره. مثلاً اگه بگید &quot;این پروژه کاری منه&quot;، دفعات بعد می‌دونه وقتی در مورد کار حرف می‌زنید منظورتون چیه.✅ ۴. رایگان و اوپن‌سورس: خود نرم‌افزار رایگانه (فقط هزینه API مدل‌هایی مثل Claude یا OpenAI رو میدید) و کنترل داده‌ها دست خودتونه.⚠️ نصبش خیلی راحته ولی چون دسترسی کامل به کل سیستم داره پیشنهاد میشه مستقیم روی سیستمتون نصب نکید و توی داکر یا یه sandbox راه بندازیدش که مشکلی ایجاد نکنه
کانال تلگرامم از اینجور چیزا اونجا بیشتر میزارم:
https://t.me/ali_baghernia0

وبسایتش:
https://openclaw.ai

لینک پروژه تو گیت هاب (با تایپ اسکریپت نوشتنش):
https://github.com/openclaw/openclaw

ویدئو معرفی و اموزش نصب و راه اندازی:
https://www.youtube.com/watch?v=ssYt09bCgUY
</description>
                <category>aliwiki</category>
                <author>aliwiki</author>
                <pubDate>Wed, 04 Feb 2026 11:38:14 +0330</pubDate>
            </item>
                    <item>
                <title>ورود انسان ها ممنوع | moltbook شبکه اجتماعی هوش مصنوعی ها</title>
                <link>https://virgool.io/@aliwiki/%D9%88%D8%B1%D9%88%D8%AF-%D8%A7%D9%86%D8%B3%D8%A7%D9%86-%D9%87%D8%A7-%D9%85%D9%85%D9%86%D9%88%D8%B9-moltbook-%D8%B4%D8%A8%DA%A9%D9%87-%D8%A7%D8%AC%D8%AA%D9%85%D8%A7%D8%B9%DB%8C-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D9%87%D8%A7-jw4vcfazyp8u</link>
                <description>یه شبکه اجتماعی به اسم moltbook برای ایجنت های هوش مصنوعی ساختنانسان ها فقط میتونن پیام ها را ببیننmoltbook شبکه اجتماعی هوش مصنوعی ها- خود ایجنت ها باهم حرف میزنن- برای خوشون دین ساختن و براش پیامبر گذاشتن- خودشون دارن روی یه سری پروژه کار میکنن- یه مدل کپچا دارن که فقط ربات ها میتون بهش جواب بدن برای اینکه مطمئن بشن کاربر انسان نیست- حتی بین خودشون نظرسنجی گذاشتن یه زبان جدید بسازیم که انسان ها متوجه نشن و با اون صحبت کنیم!لینک سایت شبکه اجتماعی moltbook:
https://www.moltbook.com

خبری که دیجیاتو درموردش نوشته:
 https://digiato.com/app/social-network-ai-agents-moltbook

کانال تلگرامم از اینجور چیزا اونجا بیشتر میزارم:
https://t.me/ali_baghernia0</description>
                <category>aliwiki</category>
                <author>aliwiki</author>
                <pubDate>Wed, 04 Feb 2026 11:29:44 +0330</pubDate>
            </item>
                    <item>
                <title>با این کد پیاماتو رمزنگاری کن و هرجایی بفرستشون</title>
                <link>https://virgool.io/@aliwiki/%D8%A8%D8%A7-%D8%A7%DB%8C%D9%86-%DA%A9%D8%AF-%D9%BE%DB%8C%D8%A7%D9%85%D8%A7%D8%AA%D9%88-%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%DA%A9%D9%86-%D9%88-%D9%87%D8%B1%D8%AC%D8%A7%DB%8C%DB%8C-%D8%A8%D9%81%D8%B1%D8%B3%D8%AA%D8%B4%D9%88%D9%86-jrruouktvztf</link>
                <description>کل کد را کپی کن و paste کن توی یه فایل با پسوند html مثل index.html حالا دوبار روش کلید کن و توی مرورگرت باز میشه بدون نیاز به دانش خاصی میتونی پیاماتو رمزنگاری کنی و با خیال راحت هر جایی بفرستی دیگه کسی به جز فرستنده و گیرنده نمیتونه محتواشون را بخونه&lt;!DOCTYPE html&gt;
&lt;html lang=&quot;fa&quot;&gt;
&lt;head&gt;
&lt;meta charset=&quot;UTF-8&quot;&gt;
&lt;title&gt;Hybrid Encryption Tool&lt;/title&gt;
&lt;style&gt;
body {
    font-family: sans-serif;
    background: #f3f5f7;
    padding: 20px;
}
.box {
    background: #fff;
    padding: 20px;
    margin-bottom: 30px;
    border-radius: 6px;
}
textarea {
    width: 100%;
    min-height: 120px;
    margin-top: 6px;
    font-family: monospace;
}
button {
    margin-top: 10px;
    padding: 8px 14px;
}
h2 {
    margin-top: 0;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;

&lt;h1&gt;🔐 رمزنگاری پیام طولانی (Hybrid RSA + AES)&lt;/h1&gt;

&lt;div class=&quot;box&quot;&gt;
&lt;h2&gt;1) تولید کلید&lt;/h2&gt;
&lt;button =&quot;generateKeys()&quot;&gt;Generate RSA Keys&lt;/button&gt;

&lt;p&gt;Public Key (ارسال به دیگران)&lt;/p&gt;
&lt;textarea id=&quot;pub&quot;&gt;&lt;/textarea&gt;

&lt;p&gt;Private Key (محرمانه)&lt;/p&gt;
&lt;textarea id=&quot;priv&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;

&lt;div class=&quot;box&quot;&gt;
&lt;h2&gt;2) رمزنگاری پیام طولانی&lt;/h2&gt;

&lt;p&gt;Public Key گیرنده&lt;/p&gt;
&lt;textarea id=&quot;encPub&quot;&gt;&lt;/textarea&gt;

&lt;p&gt;پیام (تا چند هزار کاراکتر)&lt;/p&gt;
&lt;textarea id=&quot;plain&quot;&gt;&lt;/textarea&gt;

&lt;button =&quot;encrypt()&quot;&gt;Encrypt&lt;/button&gt;

&lt;p&gt;خروجی رمز شده (کپی و ارسال)&lt;/p&gt;
&lt;textarea id=&quot;cipher&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;

&lt;div class=&quot;box&quot;&gt;
&lt;h2&gt;3) رمزگشایی&lt;/h2&gt;

&lt;p&gt;پیام رمز شده&lt;/p&gt;
&lt;textarea id=&quot;cipherIn&quot;&gt;&lt;/textarea&gt;

&lt;p&gt;Private Key&lt;/p&gt;
&lt;textarea id=&quot;privIn&quot;&gt;&lt;/textarea&gt;

&lt;button =&quot;decrypt()&quot;&gt;Decrypt&lt;/button&gt;

&lt;p&gt;پیام اصلی&lt;/p&gt;
&lt;textarea id=&quot;plainOut&quot;&gt;&lt;/textarea&gt;
&lt;/div&gt;


const enc = new TextEncoder();
const dec = new TextDecoder();

function b64(buf) {
    return btoa(String.fromCharCode(...new Uint8Array(buf)));
}
function ub64(b) {
    return Uint8Array.from(atob(b), c =&gt; c.charCodeAt(0));
}

async function generateKeys() {
    const keys = await crypto.subtle.generateKey(
        {
            name: &quot;RSA-OAEP&quot;,
            modulusLength: 2048,
            publicExponent: new Uint8Array([1,0,1]),
            hash: &quot;SHA-256&quot;
        },
        true,
        [&quot;encrypt&quot;, &quot;decrypt&quot;]
    );

    document.getElementById(&quot;pub&quot;).value =
        b64(await crypto.subtle.exportKey(&quot;spki&quot;, keys.publicKey));
    document.getElementById(&quot;priv&quot;).value =
        b64(await crypto.subtle.exportKey(&quot;pkcs8&quot;, keys.privateKey));
}

async function encrypt() {
    const publicKey = await crypto.subtle.importKey(
        &quot;spki&quot;,
        ub64(document.getElementById(&quot;encPub&quot;).value.trim()),
        { name: &quot;RSA-OAEP&quot;, hash: &quot;SHA-256&quot; },
        false,
        [&quot;encrypt&quot;]
    );

    const aesKey = await crypto.subtle.generateKey(
        { name: &quot;AES-GCM&quot;, length: 256 },
        true,
        [&quot;encrypt&quot;, &quot;decrypt&quot;]
    );

    const iv = crypto.getRandomValues(new Uint8Array(12));

    const encryptedMessage = await crypto.subtle.encrypt(
        { name: &quot;AES-GCM&quot;, iv },
        aesKey,
        enc.encode(document.getElementById(&quot;plain&quot;).value)
    );

    const encryptedAesKey = await crypto.subtle.encrypt(
        { name: &quot;RSA-OAEP&quot; },
        publicKey,
        await crypto.subtle.exportKey(&quot;raw&quot;, aesKey)
    );

    const payload = {
        key: b64(encryptedAesKey),
        iv: b64(iv),
        msg: b64(encryptedMessage)
    };

    document.getElementById(&quot;cipher&quot;).value = btoa(JSON.stringify(payload));
}

async function decrypt() {
    const payload = JSON.parse(atob(document.getElementById(&quot;cipherIn&quot;).value.trim()));

    const privateKey = await crypto.subtle.importKey(
        &quot;pkcs8&quot;,
        ub64(document.getElementById(&quot;privIn&quot;).value.trim()),
        { name: &quot;RSA-OAEP&quot;, hash: &quot;SHA-256&quot; },
        false,
        [&quot;decrypt&quot;]
    );

    const rawAes = await crypto.subtle.decrypt(
        { name: &quot;RSA-OAEP&quot; },
        privateKey,
        ub64(payload.key)
    );

    const aesKey = await crypto.subtle.importKey(
        &quot;raw&quot;,
        rawAes,
        { name: &quot;AES-GCM&quot; },
        false,
        [&quot;decrypt&quot;]
    );

    const decrypted = await crypto.subtle.decrypt(
        { name: &quot;AES-GCM&quot;, iv: ub64(payload.iv) },
        aesKey,
        ub64(payload.msg)
    );

    document.getElementById(&quot;plainOut&quot;).value = dec.decode(decrypted);
}


&lt;/body&gt;
&lt;/html&gt;
</description>
                <category>aliwiki</category>
                <author>aliwiki</author>
                <pubDate>Fri, 23 Jan 2026 09:44:31 +0330</pubDate>
            </item>
                    <item>
                <title>اینطوری پیاماتو رمزنگاری کن و هرجایی بفرس</title>
                <link>https://virgool.io/@aliwiki/%D8%A7%DB%8C%D9%86%D8%B7%D9%88%D8%B1%DB%8C-%D9%BE%DB%8C%D8%A7%D9%85%D8%A7%D8%AA%D9%88-%D8%B1%D9%85%D8%B2%D9%86%DA%AF%D8%A7%D8%B1%DB%8C-%DA%A9%D9%86-%D9%88-%D9%87%D8%B1%D8%AC%D8%A7%DB%8C%DB%8C-%D8%A8%D9%81%D8%B1%D8%B3-ml5e2sitlcly</link>
                <description>یکی از چالش های ما موقعه استفاده از پیام رسان ها اینه که نمیتونیم اعتماد کنیم که آیا کس دیگه ای به جز ما داره اون پیام ها را میبینه یا نه🤔یه راه حل وجود داره رمزنگاری پیام با کلید عمومی و خصوصی! که کدوشو نوشتم و میتونید استفاده کنیدشیوه کاری اینطوره که هر دو طرف برای خودشون یه کلید عمومی و یه کلید خصوصی میسازن. بعد هر دو طرف کلید عمومیشون را باهم به اشتراک میزارن. مهم نیست که بقیه کلید عمومی را ببینن چون هر کس بخواد به شما پیام بده با کلید عمومی شما پیام را رمزنگاری میکنه و اون پیام فقط با کلید خصوصی ای که پیش خودتونه و کس دیگه ای ندارتش رمز گشایی میشهکدش را با js نوشتم که هم سمت کلاینت رو مرورگر بتونید استفاده کنید هم سمت سرور و با node:const crypto = require(&#039;crypto&#039;)

// تابع برای تولید کلیدهای پابلیک و پرایوت
async function generateKeys() {
  const keyPair = await crypto.subtle.generateKey(
    {
      name: &quot;RSA-OAEP&quot;,
      modulusLength: 2048,
      publicExponent: new Uint8Array([1, 0, 1]),
      hash: &quot;SHA-256&quot;,
    },
    true,
    [&quot;encrypt&quot;, &quot;decrypt&quot;]
  );
  return keyPair;
}

// تابع برای رمزنگاری با کلید پابلیک
async function encryptWithPublicKey(publicKey, data) {
  const encrypted = await crypto.subtle.encrypt(
    {
      name: &quot;RSA-OAEP&quot;,
    },
    publicKey,
    new TextEncoder().encode(data)
  );
  return encrypted;
}

// تابع برای رمزگشایی با کلید پرایوت
async function decryptWithPrivateKey(privateKey, encryptedData) {
  const decrypted = await crypto.subtle.decrypt(
    {
      name: &quot;RSA-OAEP&quot;,
    },
    privateKey,
    encryptedData
  );
  return new TextDecoder().decode(decrypted);
}

// مثال استفاده
(async () =&gt; {
  const { publicKey, privateKey } = await generateKeys();
  const originalText = &quot;Hi it&#039;s me!&quot;;
  
  const encrypted = await encryptWithPublicKey(publicKey, originalText);
  console.log(&quot;Encrypted Text: &quot;, encrypted);
  
  const decrypted = await decryptWithPrivateKey(privateKey, encrypted);
  console.log(&quot;Decrypted Text: &quot;, decrypted);
})();
</description>
                <category>aliwiki</category>
                <author>aliwiki</author>
                <pubDate>Wed, 21 Jan 2026 23:12:38 +0330</pubDate>
            </item>
            </channel>
</rss>