特色文章

流年与八字原局天地鸳鸯合

网络上很多文章讲八字的天地鸳鸯合,说如何如何,容易发生什么事情之类的,可具体在实际预测中该如何看呢?
举两个我在实际生活中帮人看的八字,到底发生什么事情。

例一
坤造:己巳 己巳 戊子 甲寅
3岁起运,庚午 辛未 壬申 癸酉 甲戌 乙亥 丙子
大运:壬申
流年:己亥

此造流年己亥合时柱甲寅,此时原局中七杀甲木被引动,七杀为偏夫,遭到了外面男人强行夫妻之礼。为什么断男女方面的事,而不是官司呢?因为原局中甲木合月上之劫,这本来就是别人的男人,太岁亥水也合动了七杀之禄寅木,而寅中并无伤官,故而不是官司。
书云:“时上偏官、填房之命”,命主今年虚岁 32,仍然单身,无男朋友,居然喜欢一个丁未年出生的男人,让人瞠目结舌。

例二
坤造:乙丑 戊寅 戊戌 丁巳
2岁起运,己卯 庚辰 辛巳 壬午 癸未 甲申 乙酉
大运:壬午
流年:庚子

《渊海子平·杂论口诀》曰:“官怕伤,财怕劫,印绶见财,愈多愈灾”。
《子平真诠·论喜忌干支有别》云:“干主天,动而有为,支主地,静以待用,且干主一而支藏多,为福为祸,安不得殊?”所以,可以认为天干为事情的发生形式,地支为发生的事情。
此造流年庚子合年柱,丑土劫财、官星都被引动了,财怕劫,故而要破财,岁君庚金不仅引动了官星乙木,还克官,好在庚金自坐死地,克官无力,所以不能断要打官司之类的,只能断有口舌之争。此时,丑土引动是要刑戌土,刑则有伤。
果然命主于戊寅月丙申日丢了一部 iPhone 手机,己卯月癸丑日,腿脚扭了,左脚肿了很高,己卯月己未日买衣服因质量问题,与人发生口角、产生肢体接触并拨打了 110。

特色文章

子平命理解读盲派牢狱命例

引言:本文是乐易山人老师笔记阅读心得,用子平八字的思路去分析网络上盲派牢狱命例,仅供研究探讨分析之用,没有攻击别的门派的含义在里面

例1:抢劫犯,乾造

甲 丁 乙 庚
寅 卯 丑 辰
原文点评:
行己巳之巳运,壬申年因抢劫被判五年。比劫伤官怕见官。
乐易山人点评:
建禄用官,月干丁火食神破了格局。丁火食神坐下有源,年干有源,年支有劫气根,实在是强旺至极,庚金坐下有源,日支有库根,弃官就食也是不可能的。巳运,也可谓丁火通劫根,力量倍增。流年壬申,庚金正官通禄太岁,形成寅巳申三刑俱全。官禄被刑克,当然会有官非的。

例2:坐牢五年,坤造

己 甲 甲 乙
酉 戌 申 酉
原文点评:
丁丑运的丁运,坐牢五年。此也比劫伤官,怕见官星与伤官星对抗,原局官杀星旺,形不成对抗,到丁运戌到,对抗形成而坐牢。
乐易山人点评:
戊辛丁不透,偏财格,甲乙木比劫两透,破了偏财格。原局申酉金,有护财的功能,可惜没有透干,发挥不了大作用,但无论怎样没用,它是命局中喜神,是维持人的正常生活的,所以不可受到伤害。丁火大运,丁火来自月令戌土中,也就是说原局中有丁火,所以原局中酉戌相穿财官相穿,牢狱标志,酉金受到伤害,伤官见官必起祸端,甲乙木肆无忌惮的劫财。应该是经济案件。

例3:入狱五年,乾造
乙 戊 丙 壬
卯 寅 戌 辰
原文点评:
此造是制杀的组合,原局看不到牢狱,但行至亥运,杀合到寅,是为反局。冲制不喜合,合则为反。亥为牢狱象。
亥运辛巳年因钱财入狱判刑五年。辛巳年丙辛合,则巳火为禄见亥,入狱之象。此人戌运出狱,丙戌年出。
乐易山人点评:
这是典型的食神格,年干透出乙木正印,克制了食神,破了格局。所以命主肯定没有学历。此人早年可能是光棍一条,因为命局中正财星不现,藏于库中,时支相冲开库。食神遭重克,哪年老丈母死了,哪年才能讨到老婆。亥水大运,乙木七杀得源,亥卯半合木局,乙木力量倍增。流年辛巳,日主合财,太岁巳火亥水冲之,太岁推波助澜,另外,原局中,壬水七杀处于弱制状态,甚至是无制。亥水是壬水得禄,冲克太岁日主之禄,七杀克身,不见阴官见阳官。再者,巳火也是戊土食神之禄,食禄被克,亥水合动寅木来刑太岁巳火,不判刑才怪呢。

例4:杀人犯,乾造
甲 丁 丙 己
辰 丑 寅 亥
原文点评:
此造坐下寅印被辰丑土晦制(晦寅中丙火),寅亥合灭了寅中丙火,辛巳运的巳运上,巳火为禄,出现被辰丑晦,被亥冲,又穿了寅印,此人为杀人犯,被判死刑。癸酉年被捕,癸水七杀为忌,坐印透干,不可见七杀,死了。
乐易山人点评:
己土透出时干,伤官格。甲木不克己土,因为丁火通关。只有甲己相合,但合化土,也不是很理想。可以说伤官无制,目无法纪。巳火禄神大运,流年癸酉。巳酉丑三合金局,甲木处死地。己土伤官被化为正财,日主坐下偏印被坏,性命忧忧。又巳亥相冲,寅木元神亥水被冲走,无力生寅木。酉金太岁不生亥水,贪合忘生。

例5:杀人犯,乾造
戊 壬 己 戊
申 戌 巳 辰
原文点评:
此造巳火印星被辰土晦制,戌冲辰制不净,反而是被局中的湿土坏掉。走癸巳大运时,巳火到了被辰晦又入戌墓,此人为杀人犯。
乐易山人点评:
辛丁不透,月劫用官而无官,命主不能显贵。也无食伤,八字难以入格。透壬水正财,坏印,又是阴日主,专旺格也难成。正财孤透,且比劫林立,养命之源被夺殆尽,岂有长寿之理?这个命如果不孤透正财,勉强专旺格。不会为财或为女人而死。

例6:牢狱之灾,乾造
己 壬 己 乙
巳 申 未 丑
原文点评:
此造坐支未土冲丑土意在制财,但巳申合,成了制印之义,成了反局(冲合反局),主位逢冲宾位合的结构是为反局,大部分的反局结构都主牢狱之象,并且丑土也为牢狱象。
乐易山人点评:
月令申金壬水透出,可谓正财格,但,年干透比肩,破了财格。申金伤官,遭巳火合克,财源被克,穷命一条。年月在先,讨老婆是二手货。时干乙木七杀,无制无化。是伤病、官非、卡阴等信号。这个八字在未土运中,很可能卡阴。

例7:温岭市政府办公室主任,贪污入狱,乾造
戊 丙 壬 戊
戌 辰 申 申
原文点评:
此造申辰拱水局,金水成气,喜丙火财星虚透,丙火为才华智慧,不喜年上戊戌七杀星太重,又年上戊土无制化反为凶。七杀无制就是一种犯罪结构,又坐财库,有牢狱之灾的象征。月令辰土为劫财库,冲财库是一种通过劫财方式取财而犯罪。此人是温岭市政府办公室主任,因受贿42万元于癸未年入狱判9年。此人走辛酉大运与丙辰月令天地合,天干财合印,地支印合杀闭了劫财库,又酉戌穿倒戌墓为入狱信息。癸未年戊癸一合,七杀合劫为应期。
乐易山人点评:
杀透印不透,且丙火偏财生杀。地支辰戌相冲,杀动,日支申金偏印化杀。七杀格局基本成立。印化杀,有文武兼备之象。印不透,权力不显赫,有实权。《渊海子平》有云:众杀猖狂一仁可化。时支申金印星,有点多余。格局降低。走辛酉运,流年癸未,此时辛金当道,正印透出,权力用到极致。岁君癸水与年干戊土合住,使戊土不受丙火之生,同时,癸水也克不了丙火。丙火回克辛金正印,辛金合丙火,可谓是找克,丙火合克辛金,辛金想让也让不掉的,很容易被克坏,保护伞坏了,七杀逞凶。都是癸水劫财惹的祸。祸根是丙火。此命2005年可能减刑,2007年,有可能提前出狱。

