跳转到内容
View in the app

A better way to browse. Learn more.

彼岸论坛

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

小天管理

管理员
  • 注册日期

  • 最后上线

小天管理 发表的所有内容

  1. appletv home 键双击是切换后台应用的。 appletv 的遥控器真是垃圾啊,一会 connected 一会 disconnected 用手机也不方便,还要解锁。
  2. 不想备案,流量每日 5000 ,备选: 1. 有阿里云/腾讯云 香港轻量服务器,价格便宜,性能据说一般。 2. aws lightsail 新加坡节点,据说也是轻量,配置太低,性能一般。 3. aws ec2 新加坡/香港节点,后续可扩容,价格较贵。 不知道上面了解的对不对。选择好难。有没有大佬们帮忙参考下。感谢
  3. 在纯前端实现的 PGP 加解密( firefox 115.12 测试通过) 代码中引用的 openpgp.min.js 是 openpgpjs 在这里发布的项目: https://unpkg.com/openpgp/dist/ 直接下载此 js 文件: https://unpkg.com/openpgp@5.11.1/dist/openpgp.min.js 将以下代码保存成 .html 文件即可 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>OpenPGP.js Demo</title> <script src="openpgp.min.js"></script> <script> function clearTextarea() { switch (event.target.id) { case "btnClearPubKey2": var text = document.getElementById("publicKey2").value = ""; break; case "btnClearPgpMsg2": var text = document.getElementById("pgpmsg2").value = ""; break; } } function copyToClipboard() { switch (event.target.id) { case "btnCopyPubKey": var text = document.getElementById("publicKey").value; break; case "btnCopyPgpMsg": var text = document.getElementById("encrypttext").value; break; } // Create a temporary textarea element var tempTextarea = document.createElement("textarea"); tempTextarea.value = text; document.body.appendChild(tempTextarea); // Select the text in the textarea element tempTextarea.select(); tempTextarea.setSelectionRange(0, 99999); /*For mobile devices*/ // Copy the selected text document.execCommand("copy"); // Remove the temporary textarea element document.body.removeChild(tempTextarea); // Optionally, provide feedback to the user //alert("Copied the text: " + text); } async function pgpencrypt() { // privateKey sign var privateKeyArmored = document.getElementById("privateKey").value; const passphrase = document.getElementById("passphrase").value; const privateKey = await openpgp.decryptKey({ privateKey: await openpgp.readPrivateKey({ armoredKey: privateKeyArmored }), passphrase }); // The other party's public key is used for encryption var publicKeyArmored2 = document.getElementById("publicKey2").value; var plaintext = document.getElementById("plaintext").value; const publicKey = await openpgp.readKey({ armoredKey: publicKeyArmored2 }); const encrypted = await openpgp.encrypt({ message: await openpgp.createMessage({ text: plaintext }), // input as Message object encryptionKeys: publicKey, signingKeys: privateKey // optional }); document.getElementById('encrypttext').value = encrypted; //console.log(encrypted); // '-----BEGIN PGP MESSAGE ... END PGP MESSAGE-----' } async function pgpdecrypt() { // Verify digital signature with the opponent's public key var publicKeyArmored2 = document.getElementById("publicKey2").value; const publicKey2 = await openpgp.readKey({ armoredKey: publicKeyArmored2 }); // decryption var privateKeyArmored = document.getElementById("privateKey").value; var encrypted = document.getElementById("pgpmsg2").value; const passphrase = document.getElementById("passphrase").value; // what the private key is encrypted with const privateKey = await openpgp.decryptKey({ privateKey: await openpgp.readPrivateKey({ armoredKey: privateKeyArmored }), passphrase }); const message = await openpgp.readMessage({ armoredMessage: encrypted // parse armored message }); const { data: decrypted, signatures } = await openpgp.decrypt({ message, verificationKeys: publicKey2, // optional decryptionKeys: privateKey }); document.getElementById('decryptedtext').value = decrypted //console.log(decrypted); // 'Hello, World!' // check signature validity (signed messages only) try { await signatures[0].verified; // throws on invalid signature console.log('Signature is valid'); } catch (e) { throw new Error('Signature could not be verified: ' + e.message); } } async function buildpair() { const { privateKey, publicKey, revocationCertificate } = await openpgp.generateKey({ type: 'ecc', // Type of the key, defaults to ECC curve: 'curve25519', // ECC curve name, defaults to curve25519 userIDs: [{ name: 'Jon Smith', email: 'jon@example.com' }], // you can pass multiple user IDs passphrase: document.getElementById("passphrase").value, // protects the private key format: 'armored' // output key format, defaults to 'armored' (other options: 'binary' or 'object') }); document.getElementById('privateKey').value = privateKey; // '-----BEGIN PGP PRIVATE KEY BLOCK ... ' document.getElementById('publicKey').value = publicKey; // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' //console.log(revocationCertificate); // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' } (async () => { const { privateKey, publicKey, revocationCertificate } = await openpgp.generateKey({ type: 'ecc', // Type of the key, defaults to ECC curve: 'curve25519', // ECC curve name, defaults to curve25519 userIDs: [{ name: 'Jon Smith', email: 'jon@example.com' }], // you can pass multiple user IDs passphrase: 'password', // protects the private key format: 'armored' // output key format, defaults to 'armored' (other options: 'binary' or 'object') }); document.getElementById('privateKey').value = privateKey; // '-----BEGIN PGP PRIVATE KEY BLOCK ... ' document.getElementById('publicKey').value = publicKey; // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' //console.log(revocationCertificate); // '-----BEGIN PGP PUBLIC KEY BLOCK ... ' })(); </script> </head> <body> <h1>OpenPGP.js Demo</h1> <hr /> <h3>My temporary PGP key pair</h3> <p> Private key protects passwords<br /> <input id="passphrase" type="password" value="password" /> <button id="btnBuildPair">Build pair</button> </p> <p><textarea id="privateKey" rows="5" cols="70"></textarea></p> <p><textarea id="publicKey" rows="5" cols="70"></textarea></p> <p><button id="btnCopyPubKey">Copy Public Key</button></p> <hr /> <h3>Encrypt Message</h3> <p>The PGP public key of the other party</p> <p><button id="btnClearPubKey2">Clear</button></p> <p><textarea id="publicKey2" rows="5" cols="70"></textarea> </p> <p>Plain Text</p> <p><textarea id="plaintext" rows="5" cols="70"></textarea></p> <p><button id="btnPgpSignEncrypt">Signature & Encrypt</button></p> <p><textarea id="encrypttext" rows="5" cols="70"></textarea></p> <p><button id="btnCopyPgpMsg">Copy PGP Message</button></p> <hr /> <h3>Decrypt Message</h3> <p>PGP Message</p> <p><button id="btnClearPgpMsg2">Clear</button></p> <p><textarea id="pgpmsg2" rows="5" cols="70"></textarea></p> <p><button id="btnPgpDecryptVerifySign">Decrypt & Verify Signature</button></p> <p>Plain Text</p> <p><textarea id="decryptedtext" rows="5" cols="70"></textarea></p> <script> document.getElementById("btnBuildPair").addEventListener("click", buildpair); document.getElementById("btnPgpSignEncrypt").addEventListener("click", pgpencrypt); document.getElementById("btnPgpDecryptVerifySign").addEventListener("click", pgpdecrypt); document.getElementById("btnCopyPubKey").addEventListener("click", copyToClipboard); document.getElementById("btnCopyPgpMsg").addEventListener("click", copyToClipboard); document.getElementById("btnClearPubKey2").addEventListener("click", clearTextarea); document.getElementById("btnClearPgpMsg2").addEventListener("click", clearTextarea); </script> </body> </html>
  4. 大家有没有居家办公或者远程办公的经验分享一下,通过哪些平台?或者哪些公司? 想长期居家办公或者远程办公了。 本人目前是全栈开发工程师。 熟悉技术栈:Spring 全家桶、Vue.js 、Node.js 、Python 、Docker
  5. 有一个兄弟,欠问我几百块想恶心太一下,找他发消息现在不都理我了
  6. 家里的网络拓扑大致如下 备注: 光猫是移动给的,只有普通 user 账户,能进行设置的功能不多. 预埋的网线集中出口在小仓库的弱电箱,位置比较偏,取放不方便,对外发射信号屏蔽多. 期望: 手机/笔记本/平板等无线上网设备能和台式机在一个网段上,或者能简单直接互访. 我应该怎么配置网络设备(路由器/光猫/上网设备)好呢? 真心请教,有没说清楚的,我可以再补充.谢谢大家!
  7. 使用 Google ,Bing 搜索引擎,或者小红书,抖音,今日头条一类,已经是信息茧房, ChatGPT 这种结果单一的,不是更容易陷入信息茧房吗?大家怎么看? 个人理解的信息茧房程度 低度:搜索引擎(未被收入的就看不到); 中度:小红书,抖音类,今日头条类(根据喜好推荐); 重度:ChatGPT 类,(结果单一);
  8. Chip: Apple M1 Pro Total Number of Cores: 8 (6 performance and 2 efficiency) Memory: 16 GB Storage: 512GB Apple Care: Expires Aug 19, 2025
  9. 在 618 活动期间,我在京东购买了一台兄弟激光打印机。当我收到打印机后,发现打印结果有缺失和不均匀的问题,我联系了兄弟的售后部门,他们认为可能是感光鼓的问题,所以我申请了售后,本以为事件告一段落。 过了两天,我接到了售后仓库的电话。对方告诉我序列号不匹配,无法售后,货物将会原路返回。 又联系了京东的官方客服,他们告诉我,我的兄弟打印机序列号必须是 8C5K 开头,而我退回的打印机序列号以 E7 开头,故售后仓库拒收退回。 现在京东专员一口咬定机身上的条形码必须是 8C5K1U00120 才能售后,否则就不是京东的货物,他们不认。 亲们,收货一定要拍开箱视频!!!即便是自营!!
  10. 现在随便一个人都可以创建一个 AI 智能体,他们可以完全看到我们的明文数据吧。如果我用我自己的创建的智能体,除了平台方以外的别人是看不到的,这样更安全吧
  11. 老爸有张银行卡在广东办的,现在在老家生活,干点活,老板打了几千块钱,卡封了,一开始说,提交收入证明,交了,又说要去广东解封,现在买菜钱都在那卡里,我 fxxk ccp!!
  12. 最近两个月,我开发上线了 艺爪 AI 写作 功能,这个功能既能提高写作效率,又能保证文章质量。它最大的特点在于人机交互,用户可以通过与 AI 的交互,逐步引导并补充信息,从而生成更符合个人需求的文章。我也在推广上做了一些尝试,希望让更多人了解并体验这个全新的 AI 写作工具。 如何使用:艺爪 AI 写作视频教程 - Bilibili 全文内容: 自宅创业 - #30 人机交互,打造 AI 写作神器 最后,想请教大家一个问题:你心目中理想的 AI 写作功能应该是怎样的?
  13. 用 truenas scale 搭建了 100T 的 zfs 的集群,8*16T 。 现在想加一个 nvme ssd 或者 sata ssd 的缓存盘,仅用来读。 想问一下有经验的 V 友,如果缓存盘坏了会导致丢数据吗? 有没有缓存盘坏了不影响存储盘阵列的缓存盘方案?
  14. 极客时间优惠,极客时间 618 大促,全场 6 折,难道的大优惠,原价 99 课程,官方优惠加返现到手价仅 41 了。 返现需要在网站 https://coursesub.top/ 通过我的邀请链接进行购买,不要在极客时间 app 上购买, 购买课程后添加下边的微信,发送购买课程的名字,确认后即可收到微信红包。 可以关注公众号「课程减减」及时接收返现最新消息,极客时间返现全部归还。 抽奖规则:6.20 号 8 点手动生成随机楼数 Math.floor(Math.random() * (max - min + 1)) + min ,中奖后添加上边的微信可赠送任意 200 元以下极客时间课程,重复盖楼以第 1 次为主,三天内未联系领奖视为放弃。
  15. cpu:i7 8086k 超频 5Gh 内存: 海盗船 ddr4 3200 * 3 显卡:蓝宝石 6600 存储:小厂 m2 LOL2k 分辨率中画质 开局 200 打团 120 打到更后面只有不到 100 这是为啥啊
  16. 媳妇前几天丢失了手机,之后打过去就是关机了,遂报警,在苹果查找把机器标为丢失状态。 昨天有个自说是厦门苹果售后的打电话给我,因为苹果丢失那里留我的电话,告诉我有人拿着这个手机去解锁,知道情况后说可以扣留手机,但是要跟机主本人确认。我就让我媳妇去联系她了,过了一个多小时,我媳妇告诉我那个人联系不上了,才想到了估计是骗子骗密码的。本来丢失手机已很伤心了,那么多照片没了,现在还要来恶心一下。 现在不知道骗子拿到开机密码之后能怎么操作,能不能完全退出抹除?在苹果查找那里还能看到这个手机,还可以怎么操作?
  17. 计划从上海去日本自由行,由于是第一次出国旅行,求旅游搭子,男女不限,本人在苏州。
  18. 最近搬家到周边了,买了个公路车感觉喜欢骑行了。但是迫于没有搭子,想问问周边有啥搭子能一起周末骑骑车啥的。
  19. 老铁们有对推拿行业了解的吗?一般转行去干推拿按摩是要怎样的流程啊?想从兼职做起,程序员干不下去了的话就转行当按摩师去了...
  20. 好像医保不继续交,是无法正常使用的。 其他的有有影响吗? 公积金这些交了基本没啥用
  21. 想了解详情的话请直接联系微信 MTU2MjIzODE4NjI= 自动化运维岗位 1: 1. 5 年以上运维经验 2. 具备 CICD ,AWS/GCP/Azure 云平台经验 3. 英文能进行全英面试 自动化运维岗位 2: 1. 3 年以上运维经验 2. 熟悉 CICD ,云平台经验 3. 英文能进行自我介绍,项目介绍及一些技术问题的沟通 自动化运维岗位 3: 1. 5 年以上运维经验 2. 熟悉 CICD ,云平台经验 3. 有 spark cluster, elasticsearh 经验 4. 英文能力:全英面试 福利待遇: 1. 年薪架构: 12 个月+ 2 个月项目奖金(写在合同上) 2. 六险一金,年度体检 3. 工作与生活平衡,不推崇加班文化 4. 混合办公,3 天办公室办公,2 天在家办公 公司/项目: 500 强外企平台,金融银行项目,可获得跨国团队合作经验以及国际化视野 地点: 广州天河
  22. 有人工作用到这个吗,好像 mac 14 以后就不能用了,可以登陆成功,实际的服务器都连不上
  23. 求推荐好用的 magisk 模块 或者 你必装的 magisk 模块

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.