阅读视图

VPS选国内还是国外https://1900.live/vpsxuan-guo-nei-huan-s…

VPS选国内还是国外
https://1900.live/vpsxuan-guo-nei-huan-shi-guo-wai

from 1900'Blog.

#博客

前些日子因为Virtualizor面板漏洞导致 CloudCone、HostSlick 等多家 IDC 被入侵,遭勒索攻击,按这些IDC服务商的尿性肯定不会交赎金的,而且交了赎金也不一定会给你恢复数据。

所以买了这些机器的博友们数据几乎全部都丢失了,有备份的朋友重灌系统后重新恢复即可,只是稍微麻烦了一些。至于赔偿嘛就想都别想了,不知道看谁贴了个协议截图,本来想贴个图上来但是不记得在那里看到到的了,大致意思是协议里面写了这种情况他们不用负责,当然具体是不是这样较真的可以去看看,但是目前所有人都没有收到赔偿相关的邮件。

至于NAS界也不太平,先是飞牛被爆了0Day漏洞,其实飞牛在爆出这个漏洞之前就有大手子在论坛反应了这个问题,但是根据帖子内官方回复内容来看有点没有太在意的感觉,直到陆续开始有用反应连接数过长、网络不稳定的异常情况时才发现问题,且这个问题已经存在了很多个版本了。

昨天又看到博友分享群晖提示紧急更新以防被勒索病毒攻击的新闻。

多的先不扯,聊回来VPS这个事。

我目前用的国内的腾讯轻量云,配置2C2G3M,每次都是买的3年的新用户福利机,这个配置大概80-90元一年,到...

  •  

Frp打洞后内网Nginx反代https://1900.live/frpda-dong-hou-ne…

Frp打洞后内网Nginx反代
https://1900.live/frpda-dong-hou-nei-wang-nginxfan-dai

from 1900'Blog.

#博客

家里这台NAS从24年10月开组,系统用的飞牛OS,最开始用无线网卡出过几次问题,后来换成有限网卡后趋于稳定。不过官方最近报了个0day漏洞出来炸了锅,不过我情绪还算比较稳定,在期初系统选型时就在黑裙、OMV、truenas、飞牛之间犹豫了很久,最后还是选择了拿安全换方便。

机器从最开始的3D打印机箱+闲置硬盘上手,到后面的疾风知N52机箱+两块4T硬盘上手,后续为了「一步到位」换了10盘位的机箱+陆续上到了7块硬盘,那时的我还不知道短短一年多时间,当时买的这些硬盘能翻上好几倍变成了理财产品。

因为电信不给申请公网服务,所以选择了Frp+中继服务器打洞,当时图方便直接使用了Frp自带的转发服务,但随着玩机的深入,部署的容器服务也从此前的几个增长到了几十个,Frp转发服务的一些问题逐渐暴露出来,如:

  1. 个别服务需要用到WebSocket服务,但是Frp转发服务没法自定义这些配置,
  2. 不能对域名下的不同路径转发做处理
  3. 性能较差,我的体验是看影视资源经常要等个四五秒才能开始播放
  4. 每个服务一个配置项,管理不方便

所以昨天花了一两个小时从原来的Frp转发服务切...

  •  

我失业后能干啥https://1900.live/what-can-i-do-after-losin…

我失业后能干啥
https://1900.live/what-can-i-do-after-losing-my-job

from 1900'Blog.

#博客

可能是因为行业持续低落我始终忍不住把一切往最坏的方面靠拢。

所以最近忽然开始思考,如果有一天我失去了目前的一切之后我还能依靠哪些技能继续找到足以糊口养家的体面工作?我感兴趣的又是那些方面呢?

广告制作

因为门店平时经常做活动,需要设计活动对应的广告传单、宣传物料等。最开始我们全是找外面广告公司来做的,但是感觉沟通成本太高了,效率、质量都不太让我满意。

所以在看了对方制作了几次之后我开始在自己电脑上安装CorelDraw,这是一个用起来有点类似Photoshop的设计工具,它更偏向矢量设计,但是没Adobe Illustrator 那么强大,不过排版功能很强大。

后来学会在nipic这种素材站上下素材,再做对应修改后做出更漂亮的成品,后续几次和广告公司老板沟通后发现我这水平在他们那里找一份5到6k的工作没有问题。

或者自己开个广告公司,其实接触这么多年下来,发现很多广告公司其实根本没有打印设备,都是找同城代打、印刷,如果本地没有还能联系成都的同行进行处理,所以理论上有人和电脑就行了,当然这方面最重要的当然是客户,我目前接触过这么多产品代理,零售店,真要去做资源这块应该还是没问...

  •  

在openlist前端调用aria rpc服务下载时不能指定存放的目录,用AI写了个脚本实现了个弹窗…

