#civil-defense
2025-02-01
2025-02-07
2025-02-13
Eli
09:59:45
中研院社會所今天的研討會,部分panel有直播
https://drive.google.com/drive/folders/1hFfSYCS4Z0BJN98kZmlvT7o6eMXAIRen
https://drive.google.com/drive/folders/1hFfSYCS4Z0BJN98kZmlvT7o6eMXAIRen
- 😮2
直播在中研院社會所臉書:https://www.facebook.com/iosacademiasinica
Eli
10:00:09
直播在中研院社會所臉書:https://www.facebook.com/iosacademiasinica
2025-02-14
Andrei Lubalin, Ph.D.
11:29:55
@andrei.lubalin has joined the channel
2025-02-15
chewei 哲瑋
01:54:31
2025 The Tabletop Exercise Registration Form 區域安全兵推活動
https://www.facebook.com/share/p/15kE7HddSE/
https://www.facebook.com/share/p/15kE7HddSE/
chewei 哲瑋
01:54:31
2025 TTX Registration Form 區域安全兵推活動
https://www.facebook.com/share/p/15kE7HddSE/
https://www.facebook.com/share/p/15kE7HddSE/
Andrei Lubalin, Ph.D.
09:47:23
*中文:*
g0v的朋友们!
我们自豪地推出 Exodus 2.0 —— 一项开源数字社会创新,定义了全新的时代:3.0经济。Exodus 2.0 提供了一种方法和工具,助力网络自组织为全球性的、去中心化的互助与直接合作的信任网络,是对现有等级制度的强有力替代方案。
不同于“中式互助保险平台”,Exodus 2.0 采用了根本不同的方法,使网络无需区块链即可免受任何形式的审查和干扰。一项新发现的网络理论法则从数学上证明,这样的网络在全球范围内的出现是不可避免的。
这是一个开源项目,研发工作已经全部完成。我们已准备好将蓝图交给充满热情的开发者,让他们打造面向终端用户的产品,并启动这一不可阻挡的进程。
• 关于技术和用户场景的所有细节请见预告页面:https://exodus.tilda.ws/exodus20breef
• 如有疑问,请联系引导机器人:https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• 加入讨论,一起探讨如何将这一愿景变为现实: #
• 查看我的 Medium 相关文章:https://medium.com/@andrei.lubalin
加入我们,共同开创未来!
#opensource #civictech #censorshipresistant #innovation #techforgood
Friends from g0v!
We proudly introduce Exodus 2.0 – an open-source digital societal innovation that defines a new era: Economy 3.0. Exodus 2.0 is a method and tool for network self-organization into a global, decentralized trust network of mutual assistance and direct cooperation—a powerful alternative to existing hierarchies.
Unlike “Chinese mutual insurance platforms,” Exodus 2.0 employs a fundamentally different approach, making the network invulnerable to censorship and interference without the need for blockchain. A newly discovered law in network theory mathematically proves that the emergence of such a network is inevitable on a global scale.
This is an open-source project where the R&D work is complete. We’re ready to hand the blueprints to enthusiastic developers who can create an end-user product and set this unstoppable process in motion.
• All technology and user scenario details are in the teaser: https://exodus.tilda.ws/exodus20breef
• Questions? Reach out to our guide bot: https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• Join the discussion on how to make this a reality: #
• Explore related articles on Medium: https://medium.com/@andrei.lubalin
Join us in developing the future!
#opensource #civictech #censorshipresistant #innovation #techforgoo (edited)
g0v的朋友们!
我们自豪地推出 Exodus 2.0 —— 一项开源数字社会创新,定义了全新的时代:3.0经济。Exodus 2.0 提供了一种方法和工具,助力网络自组织为全球性的、去中心化的互助与直接合作的信任网络,是对现有等级制度的强有力替代方案。
不同于“中式互助保险平台”,Exodus 2.0 采用了根本不同的方法,使网络无需区块链即可免受任何形式的审查和干扰。一项新发现的网络理论法则从数学上证明,这样的网络在全球范围内的出现是不可避免的。
这是一个开源项目,研发工作已经全部完成。我们已准备好将蓝图交给充满热情的开发者,让他们打造面向终端用户的产品,并启动这一不可阻挡的进程。
• 关于技术和用户场景的所有细节请见预告页面:https://exodus.tilda.ws/exodus20breef
• 如有疑问,请联系引导机器人:https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• 加入讨论,一起探讨如何将这一愿景变为现实: #
• 查看我的 Medium 相关文章:https://medium.com/@andrei.lubalin
加入我们,共同开创未来!
#opensource #civictech #censorshipresistant #innovation #techforgood
Friends from g0v!
We proudly introduce Exodus 2.0 – an open-source digital societal innovation that defines a new era: Economy 3.0. Exodus 2.0 is a method and tool for network self-organization into a global, decentralized trust network of mutual assistance and direct cooperation—a powerful alternative to existing hierarchies.
Unlike “Chinese mutual insurance platforms,” Exodus 2.0 employs a fundamentally different approach, making the network invulnerable to censorship and interference without the need for blockchain. A newly discovered law in network theory mathematically proves that the emergence of such a network is inevitable on a global scale.
This is an open-source project where the R&D work is complete. We’re ready to hand the blueprints to enthusiastic developers who can create an end-user product and set this unstoppable process in motion.
• All technology and user scenario details are in the teaser: https://exodus.tilda.ws/exodus20breef
• Questions? Reach out to our guide bot: https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• Join the discussion on how to make this a reality: #
• Explore related articles on Medium: https://medium.com/@andrei.lubalin
Join us in developing the future!
#opensource #civictech #censorshipresistant #innovation #techforgoo (edited)
exodus.tilda.ws
that provides a method and tool for self-organizing a global p2p social ecosystem, with proven mathematical inevitability.![]()
Medium
Read writing from Andrei Lubalin, PhD. on Medium. Progress emerges not from fighting old systems but from creating transformative alternatives. Every day, Andrei Lubalin, PhD. and thousands of other voices read, write, and share important stories on Medium.
Andrei Lubalin, Ph.D.
09:47:23
*中文:*
g0v的朋友们!
我们自豪地推出 Exodus 2.0 —— 一项开源数字社会创新,定义了全新的时代:3.0经济。Exodus 2.0 提供了一种方法和工具,助力网络自组织为全球性的、去中心化的互助与直接合作的信任网络,是对现有等级制度的强有力替代方案。
不同于“中式互助保险平台”,Exodus 2.0 采用了根本不同的方法,使网络无需区块链即可免受任何形式的审查和干扰。一项新发现的网络理论法则从数学上证明,这样的网络在全球范围内的出现是不可避免的。
这是一个开源项目,研发工作已经全部完成。我们已准备好将蓝图交给充满热情的开发者,让他们打造面向终端用户的产品,并启动这一不可阻挡的进程。
• 关于技术和用户场景的所有细节请见预告页面:https://exodus.tilda.ws/exodus20breef
• 如有疑问,请联系引导机器人:https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• 加入讨论,一起探讨如何将这一愿景变为现实: #
• 查看我的 Medium 相关文章:https://medium.com/@andrei.lubalin
加入我们,共同开创未来!
#opensource #civictech #censorshipresistant #innovation #techforgood
Friends from g0v!
We proudly introduce Exodus 2.0 – an open-source digital societal innovation that defines a new era: Economy 3.0. Exodus 2.0 is a method and tool for network self-organization into a global, decentralized trust network of mutual assistance and direct cooperation—a powerful alternative to existing hierarchies.
Unlike “Chinese mutual insurance platforms,” Exodus 2.0 employs a fundamentally different approach, making the network invulnerable to censorship and interference without the need for blockchain. A newly discovered law in network theory mathematically proves that the emergence of such a network is inevitable on a global scale.
This is an open-source project where the R&D work is complete. We’re ready to hand the blueprints to enthusiastic developers who can create an end-user product and set this unstoppable process in motion.
• All technology and user scenario details are in the teaser: https://exodus.tilda.ws/exodus20breef
• Questions? Reach out to our guide bot: https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• Join the discussion on how to make this a reality: #
• Explore related articles on Medium: https://medium.com/@andrei.lubalin
Join us in developing the future!
#opensource #civictech #censorshipresistant #innovation #techforgoo (edited)
*exodus.tilda.ws*
*Digital Social Innovation Exodus 2.0*
that provides a method and tool for self-organizing a global p2p social ecosystem, with proven mathematical inevitability.
https://exodus.tilda.ws/exodus20breef
*ChatGPT*
*ChatGPT - DSI EXODUS 2.0 Guide*
P2P social registry of mutual insurance and cooperation.
https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
*Medium*
*Andrei Lubalin, PhD. – Medium*
Read writing from Andrei Lubalin, PhD. on Medium. Progress emerges not from fighting old systems but from creating transformative alternatives. Every day, Andrei Lubalin, PhD. and thousands of other voices read, write, and share important stories on Medium.
*Medium*
*From Mutual Aid to Global p2p Cooperation:*
Lessons from China and DSI Exodus 2.0 solution.
*Reading time*
3 min read
Jan 28th
https://medium.com/@andrei.lubalin/from-centralized-mutual-aid-to-global-cooperation-lessons-from-china-and-the-vision-of-dsi-exodus-b56aedc545bc
*exodus.tilda.ws*
*Digital Social Innovation Exodus 2.0*
that provides a method and tool for self-organizing a global p2p social ecosystem, with proven mathematical inevitability.
https://exodus.tilda.ws/exodus20breef
*ChatGPT*
*ChatGPT - DSI EXODUS 2.0 Guide*
P2P social registry of mutual insurance and cooperation.
https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
*Medium*
*Andrei Lubalin, PhD. – Medium*
Read writing from Andrei Lubalin, PhD. on Medium. Progress emerges not from fighting old systems but from creating transformative alternatives. Every day, Andrei Lubalin, PhD. and thousands of other voices read, write, and share important stories on Medium.
*Medium*
*From Mutual Aid to Global p2p Cooperation:*
Lessons from China and DSI Exodus 2.0 solution.
*Reading time*
3 min read
Jan 28th
g0v的朋友们!
我们自豪地推出 Exodus 2.0 —— 一项开源数字社会创新,定义了全新的时代:3.0经济。Exodus 2.0 提供了一种方法和工具,助力网络自组织为全球性的、去中心化的互助与直接合作的信任网络,是对现有等级制度的强有力替代方案。
不同于“中式互助保险平台”,Exodus 2.0 采用了根本不同的方法,使网络无需区块链即可免受任何形式的审查和干扰。一项新发现的网络理论法则从数学上证明,这样的网络在全球范围内的出现是不可避免的。
这是一个开源项目,研发工作已经全部完成。我们已准备好将蓝图交给充满热情的开发者,让他们打造面向终端用户的产品,并启动这一不可阻挡的进程。
• 关于技术和用户场景的所有细节请见预告页面:https://exodus.tilda.ws/exodus20breef
• 如有疑问,请联系引导机器人:https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• 加入讨论,一起探讨如何将这一愿景变为现实: #
• 查看我的 Medium 相关文章:https://medium.com/@andrei.lubalin
加入我们,共同开创未来!
#opensource #civictech #censorshipresistant #innovation #techforgood
Friends from g0v!
We proudly introduce Exodus 2.0 – an open-source digital societal innovation that defines a new era: Economy 3.0. Exodus 2.0 is a method and tool for network self-organization into a global, decentralized trust network of mutual assistance and direct cooperation—a powerful alternative to existing hierarchies.
Unlike “Chinese mutual insurance platforms,” Exodus 2.0 employs a fundamentally different approach, making the network invulnerable to censorship and interference without the need for blockchain. A newly discovered law in network theory mathematically proves that the emergence of such a network is inevitable on a global scale.
This is an open-source project where the R&D work is complete. We’re ready to hand the blueprints to enthusiastic developers who can create an end-user product and set this unstoppable process in motion.
• All technology and user scenario details are in the teaser: https://exodus.tilda.ws/exodus20breef
• Questions? Reach out to our guide bot: https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
• Join the discussion on how to make this a reality: #
• Explore related articles on Medium: https://medium.com/@andrei.lubalin
Join us in developing the future!
#opensource #civictech #censorshipresistant #innovation #techforgoo (edited)
*exodus.tilda.ws*
*Digital Social Innovation Exodus 2.0*
that provides a method and tool for self-organizing a global p2p social ecosystem, with proven mathematical inevitability.
https://exodus.tilda.ws/exodus20breef
*ChatGPT*
*ChatGPT - DSI EXODUS 2.0 Guide*
P2P social registry of mutual insurance and cooperation.
https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
*Medium*
*Andrei Lubalin, PhD. – Medium*
Read writing from Andrei Lubalin, PhD. on Medium. Progress emerges not from fighting old systems but from creating transformative alternatives. Every day, Andrei Lubalin, PhD. and thousands of other voices read, write, and share important stories on Medium.
*Medium*
*From Mutual Aid to Global p2p Cooperation:*
Lessons from China and DSI Exodus 2.0 solution.
*Reading time*
3 min read
Jan 28th
https://medium.com/@andrei.lubalin/from-centralized-mutual-aid-to-global-cooperation-lessons-from-china-and-the-vision-of-dsi-exodus-b56aedc545bc
*exodus.tilda.ws*
*Digital Social Innovation Exodus 2.0*
that provides a method and tool for self-organizing a global p2p social ecosystem, with proven mathematical inevitability.
https://exodus.tilda.ws/exodus20breef
*ChatGPT*
*ChatGPT - DSI EXODUS 2.0 Guide*
P2P social registry of mutual insurance and cooperation.
https://chatgpt.com/g/g-MXYLLg8W3-dsi-exodus-2-0-guide
*Medium*
*Andrei Lubalin, PhD. – Medium*
Read writing from Andrei Lubalin, PhD. on Medium. Progress emerges not from fighting old systems but from creating transformative alternatives. Every day, Andrei Lubalin, PhD. and thousands of other voices read, write, and share important stories on Medium.
*Medium*
*From Mutual Aid to Global p2p Cooperation:*
Lessons from China and DSI Exodus 2.0 solution.
*Reading time*
3 min read
Jan 28th
2025-02-16
paulpengtw
19:05:23
下週要去 #RightsCon 嗎?
在 RightsCon 破天荒首次於東亞揭開序幕前,DWeb 社群 + g0v 數位韌性松將共同舉辦一場實作工作坊,探討如何建立具備韌性的「免海纜」網路,以面對可能斷裂的海底電纜或網路言論審查。
🙌【工作坊】打造韌性網路:動手實作「不需海纜」的網路,針對缺乏安全、穩定網際網路基礎設施的區域,透過公民自建網路保護隱私、資訊自主與數位主權,位置有限,馬上報名!(活動資訊和報名連結見留言)
在 RightsCon 破天荒首次於東亞揭開序幕前,DWeb 社群 + g0v 數位韌性松將共同舉辦一場實作工作坊,探討如何建立具備韌性的「免海纜」網路,以面對可能斷裂的海底電纜或網路言論審查。
🙌【工作坊】打造韌性網路:動手實作「不需海纜」的網路,針對缺乏安全、穩定網際網路基礎設施的區域,透過公民自建網路保護隱私、資訊自主與數位主權,位置有限,馬上報名!(活動資訊和報名連結見留言)
- 💯1
paulpengtw
2025-02-16 19:05:52
📅 2025 年 2 月 23 號(日)
⏰ 1500 - 1800
📌臺北科技大學(近忠孝新生站)以實體方式舉行。
🔗馬上報名(英文連結):https://s.g0v.tw/digi 🚀✨
🙋 RightsCon 是什麼?https://ocf.tw/p/rightscon2025/
⏰ 1500 - 1800
📌臺北科技大學(近忠孝新生站)以實體方式舉行。
🔗馬上報名(英文連結):https://s.g0v.tw/digi 🚀✨
🙋 RightsCon 是什麼?https://ocf.tw/p/rightscon2025/
mglee
2025-02-22 23:24:41
@paulpengtw 有報名但沒收到行前通知,請問明天的會場在台北科技大學的哪裡呢?
paulpengtw
2025-02-22 23:26:23
Hi mg 不好意思,可能國際合作夥伴都還在時差/搭飛機,我先把信件寄給你~~
paulpengtw
2025-02-23 00:25:29
明天會在北科大的第四教學大樓 3F~~
paulpengtw
2025-02-23 15:10:20
對!
paulpengtw
19:05:52
📅 2025 年 2 月 23 號(日)
⏰ 1500 - 1800
📌臺北科技大學(近忠孝新生站)以實體方式舉行。
🔗馬上報名(英文連結):https://s.g0v.tw/digi 🚀✨
🙋 RightsCon 是什麼?https://ocf.tw/p/rightscon2025/
⏰ 1500 - 1800
📌臺北科技大學(近忠孝新生站)以實體方式舉行。
🔗馬上報名(英文連結):https://s.g0v.tw/digi 🚀✨
🙋 RightsCon 是什麼?https://ocf.tw/p/rightscon2025/
2025-02-17
chewei 哲瑋
20:00:29
chewei
https://www.rti.org.tw/news/view/id/2238635
此次台馬二號海纜全斷事故發生後,數發部已經要求中華電信依其關鍵基礎設施(CI)安全防護計畫啟動應急備援措施,並以足夠的微波頻寬12.6Gbps,高於馬祖地區平日流量高峰9.5Gbps,優先提供政府機關、銀行、醫院等關鍵基礎設施維持通訊服務,確保當地民眾在海纜搶修期間可繼續進行ATM提款、信用卡及網路交易等日常生活所需服務。
此外,數發部已報請行政院核定台馬海纜為關鍵基礎設施(CI)。未來數發部將持續秉持「備援再備援」的原則,強化離島通訊網路韌性,包含於政府關鍵節點布建非同步衛星站點、補助電信業者擴充微波容量,並建設台馬四號海纜,透過多元異質的通訊備援及應變機制進一步提升整體通訊穩定性,確保政府與民眾的生活不中斷。
數發部表示,近年來,我國海纜斷纜次數的確有增加趨勢,目前我國有14條國際海纜以及10條國內海纜,數發部已編列經費補助中華電信建置台馬四號海纜,預計2026年6月完工,希望藉由新設海纜增加通訊路徑,分散風險,提升台馬之間整體網路的可靠度以及服務品質。
- Forwarded from #matsu
- 2025-02-17 19:59:55
chewei 哲瑋
20:00:29
chewei
https://www.rti.org.tw/news/view/id/2238635
此次台馬二號海纜全斷事故發生後,數發部已經要求中華電信依其關鍵基礎設施(CI)安全防護計畫啟動應急備援措施,並以足夠的微波頻寬12.6Gbps,高於馬祖地區平日流量高峰9.5Gbps,優先提供政府機關、銀行、醫院等關鍵基礎設施維持通訊服務,確保當地民眾在海纜搶修期間可繼續進行ATM提款、信用卡及網路交易等日常生活所需服務。
此外,數發部已報請行政院核定台馬海纜為關鍵基礎設施(CI)。未來數發部將持續秉持「備援再備援」的原則,強化離島通訊網路韌性,包含於政府關鍵節點布建非同步衛星站點、補助電信業者擴充微波容量,並建設台馬四號海纜,透過多元異質的通訊備援及應變機制進一步提升整體通訊穩定性,確保政府與民眾的生活不中斷。
數發部表示,近年來,我國海纜斷纜次數的確有增加趨勢,目前我國有14條國際海纜以及10條國內海纜,數發部已編列經費補助中華電信建置台馬四號海纜,預計2026年6月完工,希望藉由新設海纜增加通訊路徑,分散風險,提升台馬之間整體網路的可靠度以及服務品質。
- Forwarded from #matsu
- 2025-02-17 19:59:55
2025-02-22
ronnywang
10:08:23
我今天有啟動一個「戰時模擬DNS」,大家可以把自己電腦的 DNS 改成 52.69.115.145
這個 DNS 會把台灣以外的 IP 都停止解析,達到讓大家連不到國外網站的效果,模擬海纜全斷的情況
(PS: 限制,只能針對網站最前端,如果他前端放台灣,但是後端資料庫放國外我們無法阻擋檢測)
這個 DNS 會把台灣以外的 IP 都停止解析,達到讓大家連不到國外網站的效果,模擬海纜全斷的情況
(PS: 限制,只能針對網站最前端,如果他前端放台灣,但是後端資料庫放國外我們無法阻擋檢測)
- 👍9
- 2
2
ronnywang
10:08:23
我今天有啟動一個「戰時模擬DNS」,大家可以把自己電腦的 DNS 改成 52.69.115.145
這個 DNS 會把台灣以外的 IP 都停止解析,達到讓大家連不到國外網站的效果,模擬海纜全斷的情況
(PS: 限制,只能針對網站最前端,如果他前端放台灣,但是後端資料庫放國外我們無法阻擋檢測)
這個 DNS 會把台灣以外的 IP 都停止解析,達到讓大家連不到國外網站的效果,模擬海纜全斷的情況
(PS: 限制,只能針對網站最前端,如果他前端放台灣,但是後端資料庫放國外我們無法阻擋檢測)
Justin Lin
23:10:16
https://www.inside.com.tw/article/37634-
數位韌性真的不能靠別人,衛星網路得要自己掌握才行
數位韌性真的不能靠別人,衛星網路得要自己掌握才行
INSIDE
「烏克蘭的運作高度仰賴 Starlink,就像北極星般重要,失去 Starlink......將造成重大打擊。」![]()
- 👍3
Justin Lin
23:10:16
https://www.inside.com.tw/article/37634-
數位韌性真的不能靠別人,衛星網路得要自己掌握才行
數位韌性真的不能靠別人,衛星網路得要自己掌握才行
mglee
23:24:41
@paulpengtw 有報名但沒收到行前通知,請問明天的會場在台北科技大學的哪裡呢?
paulpengtw
23:26:23
Hi mg 不好意思,可能國際合作夥伴都還在時差/搭飛機,我先把信件寄給你~~
2025-02-23
paulpengtw
00:25:29
明天會在北科大的第四教學大樓 3F~~
irvin
14:08:03
低軌衛星要數百顆以上才有實用價值(全球涵蓋的基本數字要一千五),每一顆只能用五年。
我們政府今年教科文預算六千億都被砍的七零八落連正確數字都算不出來,自己搞衛星星系,實在不抱希望⋯⋯
我們政府今年教科文預算六千億都被砍的七零八落連正確數字都算不出來,自己搞衛星星系,實在不抱希望⋯⋯
- 😲2
irvin
14:08:03
低軌衛星要數百顆以上才有實用價值(全球涵蓋的基本數字要一千五),每一顆只能用五年,我們政府今年教科文預算六千億都被砍的七零八落連正確數字都算不出來,自己搞衛星星系,實在不抱希望⋯⋯
paulpengtw
15:10:20
對!
irvin
17:19:18
AI 幫我把斷網檢測的 script 寫完了
https://github.com/irvin/digital-service-resilience/blob/main/no-global-connection-check.js
https://github.com/irvin/digital-service-resilience/blob/main/no-global-connection-check.js
``` /* 1) checkWebsiteResilience('<https://24h.pchome.com.tw/prod/DCAYAD-A900BIAMV>') .then(result => console.log('檢測完成')) .catch(error => console.error('檢測失敗:', error)); 2) node no-global-connection-check.js <https://24h.pchome.com.tw/prod/DCAYAD-A900BIAMV> */ const { chromium } = require('playwright'); const axios = require('axios'); // const { IPinfoWrapper } = require('node-ipinfo'); const dns = require('dns').promises; const { Resolver } = require('dns').promises; const fs = require('fs').promises; const path = require('path'); // 建立 ipinfo client // const ipinfo = new IPinfoWrapper(process.env.IPINFO_TOKEN || undefined); // 可忽略的域名列表 const IGNORABLE_DOMAINS = [ '<http://analytics.google.com|analytics.google.com>', '<http://www.google-analytics.com|www.google-analytics.com>', '<http://connect.facebook.net|connect.facebook.net>', '<http://fonts.gstatic.com|fonts.gstatic.com>', '<http://www.facebook.com|www.facebook.com>', '<http://www.youtube.com|www.youtube.com>', '<http://doubleclick.net|doubleclick.net>', '<http://www.google.com.tw/ads|www.google.com.tw/ads>', '<http://jscdn.appier.net|jscdn.appier.net>' ]; // 台灣 ASN 列表 - 暫時不使用 /* const TAIWAN_ASN = [ 'AS4780', // 中華電信 'AS3462', // 中華電信 'AS9924', // 台灣固網 'AS4782', // 中華電信國際 'AS18182' // 中華電信數據 ]; */ // 已知有台灣節點的雲端服務 const CLOUD_PROVIDERS = [ 'GOOGLE', 'AMAZON', 'MICROSOFT', 'CLOUDFLARE', 'AKAMAI' ]; async function collectHAR(url) { const browser = await chromium.launch(); const context = await browser.newContext({ bypassCSP: true, ignoreHTTPSErrors: true }); const page = await context.newPage(); // 開始收集 HAR await context.tracing.start({ snapshots: true, screenshots: true }); // 訪問頁面 await page.goto(url); await page.waitForLoadState('networkidle'); // 獲取 HAR 數據 const requests = await page.evaluate(() => { return performance.getEntriesByType('resource').map(entry => ({ url: entry.name, type: entry.initiatorType })); }); await browser.close(); return requests; } function cleanHARData(requests) { return requests.filter(request => { try { const url = new URL(request.url); return !IGNORABLE_DOMAINS.some(domain => url.hostname.includes(domain)); } catch (e) { return false; } }).reduce((acc, current) => { const hostname = new URL(current.url).hostname; if (!acc[hostname]) { acc[hostname] = current; } return acc; }, {}); } async function getDomainIP(domain, customDNS = null) { try { if (customDNS) { const resolver = new Resolver(); resolver.setServers([customDNS]); return (await resolver.resolve4(domain))[0]; } return (await dns.resolve4(domain))[0]; } catch (error) { console.error(`無法解析域名 ${domain}:`, error.message); return null; } } /* async function checkIPLocationWithSDK(domain) { try { const ip = await getDomainIP(domain); if (!ip) { throw new Error(`無法獲取 ${domain} 的 IP 地址`); } const response = await ipinfo.lookupIp(ip); return { source: 'sdk', domain, ip, ...response }; } catch (error) { console.error(`[SDK] 檢查 ${domain} 失敗:`, error.message); return { source: 'sdk', domain, error: true, message: error.message }; } } */ async function checkIPLocationWithAPI(domain, customDNS = null) { try { const ip = await getDomainIP(domain, customDNS); if (!ip) { throw new Error(`無法獲取 ${domain} 的 IP 地址`); } const response = await axios.get(`<https://ipinfo.io/${ip}/json>`, { headers: { 'Accept': 'application/json' } }); return { source: 'json api', domain, ip, ...response.data }; } catch (error) { console.error(`[API] 檢查 ${domain} 失敗:`, error.message); return { source: 'json api', domain, error: true, message: error.message }; } } async function checkIPLocation(domain, customDNS = null) { const apiResult = await checkIPLocationWithAPI(domain, customDNS); return apiResult; } function calculateResilience(ipInfoResults) { const scores = { domestic: 0, // O: 台灣境內 cloud: 0, // ?: 使用有台灣節點的雲端服務 foreign: 0, // X: 境外服務 details: [], comparisons: [] // 新增比較結果 }; for (const result of ipInfoResults) { if (result.error) continue; let score; // if (result.country === 'TW' || TAIWAN_ASN.some(asn => <http://result.org?.includes(asn)|result.org?.includes(asn)>)) { // 只使用 country 判斷是否為台灣境內服務 if (result.country === 'TW') { score = 'O'; scores.domestic++; } else if (CLOUD_PROVIDERS.some(provider => <http://result.org?.toUpperCase().includes(provider)|result.org?.toUpperCase().includes(provider)>)) { score = '?'; scores.cloud++; } else { score = 'X'; scores.foreign++; } scores.details.push({ domain: result.domain, score, source: result.source, location: `${result.country} (${<http://result.org|result.org> || 'Unknown'})` }); } return scores; } async function getLocalIPInfo() { try { // 使用 <http://ipinfo.io|ipinfo.io> 取得本機的公開 IP 資訊 const response = await axios.get('<https://ipinfo.io/json>', { headers: { 'Accept': 'application/json' } }); return { ...response.data, source: 'json api' }; } catch (error) { console.error('無法取得測試環境資訊:', error.message); return { error: true, message: error.message }; } } function formatDomainDetail(result, cleanedData, resilience) { const originalRequest = Object.values(cleanedData).find( req => new URL(req.url).hostname === result.domain ); return { originalUrl: originalRequest?.url, type: originalRequest?.type, ipinfo: { domain: result.domain, ip: result.ip, hostname: result.hostname, city: result.city, region: result.region, country: result.country, loc: result.loc, org: <http://result.org|result.org>, timezone: result.timezone }, score: resilience.details.find(d => d.domain === result.domain)?.score }; } async function checkWebsiteResilience(url, options = {}) { try { console.log(`開始檢測網站: ${url}`); // 取得測試環境資訊 const localIPInfo = await getLocalIPInfo(); if (!localIPInfo.error) { console.log('\n測試環境資訊:'); console.log('-------------------'); console.log(localIPInfo); } if (options.customDNS) { console.log('\n使用自訂 DNS 伺服器:', options.customDNS); } else { console.log('\n使用本機 DNS 伺服器:', dns.getServers()); } // 1. 收集 HAR const requests = await collectHAR(url); console.log(`收集到 ${requests.length} 個請求`); // 2. 清理資料 const cleanedData = cleanHARData(requests); const domains = Object.values(cleanedData).map(req => new URL(req.url).hostname); console.log(`清理後剩餘 ${domains.length} 個唯一域名`); // 3. 檢查每個域名 const locationResults = await Promise.all( domains.map(domain => checkIPLocation(domain, optio…
irvin
17:19:52
g0v.tw 的結果:
> "test_results": {
> "domestic": 2,
> "cloud_w_domestic_node": 4,
> "foreign": 1
> },
https://github.com/irvin/digital-service-resilience-test-result/blob/main/g0v.tw_2025-02-23T10-35-51-408Z.json#L22C1-L26C5
> "test_results": {
> "domestic": 2,
> "cloud_w_domestic_node": 4,
> "foreign": 1
> },
https://github.com/irvin/digital-service-resilience-test-result/blob/main/g0v.tw_2025-02-23T10-35-51-408Z.json#L22C1-L26C5
- 💡1
Frank Wang
18:38:22
@frankwang5168 has joined the channel
irvin
18:54:21
接下來是如何把測試結果用 GitHub pages 生成一個可以分享的頁面
irvin
21:54:33
kiang
2025-02-24 08:03:35
404 了,關閉維修?
irvin
2025-02-24 12:38:44
原本的 repo 太饒舌了,而且我們只能測 web
irvin
2025-02-25 09:25:11
Hahaha
就差譜曲了喔
就差譜曲了喔
jimyhuang
2025-02-26 01:21:57
覺得蠻有趣,應該來跳個坑
irvin
21:54:33
3
kiang
2025-02-24 08:03:35
404 了,關閉維修?
irvin
2025-02-24 12:38:44
原本的 repo 太饒舌了,而且我們只能測 web
irvin
2025-02-25 09:25:11
Hahaha
就差譜曲了喔
就差譜曲了喔
jimyhuang
2025-02-26 01:21:57
覺得蠻有趣,應該來跳個坑
irvin
21:54:58
哇,因為 og:desc 也是動態更新的,不會直接顯示出來
irvin
21:54:58
哇,因為 og:desc 也是動態更新的,不會直接顯示出來
eddie wang
22:30:08
@wang8119 has joined the channel
2025-02-24
kiang
08:03:35
404 了,關閉維修?
irvin
12:38:44
原本的 repo 太饒舌了,而且我們只能測 web
2025-02-25
irvin
09:25:11
Hahaha
就差譜曲了喔
就差譜曲了喔
Annie Tseng(安妮)
13:50:24
聯合影音
中華電信台澎第三海底電纜於將軍漁港西北方6浬處,今天凌晨3時許發生斷裂,海巡署接獲通報,研判中資背景的多哥籍「宏泰」貨輪涉有重嫌,出動台南海巡隊押返台南安平港,正由第四海巡隊派員登檢中,將依國安層級處理原則,報請台南地檢..
Peter
2025-02-25 14:34:55
終於抓到人了
Annie Tseng(安妮)
13:50:24
聯合影音
中華電信台澎第三海底電纜於將軍漁港西北方6浬處,今天凌晨3時許發生斷裂,海巡署接獲通報,研判中資背景的多哥籍「宏泰」貨輪涉有重嫌,出動台南海巡隊押返台南安平港,正由第四海巡隊派員登檢中,將依國安層級處理原則,報請台南地檢..
- 😮1
Peter
2025-02-25 14:34:55
終於抓到人了
Peter
14:34:55
終於抓到人了
2025-02-26
jimyhuang
01:21:57
覺得蠻有趣,應該來跳個坑
irvin
16:58:24
昨天那艘船的船跡
- 😮7
- 😢1
- 😵💫1
chihao
2025-03-01 17:31:36
不知道能不能把海纜也畫上去 🤔
chewei 哲瑋
2025-03-02 09:42:07
看到一則 從航運合理操作 檢視此船舶的反常操作
https://www.facebook.com/share/p/1AyUtdRw8A/
https://www.facebook.com/share/p/1AyUtdRw8A/