例8:小偷之命,乾造
辛 丙 己 甲
亥 申 丑 戌
原文点评:
小偷:劫财为手,官为盗贼,劫财和官在主位组合时为小偷。
此造本来金水成气势,丑土为财库在坐下刑印库,财库喜刑冲,本来为有财,但不喜时上甲木正官合身,日主想求官,用劫财取财,成了小偷,有反局之意。天干想求官,地支想求财,有反局之意。
乐易山人点评:
伤官格,丙火正印盖头,看似伤官配印,可惜年干辛金食神合住丙火正印,破了伤官配印格。
伤官生财,日支丑土,时支戌土克亥水正财,相神受克,仍然不能成格。辛金被合,去甲木正官,也是去不干尽的。月令伤官,无任何作用。放纵、胆大,干不正常的事情。当然也包括违法事情。戌亥相连,晚上取财,肯定不是光明之财。不赌也偷。

例9:骗子,乾造
壬 癸 辛 庚
寅 丑 未 寅
原文点评:
诀:比劫本是无知物,一遇伤官势必归(意思是比劫见伤官去生伤官,有伤官心性)。此造行丙辰运癸亥年入狱,因丙官合身,伤官食神都入了辰墓。辰丑一党,牢象,坏了八字中的阳性,所以要入狱。
本来伤食应去生财,但寅财入了未库,丑未冲开财库,发财命,但辰运来了,食伤都入墓,因食伤也表示自由,入墓为失去自由,不能和外界联系。食伤为思想、意识、表达,虚透为胡说八道不讲真话,杂现透出,都是欺骗别人的假话,为骗子结构。入狱10年,到癸酉年辰酉合,闭了辰库,此人出狱。此人32岁到42岁走丁巳大运,原局伤食怕见七杀又走杀运,虽丁壬合但合不住,寅巳相穿穿了财,食伤不能生财,所以此人牢狱官司不断。比劫逢伤官是一种犯罪结构,是因比劫见伤为哥们弟兄多,都听他的,因日主坐印,印代表权力,比劫伤官都为目无法纪。
乐易山人点评:
食神格,干透伤官混局,不能吐秀,只能生财,命主生财有道,但财星克印,是一个弊端,命主学历肯定不会太高的。而且没有什么慈悲之心。时干劫财盖头,大手大脚的花钱成了习惯。癸亥年,大运在卯木,而不在丙辰,亥卯未三合木局偏财,偏财坏印,未土印被合化,丑土印在原局中就遭寅木之克。保护伞坏了,此时伤官助财坏印,伤官不好的心性全部表露出来。辰土运不好,用神入库,不生财。过穷日子。

例10:太原黑社会老大,乾造
戊 丙 甲 丙
申 辰 寅 寅
原文点评:
丙火为文化在天干,但地支寅木禄星冲制年上申金七杀,七杀又有原神,禄和七杀对抗是一种犯罪结构。丙火为食神,此人有超常记忆力,走己未运特别厉害。七杀有制,因未申穿了七杀,日主合财得财,为官弱制不了它。庚申运七杀到,被抓死刑。此人是太原市黑社会老大。
乐易山人点评:
偏财格。食神生之,日主通禄日时两支,是一个富裕的八字。但戊土偏财生年支申金七杀,申金七杀冲克禄神,这是一个不利的信息,且申金七杀有生无克无化,杀旺禄弱,形成禄和七杀对抗。禄不敌杀,不死也要塌一层皮。庚申运七杀透出有根,力量倍增,禄神被克坏。

例11:金融机构诈骗犯,乾造
壬 己 癸 辛
申 酉 巳 酉
原文点评:
巳火为财在坐下,为自己的财,癸巳自合,巳申一合,申金换象成为财,辛金酉金也变成财。他把钱给了别人目的是让更多的钱回来,因巳酉合拱局又合了回来。此人为金融机构一个大诈骗犯。甲寅运寅运入狱,坏了局中巳申合。
乐易山人点评:
偏印格。印多印旺,不劳杀生。月干己土七杀破格。以巳火为相,但巳火和酉金合化为金。格局不成,一生要干多种职业,可是,一事无成。走丑土运,印旺而聪明过头,会干自认为是聪明事。

例12:少年犯,乾造
甲 戊 戊 癸
寅 辰 子 丑
原文点评:
身弱财重又合了财,一辈子穷命。年上七杀无制化,比劫一片为比劫抗杀,主对抗法律,是一种犯罪组合。走己巳运的巳运犯罪,因巳火为禄穿了寅杀,主违法信息,戊辰年犯罪,因辰土晦了巳火禄,庚午年坐牢,午火为印受辰丑晦,子冲午也为失去自由。判20年,辛运出来。《命术轶闻少年犯》例。
乐易山人点评:
正财格,但,时支丑土合克子水破了格。命主不会富裕的。年柱甲木七杀,坐下有禄,七杀无制无化,因七杀来自年柱,犯罪的征兆。此人身上有伤疤,应该在身体右边,右手胳膊肯定有伤疤。走巳火运,巳是日主的禄神和正印,寅木回刑大运巳火,在天受克,在地受刑。是难逃之运。

甲骨文韩国春川ARM64测评

融合怪测试

                   测评频道: https://t.me/vps_reviews                    
VPS融合怪版本:2024.07.26
Shell项目地址:https://github.com/spiritLHLS/ecs
Go项目地址:https://github.com/oneclickvirt/ecs
---------------------基础信息查询--感谢所有开源项目---------------------
 CPU 型号          : Neoverse-N1
 CPU 核心数        : 4
 CPU 缓存          : L1: 0.00 KB / L2: 0.00 KB / L3: 0.00 KB
 AES-NI指令集      : ✔ Enabled
 VM-x/AMD-V支持    : ❌ Disabled
 内存              : 319.89 MiB / 23.42 GiB
 Swap              : [ no swap partition or swap file detected ]
 硬盘空间          : 1.71 GiB / 193.63 GiB
 启动盘路径        : /dev/sda1
 系统在线时间      : 0 days, 3 hour 7 min
 负载              : 0.25, 0.09, 0.03
 系统              : Ubuntu 22.04.4 LTS (aarch64)
 架构              : aarch64 (64 Bit)
 内核              : 6.5.0-1024-oracle
 TCP加速方式       : cubic
 虚拟化架构        : KVM
 NAT类型           : Inconclusive
 IPV4 ASN          : AS31898 Oracle Corporation
 IPV4 位置         : Chuncheon / Gangwon-do / KR
 IPV6 ASN          : AS31898 Oracle Cloud
 IPV6 位置         : Chuncheon / Gangwon-do / South Korea
 IPV6 子网掩码     : 128
----------------------CPU测试--通过sysbench测试-------------------------
 -> CPU 测试中 (Fast Mode, 1-Pass @ 5sec)
 1 线程测试(单核)得分: 		3357 Scores
 4 线程测试(多核)得分: 		13389 Scores
---------------------内存测试--感谢lemonbench开源-----------------------
 -> 内存测试 Test (Fast Mode, 1-Pass @ 5sec)
 单线程读测试:		30773.28 MB/s
 单线程写测试:		14550.72 MB/s
------------------磁盘dd读写测试--感谢lemonbench开源--------------------
 -> 磁盘IO测试中 (4K Block/1M Block, Direct Mode)
 测试操作		写速度					读速度
 100MB-4K Block		8.1 MB/s (1986 IOPS, 12.89s)		10.5 MB/s (2563 IOPS, 9.99s)
 1GB-1M Block		114 MB/s (109 IOPS, 9.17s)		103 MB/s (98 IOPS, 10.16s)