在openlist前端调用aria rpc服务下载时不能指定存放的目录,用AI写了个脚本实现了个弹窗设置存放主目录的功能,需要使用的小伙伴可能要修改 /data/aria-download 为你的aria预设下载路径。

// ==UserScript==
// @name         openlist → aria2 强制指定下载目录
// @namespace    https://github.com/yourname
// @version      0.2
// @description  给 openlist 前端批量发送到 aria2 的请求自动加上 dir 字段
// @author       You
// @match        *://alist.demo.com/*
// @grant        none
// @run-at       document-start
// ==/UserScript==
(function () {
    'use strict';

    // 缓存用户输入,同一次页面会话内不再反复弹
    let userRoot = null;

    function getNewRoot() {
        if (userRoot === null) {
            // 弹窗输入,支持 Windows 盘符或 Unix 风格路径
            userRoot = prompt(
                '请输入新的下载根目录(留空=保持原目录):\n例:D:\\down  或  /mnt/usb',
                ''
            );
            if (userRoot === null) userRoot = '';   // 点取消
            // 去掉末尾的 \ 或 /
            userRoot = userRoot.replace(/[\\/]+$/, '');
        }
        return userRoot;
    }

    function patchBody(bodyStr) {
        let body;
        try { body = JSON.parse(bodyStr); } catch (e) { return bodyStr; }

        // 只处理 aria2.addUri
        if (body.method !== 'aria2.addUri') return bodyStr;

        const options = body.params[2] || {};
        const oldDir = options.dir || '';

        // 如果 dir 里包含 /data/aria-download/ 就替换
        if (oldDir.includes('/data/aria-download')) {
            const newRoot = getNewRoot();
            if (newRoot) {
                options.dir = oldDir.replace('/data/aria-download', newRoot);
                body.params[2] = options;
                return JSON.stringify(body);
            }
        }
        return bodyStr;
    }

    /* ---------- 拦截 fetch ---------- */
    const _fetch = window.fetch;
    window.fetch = function (url, opts = {}) {
        if (url.includes('/jsonrpc') && opts.body && typeof opts.body === 'string') {
            opts.body = patchBody(opts.body);
        }
        return _fetch.call(this, url, opts);
    };

    /* ---------- 拦截 XMLHttpRequest ---------- */
    const _send = XMLHttpRequest.prototype.send;
    const _open  = XMLHttpRequest.prototype.open;
    XMLHttpRequest.prototype.open = function (m, u) {
        this._url = u;
        return _open.apply(this, arguments);
    };
    XMLHttpRequest.prototype.send = function (data) {
        if (data && this._url && this._url.includes('/jsonrpc')) {
            if (typeof data === 'string' || data instanceof String) {
                arguments[0] = patchBody(data);
            }
        }
        return _send.apply(this, arguments);
    };
})();
  •  

读过 The Man's Guide to Women 🌕🌕🌕🌕🌑此书的三观比较正,虽然书…

读过 The Man's Guide to Women 🌕🌕🌕🌕🌑
此书的三观比较正,虽然书名是写给男性的女性攻略。用的语言虽然有点儿游戏用语,但目标不是教男孩子做花花公子,而是教男性奔着建立长期的亲密关系,去学会与女性相处的方方面面。目标读者,适合情窦初开的男孩子到已经结婚的男性,如何与找到自己的伴侣并与其长厢厮守下去。

两性性关系中,女性看中的是 Trustworthiness 和安全感。男性看中的,一少一多:少冲突多性爱。Trustworthiness 我没翻译,是因为不好翻译,有点儿老实忠诚的意思。但在婚姻中,屡屡看到的是老实人吃亏。不要老实,要真实。

吸引女性的特质有:自信,在某一方面展现出能力。紫霞仙子要的是盖世英雄,每个女子大概也会想要自己的英雄。如果女性对某个男性有意思,总会发出信号,走动一下就可以确定信号是不是想你发出的。

在动物界,很少有物种的两性行为像人类的那么复杂。女性对危险很敏感,因而就容易情绪化。女性生理期有周期性变化,也会引发莫名其妙的情绪。女性对容貌有焦虑,有情感需求和社交需求。男性要学会安抚情绪,赞美对方,支持对方发展友谊。

书中也良心的告诉男性,要远离公主病和Drama女王。

如果要和心仪的女性进入婚姻,长厢厮守,可以大致遵循下面的做法:

谈恋爱的时候要确认:能玩儿的到一起,能够聊得到一起 人生观大致相合 互相能够应对对方情绪,如果要有婚前性,性生活要和谐,偶尔不和谐能包容

进入婚姻前,要确定彼此要的一样:要不要孩子,要几个孩子,要孩子谁带,家庭财务如何处理,家务分工如何安排...

最后,进入婚姻后,还要尽量做一些恋爱时期两个人做的事情,保持关系常青……

  •