2/22 黑客松延續食物與韌性主題 挑選 ~*比較容易被斷網*~ 島嶼物產零嘴 • <#C03JGA6FSKF|> 馬祖淡菜洋芋片、黃魚薯條、魚麵片、紅麴零嘴 • 澎湖干貝醬米香、蝦餅
2/22 黑客松延續食物與韌性主題 挑選 ~*比較容易被斷網*~ 島嶼物產零嘴 • <#C03JGA6FSKF|> 馬祖淡菜洋芋片、黃魚薯條、魚麵片、紅麴零嘴 • 澎湖干貝醬米香、蝦餅
2/22 黑客松延續食物與韌性主題 挑選 ~*比較容易被斷網*~ 島嶼物產零嘴 • <#C03JGA6FSKF|> 馬祖淡菜洋芋片、黃魚薯條、魚麵片、紅麴零嘴 • 澎湖干貝醬米香、蝦餅
韌性松的廣告XD <https://youtube.com/shorts/nCTgv2JDgsg|https://youtube.com/shorts/nCTgv2JDgsg>
韌性松的廣告XD <https://youtube.com/shorts/nCTgv2JDgsg|https://youtube.com/shorts/nCTgv2JDgsg>
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.
![]()
ChatGPT
ChatGPT - DSI EXODUS 2.0 Guide
P2P social registry of mutual insurance and cooperation.
![]()
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.
![]()
<https://www.rti.org.tw/news/view/id/2238635|https://www.rti.org.tw/news/view/id/2238635> 此次台馬二號海纜全斷事故發生後,數發部已經要求中華電信依其關鍵基礎設施(CI)安全防護計畫啟動應急備援措施,並以足夠的微波頻寬12.6Gbps,高於馬祖地區平日流量高峰9.5Gbps,優先提供政府機關、銀行、醫院等關鍵基礎設施維持通訊服務,確保當地民眾在海纜搶修期間可繼續進行ATM提款、信用卡及網路交易等日常生活所需服務。 此外,數發部已報請行政院核定台馬海纜為關鍵基礎設施(CI)。未來數發部將持續秉持「備援再備援」的原則,強化離島通訊網路韌性,包含於政府關鍵節點布建非同步衛星站點、補助電信業者擴充微波容量,並建設台馬四號海纜,透過多元異質的通訊備援及應變機制進一步提升整體通訊穩定性,確保政府與民眾的生活不中斷。 數發部表示,近年來,我國海纜斷纜次數的確有增加趨勢,目前我國有14條國際海纜以及10條國內海纜,數發部已編列經費補助中華電信建置台馬四號海纜,預計2026年6月完工,希望藉由新設海纜增加通訊路徑,分散風險,提升台馬之間整體網路的可靠度以及服務品質。
<https://www.rti.org.tw/news/view/id/2238635|https://www.rti.org.tw/news/view/id/2238635> 此次台馬二號海纜全斷事故發生後,數發部已經要求中華電信依其關鍵基礎設施(CI)安全防護計畫啟動應急備援措施,並以足夠的微波頻寬12.6Gbps,高於馬祖地區平日流量高峰9.5Gbps,優先提供政府機關、銀行、醫院等關鍵基礎設施維持通訊服務,確保當地民眾在海纜搶修期間可繼續進行ATM提款、信用卡及網路交易等日常生活所需服務。 此外,數發部已報請行政院核定台馬海纜為關鍵基礎設施(CI)。未來數發部將持續秉持「備援再備援」的原則,強化離島通訊網路韌性,包含於政府關鍵節點布建非同步衛星站點、補助電信業者擴充微波容量,並建設台馬四號海纜,透過多元異質的通訊備援及應變機制進一步提升整體通訊穩定性,確保政府與民眾的生活不中斷。 數發部表示,近年來,我國海纜斷纜次數的確有增加趨勢,目前我國有14條國際海纜以及10條國內海纜,數發部已編列經費補助中華電信建置台馬四號海纜,預計2026年6月完工,希望藉由新設海纜增加通訊路徑,分散風險,提升台馬之間整體網路的可靠度以及服務品質。
facebook.com
See posts, photos and more on Facebook.
INSIDE
美方擬切斷 Starlink 服務 施壓烏克蘭讓步礦權談判 - INSIDE
「烏克蘭的運作高度仰賴 Starlink,就像北極星般重要,失去 Starlink......將造成重大打擊。」
![]()
``` /* 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.github.io
檢測網站在海纜受損時的可用性
聯合影音
影/中資背景「宏泰」貨輪疑似拖斷海纜 海巡署登船影片曝 | 時事 | 聯合影音
中華電信台澎第三海底電纜於將軍漁港西北方6浬處,今天凌晨3時許發生斷裂,海巡署接獲通報,研判中資背景的多哥籍「宏泰」貨輪涉有重嫌,出動台南海巡隊押返台南安平港,正由第四海巡隊派員登檢中,將依國安層級處理原則,報請台南地檢..
聯合影音
影/中資背景「宏泰」貨輪疑似拖斷海纜 海巡署登船影片曝 | 時事 | 聯合影音
中華電信台澎第三海底電纜於將軍漁港西北方6浬處,今天凌晨3時許發生斷裂,海巡署接獲通報,研判中資背景的多哥籍「宏泰」貨輪涉有重嫌,出動台南海巡隊押返台南安平港,正由第四海巡隊派員登檢中,將依國安層級處理原則,報請台南地檢..