---------------------磁盘fio读写测试--感谢yabs开源----------------------
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 26.65 MB/s    (6.6k) | 54.63 MB/s     (853)
Write      | 26.63 MB/s    (6.6k) | 56.26 MB/s     (879)
Total      | 53.28 MB/s   (13.3k) | 110.90 MB/s   (1.7k)
           |                      |                     
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ---- 
Read       | 47.53 MB/s      (92) | 48.02 MB/s      (46)
Write      | 51.59 MB/s     (100) | 53.58 MB/s      (52)
Total      | 99.12 MB/s     (192) | 101.61 MB/s     (98)
------------流媒体解锁--基于oneclickvirt/CommonMediaTests开源-----------
以下测试的解锁地区是准确的,但是不是完整解锁的判断可能有误,这方面仅作参考使用
----------------Netflix-----------------
[IPV4]
您的出口IP可以使用Netflix,但仅可看Netflix自制剧
NF所识别的IP地域信息:韩国
[IPV6]
您的出口IP可以使用Netflix,但仅可看Netflix自制剧
NF所识别的IP地域信息:韩国
----------------Youtube-----------------
[IPV4]
连接方式: Youtube Video Server
视频缓存节点地域: 日本 东京(NRT12S24)
Youtube识别地域: 韩国(KR)
[IPV6]
连接方式: Google Global CacheCDN (ISP Cooperation)
ISP运营商: SKBROADBAND
视频缓存节点地域: 韩国 金浦(GMP50)
Youtube识别地域: 韩国(KR)
---------------DisneyPlus---------------
[IPV4]
当前出口所在地区解锁DisneyPlus
区域:KR 区
[IPV6]
当前出口所在地区解锁DisneyPlus
区域:KR 区
解锁Netflix,Youtube,DisneyPlus上面和下面进行比较,不同之处自行判断
----------------流媒体解锁--感谢RegionRestrictionCheck开源--------------
 以下为IPV4网络测试,若无IPV4网络则无输出
============[ Multination ]============
 Dazn:					Yes (Region: KR)
 Disney+:				No (IP Banned By Disney+ 1)
 Netflix:				Originals Only
 YouTube Premium:			Yes (Region: KR)
 Amazon Prime Video:			Yes (Region: KR)
 TVBAnywhere+:				Yes
 Spotify Registration:			Yes (Region: KR)
 Instagram Licensed Audio:		No
 OneTrust Region:			KR [Gangwon-do]
 iQyi Oversea Region:			KR
 Bing Region:				KR
 YouTube CDN:				Tokyo
 Netflix Preferred CDN:			[SK Broadband] in [Seoul, Korea]
 ChatGPT:				No (Only Available with Web Browser)
 Google Gemini:				Yes (Region: KOR)
 Wikipedia Editability:			No
 Google Search CAPTCHA Free:		Yes
 Steam Currency:			KRW
 ---Forum---
 Reddit:				No
=======================================
 以下为IPV6网络测试,若无IPV6网络则无输出
============[ Multination ]============
 Dazn:					IPv6 Is Not Currently Supported
 Disney+:				IPv6 Is Not Currently Supported
 Netflix:				Originals Only
 YouTube Premium:			Yes (Region: KR)
 Amazon Prime Video:			IPv6 Is Not Currently Supported
 TVBAnywhere+:				IPv6 Is Not Currently Supported
 Spotify Registration:			Yes (Region: KR)
 Instagram Licensed Audio:		No
 OneTrust Region:			KR [Gangwon-do]
 iQyi Oversea Region:			IPv6 Is Not Currently Supported
 Bing Region:				KR
 YouTube CDN:				[SKBROADBAND] in [Seoul, Korea]
 Netflix Preferred CDN:			[SK Broadband] in [Seoul, Korea]
 ChatGPT:				Failed (Network Connection)
 Google Gemini:				Yes (Region: KOR)
 Wikipedia Editability:			No
 Google Search CAPTCHA Free:		Yes
 Steam Currency:			IPv6 Is Not Currently Supported
 ---Forum---
 Reddit:				IPv6 Is Not Currently Supported
=======================================
---------------TikTok解锁--感谢lmc999的源脚本及fscarmen PR--------------
 Tiktok Region:		【KR】
-------------IP质量检测--基于oneclickvirt/securityCheck使用-------------
数据仅作参考,不代表100%准确,如果和实际情况不一致请手动查询多个数据库比对
以下为各数据库编号,输出结果后将自带数据库来源对应的编号
ipinfo数据库  [0] | scamalytics数据库 [1] | virustotal数据库   [2] | abuseipdb数据库   [3] | ip2location数据库    [4]
ip-api数据库  [5] | ipwhois数据库     [6] | ipregistry数据库   [7] | ipdata数据库      [8] | db-ip数据库          [9]
ipapiis数据库 [A] | ipapicom数据库    [B] | bigdatacloud数据库 [C] | cheervision数据库 [D] | ipqualityscore数据库 [E]
IPV4:
安全得分:
声誉(越高越好): 0 [2] 
信任得分(越高越好): 0 [8] 
VPN得分(越低越好): 100 [8] 
代理得分(越低越好): 100 [8]
社区投票-无害: 0 [2] 
社区投票-恶意: 0 [2] 
威胁得分(越低越好): 100 [8] 
欺诈得分(越低越好): 65 [E] 41 [1]
滥用得分(越低越好): 0 [3] 
ASN滥用得分(越低越好): 0.0005 (Very Low) [A] 
公司滥用得分(越低越好): 0.0005 (Very Low) [A] 
威胁级别: low [9 B] 
黑名单记录统计:(有多少黑名单网站有记录):
无害记录数: 0 [2]  恶意记录数: 0 [2]  可疑记录数: 0 [2]  无记录数: 93 [2]  
安全信息:
使用类型: DataCenter/WebHosting/Transit [3] business [8 A] hosting [0 7 9] hosting - moderate probability [C]
公司类型: business [0 A] hosting [7]
是否云提供商: Yes [7 D] 
是否数据中心: Yes [1 5 6 A] No [0 8 C]
是否移动设备: Yes [E] No [5 A C]
是否代理: No [0 1 4 5 6 7 8 9 A B C D] Yes [E]
是否VPN: Yes [E] No [0 1 6 7 A C D]
是否Tor: No [0 1 3 6 7 8 A B C D E] 
是否Tor出口: No [1 7 D] 
是否网络爬虫: No [9 A B E] 
是否匿名: No [1 6 7 8 D] 
是否攻击者: No [7 8 D] 
是否滥用者: No [7 8 A C D E] 
是否威胁: No [7 8 C D] 
是否中继: No [0 7 8 C D] 
是否Bogon: No [7 8 A C D] 
是否机器人: No [E] 
DNS-黑名单: 310(Total_Check) 0(Clean) 5(Blacklisted) 10(Other) 
IPV6:
安全得分:
欺诈得分(越低越好): 41 [1] 
滥用得分(越低越好): 0 [3]
ASN滥用得分(越低越好): 0.0005 (Very Low) [A]
公司滥用得分(越低越好): 0 (Very Low) [A] 
威胁级别: low [B] 
安全信息:
使用类型: business [A] DataCenter/WebHosting/Transit [3]
公司类型: business [A] 
是否云提供商: Yes [D] 
是否数据中心: No [A] Yes [1]
是否移动设备: No [A] 
是否代理: No [1 A B D] 
是否VPN: No [1 A D] 
是否Tor: No [1 3 A B D] 
是否Tor出口: No [1 D] 
是否网络爬虫: No [A B] 
是否匿名: No [1 D] 
是否攻击者: No [D] 
是否滥用者: No [A D] 
是否威胁: No [D] 
是否中继: No [D] 
是否Bogon: No [A D] 
DNS-黑名单: 310(Total_Check) 0(Clean) 0(Blacklisted) 310(Other) 
Google搜索可行性:YES
-------------邮件端口检测--基于oneclickvirt/portchecker开源-------------
Platform  SMTP  SMTPS POP3  POP3S IMAP  IMAPS
LocalPort ✔     ✔     ✔     ✔     ✔     ✔    
QQ        ✔     ✔     ✔     ✘     ✔     ✘    
163       ✘     ✔     ✔     ✘     ✔     ✘    
Sohu      ✘     ✔     ✔     ✘     ✔     ✘    
Yandex    ✔     ✔     ✔     ✘     ✔     ✘    
Gmail     ✔     ✔     ✘     ✘     ✘     ✘    
Outlook   ✔     ✘     ✔     ✘     ✔     ✘    
Office365 ✔     ✘     ✔     ✘     ✔     ✘    
Yahoo     ✘     ✔     ✘     ✘     ✘     ✘    
MailCOM   ✘     ✔     ✔     ✘     ✔     ✘    
MailRU    ✔     ✔     ✘     ✘     ✔     ✘    
AOL       ✘     ✔     ✘     ✘     ✘     ✘    
GMX       ✘     ✘     ✔     ✘     ✔     ✘    
Sina      ✘     ✘     ✔     ✘     ✔     ✘    
----------------三网回程--基于oneclickvirt/backtrace开源----------------
北京电信 219.141.140.10  检测不到回程路由节点的IP地址
北京联通 202.106.195.68  联通4837   [普通线路] 
北京移动 221.179.155.161 移动CMI    [普通线路] 
上海电信 202.96.209.133  检测不到回程路由节点的IP地址
上海联通 210.22.97.1     联通4837   [普通线路] 
上海移动 211.136.112.200 检测不到回程路由节点的IP地址
广州电信 58.60.188.222   检测不到回程路由节点的IP地址
广州联通 210.21.196.6    联通4837   [普通线路] 
广州移动 120.196.165.24  移动CMI    [普通线路] 
成都电信 61.139.2.69     检测不到回程路由节点的IP地址
成都联通 119.6.6.6       联通4837   [普通线路] 
成都移动 211.137.96.205  移动CMI    [普通线路] 
准确线路自行查看详细路由,本测试结果仅作参考
同一目标地址多个线路时,可能检测已越过汇聚层,除了第一个线路外,后续信息可能无效
---------------------回程路由--感谢fscarmen开源及PR---------------------
依次测试电信/联通/移动经过的地区及线路,核心程序来自ipip.net或nexttrace,请知悉!
广州电信 58.60.188.222
0.28 ms  AS31898  韩国, 江原特别自治道, 春川市, oracle.com
32.60 ms  AS2914  日本, 东京都, 东京, ntt.com
40.05 ms  AS2914  日本, 东京都, 东京, ntt.com
35.09 ms  AS2914  日本, 东京都, 东京, ntt.com
122.20 ms  AS4134  中国, 广东, 广州, chinatelecom.com.cn, 电信
122.74 ms  AS4134  中国, 广东, 深圳, chinatelecom.com.cn, 电信
125.23 ms  AS4134  中国, 广东, 深圳, chinatelecom.com.cn, 电信
广州联通 210.21.196.6
0.31 ms  AS31898  韩国, 江原特别自治道, 春川市, oracle.com
41.39 ms  AS6453  日本, 东京都, 东京, tatacommunications.com
61.45 ms  AS6453  日本, 东京都, 东京, tatacommunications.com
167.46 ms  AS6453  日本, 东京都, 东京, tatacommunications.com
175.98 ms  AS6453  日本, 爱知县, 丰桥市, tatacommunications.com
170.03 ms  AS6453  日本, 爱知县, 丰桥市, tatacommunications.com
167.82 ms  AS6453  美国, 加利福尼亚州, 洛杉矶, tatacommunications.com
166.80 ms  AS6453  美国, 加利福尼亚州, 洛杉矶, tatacommunications.com
170.42 ms  AS4837  中国, 北京, chinaunicom.com, 联通
171.41 ms  AS4837  中国, 北京, chinaunicom.com, 联通
192.51 ms  AS17816  中国, 广东, 深圳, chinaunicom.com, 联通
200.96 ms  AS17623  中国, 广东, 深圳, chinaunicom.com, 联通
191.02 ms  AS17623  中国, 广东, 深圳, chinaunicom.com, 联通
广州移动 120.196.165.24
0.69 ms  AS31898  韩国, 江原特别自治道, 春川市, oracle.com
32.73 ms  AS2914  日本, 东京都, 东京, ntt.com
33.72 ms  AS2914  日本, 东京都, 东京, ntt.com
38.89 ms  AS2914  日本, 东京都, 东京, ntt.com
62.50 ms  AS2914  中国, 香港, ntt.com
63.67 ms  AS2914  中国, 香港, ntt.com
225.28 ms  AS58453  中国, 广东, 广州, chinamobile.com, 移动
92.63 ms  AS9808  中国, 广东, 广州, chinamobile.com, 移动
92.30 ms  AS9808  中国, 广东, 广州, chinamobile.com, 移动
95.69 ms  AS9808  中国, 广东, 广州, chinamobile.com, 移动
78.64 ms  AS9808  中国, 广东, 广州, chinamobile.com, 移动
79.21 ms  AS9808  中国, 广东, 广州, chinamobile.com, 移动
80.24 ms  AS56040  中国, 广东, 深圳, chinamobile.com, 移动
--------------------自动更新测速节点列表--本脚本原创--------------------
位置		 上传速度	 下载速度	 延迟	  丢包率
Speedtest.net	 716.78 Mbps	 3970.96 Mbps	 42.29	  0.0%
日本东京	 464.81 Mbps	 3981.92 Mbps	 35.10	  0.0%
中国香港	 327.79 Mbps	 1979.26 Mbps	 40.53	  0.0%
联通WuXi	 685.76 Mbps	 3998.88 Mbps	 50.01	  0.0%
联通成都	 225.99 Mbps	 0.60 Mbps	 197.19	  NULL
电信Zhenjiang5G	 1.16 Mbps	 833.92 Mbps	 139.75	  NULL
电信Suzhou5G	 1.19 Mbps	 1770.25 Mbps	 230.63	  NULL
------------------------------------------------------------------------
 总共花费      : 9 分 18 秒
 时间          : Tue Aug  6 18:38:05 UTC 2024
------------------------------------------------------------------------

湖北联通IPv4回程路由

traceroute to 183.95.200.149, 30 hops max, 52 bytes payload
1   140.91.230.6    AS31898  [ORACLE-CLOUD]   韩国 江原道 春川  cloud.oracle.com 
                                              0.50 ms / 0.19 ms / 0.27 ms
2   61.200.80.62    AS2914                    日本 东京都 东京  gin.ntt.net 
    ae-0.oracle-oci.tokyjp10.jp.bb.gin.ntt.net   32.87 ms / 32.82 ms / 32.77 ms
3   61.200.80.61    AS2914                    日本 东京都 东京  gin.ntt.net 
    ae-33.a01.tokyjp10.jp.bb.gin.ntt.net      37.34 ms / 33.16 ms / 33.12 ms
4   129.250.6.45    AS2914   [NTT-BACKBONE]   日本 东京都 东京  gin.ntt.net 
    ae-17.r32.tokyjp05.jp.bb.gin.ntt.net      36.08 ms / 33.81 ms / 33.09 ms
5   129.250.5.199   AS2914   [NTT-BACKBONE]   日本 东京都 东京  gin.ntt.net 
                                              32.90 ms / 32.97 ms / 33.13 ms
6   129.250.66.121  AS2914   [NTT-BACKBONE]   日本 东京都 东京  gin.ntt.net 
                                              80.52 ms / 78.07 ms / 83.52 ms
7   219.158.113.142 AS4837   [CU169-BACKBONE] 中国 上海   chinaunicom.cn  联通
                                              101.51 ms / 99.12 ms / 96.58 ms
8   219.158.113.113 AS4837   [CU169-BACKBONE] 中国 上海   chinaunicom.cn  联通
                                              183.94 ms / * ms / * ms
9   219.158.105.22  AS4837   [CU169-BACKBONE] 中国 湖北 武汉  chinaunicom.cn  联通
                                              * ms / * ms / 194.85 ms
10  113.56.41.118   AS4837   [UNICOM-HB]      中国 湖北 十堰  chinaunicom.cn 
                                              117.02 ms / 116.76 ms / 116.78 ms
11  113.56.32.22    AS4837   [UNICOM-HB]      中国 湖北 十堰  chinaunicom.cn 
                                              118.29 ms / 114.26 ms / 107.54 ms

湖北联通IPv6回程路由

traceroute to 2408:824e:2f0e:6510:d969:47b5:6fd5:be8a, 30 hops max, 52 bytes payload
1   2603:c000:1000::8c5b:e60b AS31898  韩国 江原道 春川市  cloud.oracle.com
                                       0.53 ms / 0.31 ms / 0.38 ms
2   2001:218:2000:5000::5b2   AS2914   日本 东京都 东京  gin.ntt.net
                                       32.64 ms / 32.79 ms / 32.61 ms
3   2001:218:2000:5000::5b1   AS2914   日本 东京都 东京  gin.ntt.net
                                       39.55 ms / 39.39 ms / 38.18 ms
4   2001:218:0:2000::136      AS2914   日本 东京都 东京  gin.ntt.net
                                       135.22 ms / * ms / * ms
5   2001:218:0:2000::23e      AS2914   日本 东京都 东京  gin.ntt.net
                                       36.28 ms / 36.21 ms / 36.17 ms
6   2408:8000:3::1a           AS4837   中国 北京   chinaunicom.cn 联通
                                       * ms / 66.50 ms / * ms
7   2408:8000:2:412::         AS4837   中国 北京   chinaunicom.cn 联通
                                       62.89 ms / 68.01 ms / * ms
8   *
9   *
10  2408:8001:110b:1::2:b     AS4837   中国 湖北 十堰  chinaunicom.cn
                                       88.11 ms / 88.38 ms / 87.97 ms
11  2408:8001:110b:1:0:2:19:1 AS4837   中国 湖北 十堰  chinaunicom.cn
                                       89.87 ms / 89.86 ms / 89.73 ms
12  2408:824e:2e00:ecc7:92b6:7aff:fec:9af AS4837   中国 湖北   chinaunicom.cn
                                       91.90 ms / 91.34 ms / 91.26 ms

湖北联通100M IPv4 iperf3

Connecting to host 129.154.61.115, port 11315
[  5] local 192.168.1.5 port 56263 connected to 129.154.61.115 port 11315
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   256 KBytes  2.09 Mbits/sec
[  5]   1.00-2.01   sec  9.25 MBytes  77.3 Mbits/sec
[  5]   2.01-3.01   sec  11.6 MBytes  96.7 Mbits/sec
[  5]   3.01-4.00   sec  11.1 MBytes  94.4 Mbits/sec
[  5]   4.00-5.01   sec  2.12 MBytes  17.7 Mbits/sec
[  5]   5.01-6.01   sec  2.38 MBytes  19.8 Mbits/sec
[  5]   6.01-7.01   sec  10.6 MBytes  89.7 Mbits/sec
[  5]   7.01-8.01   sec  10.6 MBytes  89.0 Mbits/sec
[  5]   8.01-9.01   sec  7.88 MBytes  66.2 Mbits/sec
[  5]   9.01-10.01  sec  6.50 MBytes  54.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  72.4 MBytes  60.7 Mbits/sec                  sender
[  5]   0.00-10.14  sec  69.2 MBytes  57.3 Mbits/sec                  receiver

湖北联通100M IPv4 iperf3

Connecting to host 2603:c024:e:6866:6c72:b951:e0de:5175, port 11315
[  5] local 2408:824e:2f0e:6510:d969:47b5:6fd5:be8a port 56432 connected to 2603:c024:e:6866:6c72:b951:e0de:5175 port 11315
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.01   sec  4.12 MBytes  34.3 Mbits/sec
[  5]   1.01-2.00   sec  10.5 MBytes  88.7 Mbits/sec
[  5]   2.00-3.01   sec  12.8 MBytes   106 Mbits/sec
[  5]   3.01-4.00   sec  10.0 MBytes  84.6 Mbits/sec
[  5]   4.00-5.00   sec   896 KBytes  7.32 Mbits/sec
[  5]   5.00-6.02   sec  6.00 MBytes  49.8 Mbits/sec
[  5]   6.02-7.00   sec  8.00 MBytes  68.1 Mbits/sec
[  5]   7.00-8.00   sec  8.12 MBytes  68.0 Mbits/sec
[  5]   8.00-9.01   sec  8.38 MBytes  69.8 Mbits/sec
[  5]   9.01-10.01  sec  6.50 MBytes  54.6 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  75.2 MBytes  63.1 Mbits/sec                  sender
[  5]   0.00-10.10  sec  71.6 MBytes  59.5 Mbits/sec                  receiver

安徽芜湖电信IPv4回程路由

traceroute to 36.63.214.58, 30 hops max, 52 bytes payload
1   140.91.230.3    AS31898  [ORACLE-CLOUD]   韩国 江原道 春川  cloud.oracle.com 
                                              0.48 ms / 0.36 ms / 0.44 ms
2   61.200.80.62    AS2914                    日本 东京都 东京  gin.ntt.net 
    ae-0.oracle-oci.tokyjp10.jp.bb.gin.ntt.net   32.69 ms / 32.50 ms / 32.67 ms
3   61.200.80.61    AS2914                    日本 东京都 东京  gin.ntt.net 
    ae-33.a01.tokyjp10.jp.bb.gin.ntt.net      33.07 ms / 33.11 ms / 33.10 ms
4   129.250.6.34    AS2914   [NTT-BACKBONE]   日本 东京都 东京  gin.ntt.net 
                                              137.49 ms / * ms / * ms
5   129.250.5.94    AS2914   [NTT-BACKBONE]   日本 东京都 东京  gin.ntt.net 
    ae-1.a03.tokyjp05.jp.bb.gin.ntt.net       35.13 ms / 37.26 ms / 35.86 ms
6   *
7   202.97.66.226   AS4134   [CHINANET-BB]    中国 广东 广州  www.chinatelecom.com.cn  电信
                                              * ms / * ms / 321.26 ms
8   202.97.93.74    AS4134   [CHINANET-BB]    中国 广东 广州  www.chinatelecom.com.cn 
                                              * ms / * ms / 225.77 ms
9   202.97.44.154   AS4134   [CHINANET-BB]    中国 安徽 合肥  www.chinatelecom.com.cn  电信
                                              125.57 ms / 126.30 ms / 125.70 ms
10  *
11  *
12  36.63.214.58    AS4134                    中国 安徽 芜湖  www.chinatelecom.com.cn 
                                              * ms / 127.06 ms / 126.58 ms

安徽芜湖移动IPv4回程路由

由tata绕道新加坡,再由新加坡tata回国到达上海,移动骨干CMNET接入,并非CMI(AS58453),CMIN2(AS58807) 回国,不知道tata回国线路质量如何

traceroute to 36.161.247.91, 30 hops max, 52 bytes payload
1   140.91.230.12   AS31898  [ORACLE-CLOUD]   韩国 江原道 春川  cloud.oracle.com 
                                              0.54 ms / 0.37 ms / 0.33 ms
2   180.87.180.138  AS6453   [TATA-COMMUNICATIONS] 日本 东京都 东京  tatacommunications.com 
                                              33.05 ms / 32.65 ms / 37.42 ms
3   180.87.180.137  AS6453   [TATA-COMMUNICATIONS] 日本 东京都 东京  tatacommunications.com 
    ix-be-35.ecore1.tv2-tokyo.as6453.net      61.61 ms / 61.74 ms / 62.04 ms
4   *
5   180.87.181.245  AS6453   [TATA-COMMUNICATIONS] 新加坡    tatacommunications.com 
                                              133.83 ms / 134.50 ms / * ms
6   180.87.84.129   AS6453   [TATA-COMMUNICATIONS] 新加坡    tatacommunications.com 
    if-bundle-33-2.qcore2.svw-singapore.as6453.net   87.52 ms / 138.11 ms / * ms
7   63.243.180.65   AS6453                    新加坡    tatacommunications.com 
    if-bundle-19-2.qcore1.esin4-singapore.as6453.net   88.26 ms / 88.38 ms / 89.17 ms
8   221.183.89.174  AS9808   [CMNET]          中国 上海  回国到达层 chinamobileltd.com  移动
                                              136.08 ms / 136.14 ms / 136.07 ms
9   221.183.89.69   AS9808   [CMNET]          中国 上海   chinamobileltd.com  移动
                                              215.73 ms / * ms / * ms
10  *
11  *
12  *
13  36.161.247.91   AS9808                    中国 安徽 芜湖  chinamobileltd.com 
                                              130.01 ms / 129.95 ms / 129.93 ms

 

xray 链式分流

很多时候,会有一种这样的需求:不希望在本地客户端(如:openrt  Passwall)上进行分流,甚至有的客户端根本不支持分流(如 iPhone 小火箭、Android v2rayNG、Windows v2rayN),那么如何能做到Netflix、Disney Plus透过新加坡节点观看,ChatGPT、动画疯、纬来体育透过中华电信节点来看,其余流量均走香港节点呢?

这时候 xray 链式分流便能解决这一切,本地网络只需要访问香港节点,便可解决这一切。

上海移动&芜湖移动 -> 搬瓦工香港HK85

芜湖电信 ->国内深圳移动VPS NAT鸡->搬瓦工香港HK85

{
    "log": {
        "loglevel": "warning",
        "access": "/var/log/xray/access.log",
        "error": "/var/log/xray/error.log"
    },
    "inbounds": [
        {
            "tag": "vless-in",
            "listen": "0.0.0.0",
            "port": 30553,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "ece2e663-95dc-4aef-9ba8-ca7472eac03b",
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "dest": "www.microsoft.com:443",
                    "serverNames": [
                        "www.microsoft.com",
                        "microsoft.com"
                    ],
                    "privateKey": "eCAH67oe1dJ6jm8SKw5EfZIndktAphzXW5tXLQ7KRnv",
                    "shortIds": [
                        "6ba65179e30d4fc3"
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls",
                    "quic"
                ]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "shadowsocks",
            "tag": "server_HKBGP",
            "settings": {
                "servers": [
                    {
                        "address": "35.90.122.113",
                        "port": 9527,
                        "method": "aes-256-gcm",
                        "password": "jd1+0}nfVM*@]Y?t"
                    },
                    {
                        "address": "2400:8a20:170::12f",
                        "port": 9527,
                        "method": "aes-256-gcm",
                        "password": "jd1+0}nfVM*@]Y?t"
                    }
                ]
            }
        },
        {
            "protocol": "shadowsocks",
            "tag": "server_SG",
            "settings": {
                "servers": [
                    {
                        "address": "49.150.61.51",
                        "port": 9527,
                        "method": "aes-256-gcm",
                        "password": "jd1+0}nfVM*@]Y?t"
                    },
                    {
                        "address": "2603:c024:450f:3066:c938:9bea:1049:6608",
                        "port": 9527,
                        "method": "aes-256-gcm",
                        "password": "jd1+0}nfVM*@]Y?t"
                    }
                ]
            }
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ],
    "routing": {
        "rules": [
            {
                "type": "field",
                "domain": [
                    "chatgpt.com",
                    "openai.com",
                    "netflix.com",
                    "netflix.net",
                    "nflximg.com",
                    "nflximg.net",
                    "nflxvideo.net",
                    "nflxext.com",
                    "nflxso.net",
                    "fast.com",
                    "netflix.ca",
                    "nflxsearch.net",
                    "netflixdnstest1.com",
                    "netflixdnstest2.com",
                    "netflixdnstest3.com",
                    "netflixdnstest4.com",
                    "netflixdnstest5.com",
                    "netflixdnstest6.com",
                    "netflixdnstest7.com",
                    "netflixdnstest8.com",
                    "netflixdnstest9.com",
                    "netflixdnstest10.com",
                    "netflixinvestor.com",
                    "netflixtechblog.com",
                    "netflix.com.au",
                    "netflix.com.edgesuite.net",
                    "netflixinvestor.com",
                    "netflixstudios.com",
                    "disney.api.edge.bamgrid.com",
                    "disney-plus.net",
                    "disneyplus.com",
                    "dssott.com",
                    "dssott.com.akamaized.net",
                    "disneynow.com",
                    "disneystreaming.com",
                    "cdn.registerdisney.go.com",
                    "omtrdc.net",
                    "disney.asia",
                    "20thcenturystudios.com.au",
                    "20thcenturystudios.jp",
                    "abc-studios.com",
                    "abc.com",
                    "adobedtm.com",
                    "adventuresbydisney.com",
                    "babble.com",
                    "babyzone.com",
                    "bam.nr-data.net",
                    "beautyandthebeastmusical.co.uk",
                    "conviva.com",
                    "dilcdn.com",
                    "bamgrid.com",
                    "braze.com",
                    "go.com",
                    "d9.flashtalking.com",
                    "disney.com",
                    "disneyjunior.com",
                    "disney-plus.net",
                    "disneyplus.com",
                    "cws.conviva.com",
                    "execute-api.us-east-1.amazonaws.com",
                    "go-mpulse.net",
                    "disneynow.com",
                    "disney-portal.my.onetrust.com",
                    "disneyplus.bn5x.net",
                    "adobedtm.com",
                    "optimizely.com",
                    "disneystreaming.com",
                    "go-disneyworldgo.com",
                    "thestationbymaker.com",
                    "thisispolaris.com",
                    "watchdisneyfe.com",
                    "watchespn.com"
                ],
                "outboundTag": "server_SG"
            },
            {
                "type": "field",
                "inboundTag": ["vless-in"],
                "outboundTag": "server_HKBGP"
            }
        ]
    }
}

 

如何提取Nginx日志中关键字,并通过Telegram Bot告警

首先将Nginx Access日志(/usr/local/nginx/logs/access.log)进行Json处理

http {
...
    log_format json escape=json '{'
        '"time_local":"$time_local",'
        '"remote_addr":"$remote_addr",'
        '"remote_user":"$remote_user",'
        '"request":"$request",'
        '"status":$status,'
        '"body_bytes_sent":$body_bytes_sent,'
        '"http_referer":"$http_referer",'
        '"http_user_agent":"$http_user_agent",'
        '"request_time":$request_time,'
        '"upstream_response_time":"$upstream_response_time"'
    '}';
     access_log /usr/local/nginx/logs/access.log json;
...
}

vim /usr/local/bin/monitor_nginx_access.sh

#!/bin/bash
LOG_FILE="/usr/local/nginx/logs/access.log"
TELEGRAM_BOT_TOKEN="3163456422:AAFOL9n4v4v7RWTCaW2D7SPi0qLlpOFSfSM"
TELEGRAM_CHAT_ID="2413570395"
MONITOR_LOG="/var/log/monitor_nginx_access.log"


# 定义需要监控的关键词列表
declare -a KEYWORDS=("wangqq.iOS" "herui.iOS" "wangqq.yaml" "wangqq.pc" "wangqq.android" "wangqq_work.pc" "chentao.yaml" "220.180.133.62")


tail -n0 -F "$LOG_FILE" | while read line; do
    for keyword in "${KEYWORDS[@]}"; do
        if echo "$line" | grep -E "$keyword" > /dev/null; then
            echo "$(date '+%Y-%m-%d %H:%M:%S') - $line" | tee -a "$MONITOR_LOG"


            # 提取日志中的各个字段
            time_local=$(echo "$line" | jq -r '.time_local')
            ip=$(echo "$line" | jq -r '.remote_addr')
            user_agent=$(echo "$line" | jq -r '.http_user_agent')
            request=$(echo "$line" | jq -r '.request')
            status=$(echo "$line" | jq -r '.status')


            # 获取IP位置信息
            location=$(curl -s https://ipinfo.io/$ip/json)
            country=$(echo "$location" | jq -r '.country')
            city=$(echo "$location" | jq -r '.city')
            org=$(echo "$location" | jq -r '.org')


            # 构建消息
            message="时间: $time_local%0AIP: $ip%0A国家: $country%0A城市: $city%0A运营商: $org%0A客户端: $user_agent%0A请求内容: $request%0A请求状态: $status"


            # 发送消息到Telegram
            curl -s -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d "chat_id=$TELEGRAM_CHAT_ID&text=$message"
        fi
    done
done

最后定时执行此脚本 /etc/systemd/system/monitor_nginx_access.service

[Unit]
Description=Monitor Nginx access log and send notifications

[Service]
Type=simple
ExecStart=/usr/local/bin/monitor_nginx_access.sh
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=monitor_nginx_access

[Install]
WantedBy=multi-user.target

 

如何在国内服务器调用Telegram Bot

众所周知,由于不可描述的原因,中国大陆无法访问 Telegram 服务,当在中国大陆服务器上,需要调用 Telegram Bot 来作为消息告警通知,该如何解决呢?

解决思路:在境外服务器上搭建一个socks5代理,并设置源IP访问设置。

这里假设一个需求:

监控一台位于新加坡的一台VPS的公网端口服务,能否正常被中国大陆IP访问,如果端口被ban,请发送告警至Telegram Bot

以下是Shell代码

#!/bin/bash

# Telegram bot token and chat ID
TELEGRAM_BOT_TOKEN="2637456424:AAEOK9n4w4v7RWTCaW2D7SPioqLllOFSfSM"
TELEGRAM_CHAT_ID="1257379104"
PROXY="socks5h://100.154.38.181:1080"

# Target IP and ports
TARGET_IP="67.230.166.146"
PORTS=(10001 10002 10003 10004 10005 )

# Function to send Telegram message
send_telegram_message() {
    local message="$1"
    curl -s -x $PROXY -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" -d chat_id=$TELEGRAM_CHAT_ID -d text="$message"
}

# Check each port
for port in "${PORTS[@]}"; do
    nc -z -w5 $TARGET_IP $port
    if [ $? -ne 0 ]; then
        send_telegram_message "Port $port on $TARGET_IP is not reachable."
    fi
done

 

只剩底层群众之间的互相搏斗了

文/王五四

作为大时代下的小人物,我们大多数人对于杀气腾腾的未来往往视而不见,但又常常在当下的事件里嗅到一丝来自未来的血腥味,也会在夜深人静的时候听到远方传来一阵阵历史车轮碾压一切的轰隆声。以前我们总觉得有机会可以避让躲开历史的车轮,谁知道历史不讲武德,开的不是四轮车,是辆压路机。

不论是前段时间频发的年轻人跳桥自杀事件,外卖小哥们的情绪崩溃,滴滴司机和越来越多的奇葩顾客的矛盾,还有MANNER咖啡店员情绪失控,不断降价的茅台酒,越来越多的房产被抛售却也很难出手,满大街都是的旺铺转让和餐馆越来越低的客单价以及被质疑的全球数学竞赛第12名姜萍……等等。这些事件不再是个案,而是社会性问题,这些问题也不是毫无关联性可言,它们像是漩涡,卷进去越来越多的人,它们织成密不透风的网,给人越来越大的压力,这些问题出现的原因,无疑是社会运行机制和当下社会环境经济环境带给个体的压力、疼痛以及看不到未来的焦躁不安情绪的综合爆发。这种爆发不仅仅只是外部压力造成的,还有内部的矛盾,总结起来就是,“时代的一粒灰尘,落到正常人头上,就是一座大山,落到不正常人头上,就是一盘大棋”,我们扛着大山负重前行时,他们却在下大棋,你想打扫打扫灰尘,他们却说你不讲大局,他们只知道大局为重,却不知道大山他妈的更重。

有人说,从未被好好爱过的人,内心是悲凉的。那么那些从未被当人看待过的人,内心又是如何的呢?我们能看到的问题很多,未被好好解决的更多,咖啡店事件,只开除店员肯定不是解决问题之道,有些人呼吁说管理方要对店员好点,怎么好,好来好去店也经营不下去了,这下好了。对外卖小哥,对滴滴司机,甚至对乘客,他们的组织都应该对他们好点,可谁负责组织的生死存亡呢?还是得往上找解决方案,而目前来看,上面的回应只有已经开机运转的税收系统。如此境遇之下,只剩底层群众之间的互相博弈了,其实也不是博弈,是搏斗。

从对待跳桥轻生者的方式上我们也能看出相关管理部门的冷漠和无知。为了阻止人们跳桥,他们安装了防护装置,上面布满尖刺,说是尖刀也不为过,他们不说是防跳桥的,我们还以为是防加勒比海盗的。如果说这也是防护装置,那么只是防护他们自身利益的,因为有人从这跳桥,他们要承担管理责任。为了防止轻生跳桥,美国金门大桥也安装了防护装置,不是刺,而是网。网是保护网,刺却是一种赤裸裸的威胁,甚至还有一些挑衅的意味,就差挂个告示牌了,你要死我们不拦着,去别的地方跳。

杭州西湖很美,除了自然景观,最美的地方就在于它没有装防护栏或者说防跳栏,虽然也有人跳西湖,但是管理者知道防跳栏是拦不住想跳湖的人,反而破坏了美感。此外,认为防护栏能阻止一个轻生的人,也是对他的侮辱,没有人随随便便就不想活的,不想活的人也不是你随随便便就能阻止的,以保护的名义,把每个人都当作被管理的对象,这是野蛮行径。周星驰的电影《武状元苏乞儿》最后有一段皇帝和苏灿的对话,对浅析以上叙述的问题有帮助,皇帝说,你丐帮弟子几千万,你一天不解散,教朕怎么安心?苏灿回答,丐帮有多少弟子不是由我决定,而是由你决定的……。如果真的国泰民安,鬼才愿意当乞丐。

这些年我不断告诫自己两点,一是人多的地方少去,二是对外卖小哥快递员滴滴司机餐厅服务员等,能客气就客气,能保持善意就保持善意,特别是第二点,因为人都有扛不住压力的时候,不知道什么时候就爆发了。我们经常能遇到爆发的底层,说底层,并非居高临下,也没有觉得高人一等,而是对现状的描述,顶层离我们太远,高层中层这些年也跑的差不多了,就剩我们底层在底层,或是互帮互助,或是互相伤害。从目前的状况来看,互相瞧不上,互相伤害居多。不过,现实一点看,我们对他们好一点,也就是对我们自己好一点,谁知道我们什么时候就去送外卖送快递开网约车了呢,搞不好他们很快就是我们的前辈和领导了。

贫穷和穷凶极恶是同一个穷字,但不是同一个意思,而现如今,这两个穷字的关系却越来越紧密,甚至要融为一体。总有人把穷人的状态归结于他们自身的不努力,正如日前网易上一条评论指出,“舆论正在千方百计地把大时代的坍塌,归咎于小人物的不努力!”小人物已经够努力了,或者说努力并不代表一定能改变什么,小人物也有不努力的权利,也有不劳而获的权利,我们对富人要求太少标准太低,而往往对穷人要求太多太苛刻,条条大路通罗马,可有人生下来就住在罗马。不要让孩子输在起跑线上,可有的孩子的起跑线就是你家孩子的终点线。就像对于中专生姜萍而言,很多人认为她不应该出现在阿里巴巴全球数学竞赛第十二名的位置,就像在说,你不该出现在罗马,你不应该出现在终点线。

很多人都需要姜萍这样美好的故事,平凡人逆袭的励志故事,往往却忽略了人和事背后教育制度的混蛋,人们的这种需求和姜萍创造的美好,其实都是扭曲的产物,谈何励志,也根本不存在什么逆袭。也有很多人质疑姜萍,质疑这种励志和美好,其实励志和美好不是姜萍强加给你们的,是你们自己又幻想了又梦遗了。这两种人看似站在对立面,实际上就是同一拨人,就像穷人和穷凶极恶的人,他们往往会同流合污,最终成为一伙人。

不仅仅是外卖员,咖啡店员,本质上我们都是困在程序里的人,我们走不出去,只能开始分裂,精神分裂。我经常质疑我家海边的海鸥,它们放着海鲜不吃,却钟爱于游客手中的火腿肠,我觉得它们堕落了。可看看眼下的人群,我觉得海鸥没有堕落,它们还有自由飞翔的能力,还有选择不吃火腿肠的权利,更有选择躺平被人投喂的权利,而且我的朋友宋石男说过,有些海鸥喜欢围着轮船飞是因为浪花会带出沙丁鱼,但有些海鸥只为浪花而飞。然而,那些被系统困住的人,虽然也能吃上火腿肠淀粉肠,却没有海鸥的权利。被困住的人向往自由,但同时又希望这份自由能像火腿肠一样唾手可得,最好有人投喂,他们期待改变,改变的代价像火腿肠一样美好又便宜,但这怎么可能?廉价的美好里只有淀粉和骨泥,是廉价又虚假的希望。一开始他们把姜萍想象成那根美味的火腿肠,后来开始质疑她是淀粉肠了,其实完全没有这个必要,即便是师生合谋作弊,我也觉得美好,因为现实太脏了,至少这里没有老师玩弄女学生感情,这里有的是老师用专业知识帮助女学生改变命运。这就像当初那个淀粉肠企业的老板,敢站出来拍着胸脯自豪的说,我们的肠,说是淀粉肠就是淀粉肠,完全不含骨泥,淀粉肠也可以比用骨泥和淋巴肉做的火腿肠美好。可惜的是,穷凶极饿的人,往往分辨不出是非好坏。

姜萍的质疑者中,有自认正统数学专业出身的精英人士,有为数学的严谨纯粹鼓与呼的爱数人士,他们认为数学的严谨纯粹让他们深知姜萍获奖是一个极小概率的事情,约等于零。姜萍不是不能质疑,可是质疑者们先不要把调子拔得太高,容易破音。你们要捍卫数学的纯粹严谨,你们说这件事是极小概率约等于零,那么中学和大学数学思政化这件事你们听过吗?你觉得这种事概率是大还是小?上海交通大学在《高等数学》严密的数学逻辑体系中融入了思政元素,并应用于教学实践中,你想不想去捍卫一下数学的纯粹严谨呢?我觉得你们在捍卫数学的严谨和纯粹之前,先让自己纯粹和严谨起来。爱狗人士都比你们这些爱数人士纯粹和勇敢。

我当然不反对一本正经地讨论问题,我反对的是在一个荒诞的前提下一本正经地讨论问题,越一本正经越荒诞。很怀念以前讨论问题的日子,不说站在舒适区吧,至少没站在粪坑里。当然,在这样的环境里,有人如鱼得水,如蛆得粪水。我们无法跟扭蛆的人对话,所以不要总是一本正经,不要总是像一个正常人在正常社会里那样正常的思考,这挺不要脸的。

前几天有个朋友问我,这样的经济环境下,换个什么赛道好呢?我说你还想什么赛道,有条活路就不错了,忘记赛道,找条活路。《无间道》的歌里唱道,“我们都在不断赶路,忘记了出路,在失望中追求偶尔的满足”,我们感觉自己有条赛道在跑,就像我们以为有条起跑线等着我们的孩子,其实都是自我安慰。我们大部分人都跟在菏泽南站直播的各路你们口中的妖魔鬼怪一样,也和看上去歇斯底里的咖啡店店员们一样,都在找寻一个出口和活路。以前有赛道时,不行了再换条赛道,在赛道上即便排在后面,也能计算成绩也有出路。活路就不一样了,就这一条,不是前三很可能就是死路一条。而姜萍面前,不管是不是赛道,让她安静跑完,天塌不下来,那也是中专生的一条活路。我们没有车,我们没有豁免权,他们负责穷凶极恶,我们负责穷凶极饿。条条大路通骡马,也通车和电瓶车,趁年轻有空多出来走走,以后送外卖就认识路了。

Windows 端口转发

使用Portproxy模式下的Netsh命令即能实现Windows系统中的端口转发,转发命令如下:

netsh interface portproxy add v4tov4 listenaddress=[localaddress] listenport=[localport] connectaddress=[destaddress]
  • listenaddress – 等待连接的本地ip地址
  • listenport – 本地监听的TCP端口(待转发)
  • connectaddress – 被转发端口的本地或者远程主机的ip地址
  • connectport – 被转发的端口
  • netstat -ano | find listenport 查看是否启动成功
  • netsh interface portproxy show all 显示系统中的转发规则列表
  • netsh interface portproxy dump 查看portproxy设置
  • netsh interface portproxy delete v4tov4 listenport=localport listenaddress=localaddress
  • netsh interface portproxy reset 清除所有端口转发规则

编译安装Xray

依赖环境

go安装包官网

# 下载适用于 amd CPU x64 的源码包
curl -LO https://go.dev/dl/go1.22.6.linux-amd64.tar.gz

# 下载适用于 arm CPU x64 的源码包 (比如甲骨文云 arm 大盘鸡)
curl -LO https://go.dev/dl/go1.22.6.linux-arm64.tar.gz

# 解压(这里以 arm64 为例)
tar -zxvf go1.22.6.linux-arm64.tar.gz -C /usr/local/

# 将 go 二进制文件加入系统环境变量
echo "export PATH=$PATH:/usr/local/go/bin;" >> /etc/profile

# 刷新环境变量文件
source /etc/profile

编译安装

git clone https://github.com/XTLS/Xray-core.git
cd Xray-core && go mod download
# Linux & MacOS
CGO_ENABLED=0 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main
# Windows (Powershell)
$env:CGO_ENABLED=0
go build -o xray.exe -trimpath -ldflags "-s -w -buildid=" ./main

将编译好的 xray 可执行二进制文件复制到 /usr/local/bin 中

mv xray /usr/local/bin

配置文件 config.json

# 创建文件夹
mkdir -p /etc/xray

# 生成配置文件
cat > /etc/xray/config.json << EOF
{
    "log": {
        "loglevel": "warning"
    },
    "inbounds": [
        {
            "listen": "0.0.0.0",
            "port": 30553,
            "protocol": "vless",
            "settings": {
                "clients": [
                    {
                        "id": "e3e2e563-95ec-4aef-9ba8-cb7472eac03a",
                        "flow": "xtls-rprx-vision"
                    }
                ],
                "decryption": "none"
            },
            "streamSettings": {
                "network": "tcp",
                "security": "reality",
                "realitySettings": {
                    "dest": "www.mxxx.com:443", 
                    "serverNames": [
                        "www.mxxx.com",
                        "mxxx.com"
                    ],
                    "privateKey": "eCAH67oe1dJ6jm8SKw522341IndktAphzXW5tXLQ7KR64",
                    "shortIds": [
                        "2ba45w79e30d4f64"
                    ]
                }
            },
            "sniffing": {
                "enabled": true,
                "destOverride": [
                    "http",
                    "tls",
                    "quic"
                ]
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "freedom",
            "tag": "direct"
        },
        {
            "protocol": "blackhole",
            "tag": "block"
        }
    ]
}
EOF

systemd 启动文件

cat > /etc/systemd/system/xray.service << EOF
[Unit]
Description=Xray Service
Documentation=https://github.com/xtls
After=network.target nss-lookup.target

[Service]
User=root
#User=nobody
#CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
#AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/xray run -config /etc/xray/config.json
Restart=on-failure
RestartPreventExitStatus=23

[Install]
WantedBy=multi-user.target
EOF

将 xray.service 加入开机自启

systemctl daemon-reload
systemctl enable xray.service

更多说明

更多配置说明及各平台客户端配置请参考官方demo

How to set limits for services in RHEL and systemd

Environment

  • Red Hat Enterprise Linux (RHEL) 7, 8, 9
  • systemd

Issue

How can I set the limits for services started at boot time via systemd?

Limits set in /etc/security/limits.conf or /etc/security/limits.d/*.conf are ignored.

Resolution

A service definition can be extended as described in the systemd.unit(5) man page in the section “Example 2. Overriding vendor settings”, and in the Red Hat Enterprise Linux 7 System Administrator’s Guide, Section 8.6. Creating and Modifying systemd Unit Files

To change a single service:

Using tftp.service as an example, create a new tftp.service.d directory under /etc/systemd/system, and then create a conf file in that directory which extends (or overrides) the settings for the service. In this example, the number of open file descriptors is limited to 500,000.

# mkdir -p /etc/systemd/system/tftp.service.d/
# cat >/etc/systemd/system/tftp.service.d/filelimit.conf <<EOF
[Service]
LimitNOFILE=500000
EOF

The change is applied after reloading the daemon configuration and restarting the service.

# systemctl daemon-reload
# systemctl restart tftp.service

The systemd-delta and systemctl status tftp.service commands both show that the service definition has been extended.

# systemd-delta --type=extended
[EXTENDED]   /usr/lib/systemd/system/tftp.service → /etc/systemd/system/tftp.service.d/filelimit.conf

1 overridden configuration file found.

# systemctl status tftp.service
● tftp.service - Tftp Server
   Loaded: loaded (/usr/lib/systemd/system/tftp.service; indirect; vendor preset: disabled)
  Drop-In: /etc/systemd/system/tftp.service.d
           └─filelimit.conf
  ...

The available limits are described in the following section from the systemd.exec(5) man page:

LimitCPU=, LimitFSIZE=, LimitDATA=, LimitSTACK=, LimitCORE=, LimitRSS=,
       LimitNOFILE=, LimitAS=, LimitNPROC=, LimitMEMLOCK=, LimitLOCKS=,
       LimitSIGPENDING=, LimitMSGQUEUE=, LimitNICE=, LimitRTPRIO=,
       LimitRTTIME=
           These settings control various resource limits for executed
           processes. See setrlimit(2) for details. Use the string infinity to
           configure no limit on a specific resource.

Note: Most process resource limits configured with these options are per-process, and processes may fork in order to acquire a new set of resources that are accounted independently of the original process, and may thus escape limits set. Also note that LimitRSS= is not implemented on Linux, and setting it has no effect. Often it is advisable to prefer the resource controls listed in systemd.resource-control(5) over these per-process limits, as they apply to services as a whole, may be altered dynamically at runtime, and are generally more expressive. For example, MemoryMax= is a more powerful (and working) replacement for LimitRSS=.

To set a limit for all services

Instead create a drop in file in /etc/systemd/system.conf.d/ and use the Default version of the limit:

# mkdir -p /etc/systemd/system.conf.d/
# cat >/etc/systemd/system.conf.d/10-filelimit.conf <<EOF
[Manager]
DefaultLimitNOFILE=500000
EOF

Important: Some services may have resource limits that cannot be changed in this way. One such example is sendmail which changes the resource limit for the maximum number of open files to 1024 (and can modify other resource limits). It is not possible to change these resource limits for sendmail – they are set explicitly and are not changable via sendmail configuration. This behaviour is not a defect, it is the expected behaviour for programs that manage and set their own resource limits.

Root Cause

Limits defined in /etc/security/limits.conf or /etc/security/limits.d/*.conf are set by pam when starting login session. This is configured by following line from /etc/pam.d/system-auth-ac:

session     required      pam_limits.so

Since daemons started by systemd don’t employ pam login session, the limits can be set only in the service unit file.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.