|  両方とも前のリビジョン 前のリビジョン 次のリビジョン |  前のリビジョン | 
| start [2020/02/09 00:49]  – [確認くん]  ともやん | start [2025/11/02 00:58] (現在)  –  ともやん | 
|---|
| <html> | <html> | 
|   <!-- |   <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.global.prod.js"></script>  | 
|   |   <!--<script src="/_media/javascript/ua-parser-js/ua-parser-0.7.28-gpu-ex.js"></script>-->  | 
|   |   <script src="https://cdn.jsdelivr.net/npm/ua-parser-js@1.0.39/dist/ua-parser.min.js"></script>  | 
|   |   <!-- Tomoyan.net Vue.js app start -->  | 
|   |   <script>const startTime = new Date();</script> | 
|   <style> |   <style> | 
|     .char-svg {  |     #kakunin_kun div.table {  | 
|       position: fixed;  |       overflow-x: scroll;  | 
|       width: 509px;  |     }  | 
|       height: 415px;  |     #kakunin_kun table {  | 
|       background-image: url("/_media/mg_chara.svg?cache=recache");  |       font-size: 12px;  | 
|       background-repeat: no-repeat;  |       line-height: 14px;  | 
|       top: auto;  |     }  | 
|       left: 0;  |     #kakunin_kun table th {  | 
|       right: 0;  |       white-space: nowrap;  | 
|       bottom: 0;  |     }  | 
|       margin: 0 auto;  |     .font_half {  | 
|       z-index: -1;  |       font-size: 10px; | 
|       opacity: 0.7; |  | 
|     } |     } | 
|   </style> |   </style> | 
|   <script> |   | 
|     const $ = jQuery; |   | 
|     $(() => { |   | 
|       $('#dokuwiki__content').append('<div class="char-svg"></div>'); |   | 
|     }); |   | 
|   </script> |   | 
|   --> |   | 
| </html> | </html> | 
| ====== ようこそ、ともやん・どっと・ねっとへ!! ====== | ====== ようこそ、ともやん・どっと・ねっとへ!! ====== | 
| {{mg_chara.svg?400|MGC Character}} | {{mg_chara.png?400x300|MGC Character}} | 
 |  | 
| ===== 確認くん =====  | ====== ☯️中医学 ======  | 
| お出掛け前のチェックにどうぞ。\\  | [[dog:kanpo_susume|漢方煎じ薬専門薬局、漢方薬局のすすめ🐶🐱🐘🐔🐰]]\\ | 
| ^ IP アドレス (IPv4)  |  <php>echo $_SERVER["REMOTE_ADDR"];</php>  |  |  | 
| ^ ゲートウェイ名  |  <php>echo '<a href="https://www.aguse.jp/?url='.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'" target="_blank">'.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'</a>';</php>  | |  | 
 |  | 
| <ifauth @dokuwikiusers>  | ====== ✔️確認くん ======  | 
| ===== Dokuwiki Top (内部) ===== | お出掛け前のチェックにどうぞ💁♂️\\  | 
|   | <html><span style="font-size: 10px; color: gray;">※確認くんは、あなたのスマホやコンピュータがネットへお出掛けする際に、外部へ伝わる、または、伝えている情報を表示しています🙄</span></html>\\  | 
|   | <WRAP prewrap 100% #kakunin_kun>  | 
|   | <html>  | 
|   |   <div id="tomoyan_net-app">  | 
|   | </html>  | 
|   | ^ IP アドレス (<html>{{ ip_ver }}</html>)\\ <html><span class="font_half">REMOTE_ADDR</span></html>  | <html><code>{{ remote_addr }}</code></html> |  | 
|   | ^ ゲートウェイ名\\ <html><span class="font_half">gethostbyaddr(REMOTE_ADDR)</span></html>  | <php>echo '<a href="https://www.aguse.jp/?url='.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'" target="_blank">'.gethostbyaddr($_SERVER["REMOTE_ADDR"]).'</a>';</php>  |  | 
|   | ^ CPU Cores\\ <html><span class="font_half">navigator.hardwareConcurrency</span></html>  | <html><p v-if="!(cpu_cores === '')"><code>{{ cpu_cores }}</code> core</p><p v-else="cpu_cores === ''">取得不能</p></html>  |  | 
|   | ^ [[https://ja.wikipedia.org/wiki/%E7%94%BB%E9%9D%A2%E8%A7%A3%E5%83%8F%E5%BA%A6|画面解像度]]\\ <html><span class="font_half">screen & window</span></html>  | <html><code>{{ display_resolution }}</code> pixel</html>\\ <html>(ブラウザ表示サイズ <code>{{ browser_resolution }}</code> pixel)</html>  |  | 
|   | ^ ダークモード\\ <html><span class="font_half">CSS @media (prefers-color-scheme: dark)</span></html>  | <html><code>{{ dark_mode }}</code></html>  |  | 
|   | ^ Vendor\\ <html><span class="font_half">navigator.vendor</span></html>  | <html><p v-if="!(vendor === '')"><code>{{ vendor }}</code></p><p v-else="vendor === ''">取得不能</p></html>  |  | 
|   | ^ [[https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88|User Agent]]\\ [[https://faisalman.github.io/ua-parser-js/|UAParser.js]] ([[javascript:json|JSON)]]  | <html><code>{{ user_agent }}</code></html><accordion><panel type="default" title="UAParser (JSON)"><html><div class="color_term"><div class="wrap_mincode"><pre>{{ ua_parser }}</pre><pre>{{ versions }}</pre></div></div></html></panel></accordion>  |  | 
|   | ^ [[https://html5test.com|The HTML5 test - How well does your browser support HTML5?]]  ||  | 
|   | <html>  | 
|   |   </div>  | 
|   |   <!-- Tomoyan.net Vue.js app end -->  | 
|   | </html>  | 
|   | <php>  | 
|   |   echo '<script>const REMOTE_ADDR = "'.$_SERVER["REMOTE_ADDR"].'"; </script>';  | 
|   | </php>  | 
|   | <html>  | 
|   |   <script>  | 
|   |     "use strict";  | 
|   |     const { createApp } = Vue  | 
|   |       | 
|   |     let ua_parser;  | 
|   |     const tomoyan_net_app = createApp({  | 
|   |       data() {  | 
|   |         return {  | 
|   |           cpu_cores: '',  | 
|   |           display_resolution: '',  | 
|   |           browser_resolution: '',  | 
|   |           user_agent: navigator.userAgent,  | 
|   |           vendor: navigator.vendor,  | 
|   |           ua_parser: '',  | 
|   |           versions: '',  | 
|   |           vue_ver: Vue.version,  | 
|   |         }  | 
|   |       },  | 
|   |       async created() {  | 
|   |         this.remote_addr = REMOTE_ADDR.indexOf(':') !== -1 ? REMOTE_ADDR + ' (IPv4: ' + await this.get_ip4addr() + ')' : REMOTE_ADDR;  | 
|   |         window.addEventListener('resize', this.get_display_resolution);  | 
|   |         this.get_display_resolution();  | 
|   |         this.get_cpu_cores() | 
 |  | 
|   |         window.UAParser = UAParser; | 
|   |         let ua_result = ua_parser = new UAParser(); | 
|   |         let ua_json = ua_result.getResult(); | 
|   |         this.ua_parser = JSON.stringify(ua_json, null, '  '); | 
|   |  | 
|   |         this.versions = 'Vue.js version: ' + Vue.version + '\n' + | 
|   |           'UAParser version: ' + UAParser.VERSION + '\n'; | 
|   |       }, | 
|   |       computed: { | 
|   |         ip_ver() { | 
|   |           return REMOTE_ADDR.indexOf(':') !== -1 ? 'IPv6' : 'IPv4'; | 
|   |         }, | 
|   |         dark_mode() { | 
|   |           if (matchMedia('(prefers-color-scheme)').media == 'not all') { | 
|   |             return '未対応'; | 
|   |           } | 
|   |           else { | 
|   |             return matchMedia('(prefers-color-scheme: dark)').matches ? 'はい' : 'いいえ'; | 
|   |           } | 
|   |         }, | 
|   |       }, | 
|   |       methods: { | 
|   |         get_display_resolution() { | 
|   |           this.display_resolution =  screen.width + ' x ' + screen.height; | 
|   |           this.browser_resolution =  window.innerWidth + ' x ' + window.innerHeight; | 
|   |         }, | 
|   |         get_cpu_cores() { | 
|   |           this.cpu_cores = (!!navigator.hardwareConcurrency ?  | 
|   |                             navigator.hardwareConcurrency : | 
|   |                             ''); | 
|   |         }, | 
|   |         async get_ip4addr() { | 
|   |           // https://www.ipify.org/ | 
|   |           let ip4addr; | 
|   |           try { | 
|   |             ip4addr = (await (await fetch('https://razor-ramon4.tomoyan.net/remote_addr?format=json', {mode: 'cors'})).json()).ip; | 
|   |           } | 
|   |           catch (error) { | 
|   |             console.error(error); | 
|   |             ip4addr = error; | 
|   |           } | 
|   |           return ip4addr; | 
|   |         }, | 
|   |       }, | 
|   |       mounted() { | 
|   |         window.onload = () => { | 
|   |           let diffLoadTime = Date.now() - startTime;  | 
|   |           console.log('Load:', diffLoadTime / 1000); | 
|   |         } | 
|   |         /*window.onready = () => { | 
|   |             let diffReadyTime = Date.now() - startTime;  | 
|   |             console.log('Ready:', diffReadyTime / 1000); | 
|   |         }*/ | 
|   |       }, | 
|   |       beforeDestroy() { | 
|   |         window.removeEventListener('resize', this.get_display_resolution); | 
|   |       }, | 
|   |     }).mount('#tomoyan_net-app') | 
|   |   </script> | 
|   | </html> | 
|   | </WRAP> | 
|   |  | 
|   | <ifauth @internal_users> | 
|   | ====== 🦀Dokuwiki Top (内部) ====== | 
| ^DokuWikiの使い方^^ | ^DokuWikiの使い方^^ | 
| |[[playground:playground|書き込みの練習場所]]  |[[doku_maintenance|DokuWikiメンテ部屋]]  | | |[[playground:playground|✍️書き込みの練習場所]]  |  |  | 
|   |   | 
|   | ^ 生活 ^^^  | 
|   | |[[internal_users_area:pharmacy|💊お薬関連]]  | [[internal_users_area:fee_calculation|💰料金計算]]  | [[internal_users_area:other|🌾その他]]  |  | 
|   | |[[internal_users_area:medical_science|👨🏻⚕️医学関連]]  |  |  |  | 
|   | </ifauth>  | 
|   |   | 
|   | <ifauth @confidential>  | 
|   | [[doku_maintenance|🛠DokuWikiメンテ部屋]]\\ | 
 |  | 
| ^ その他 ^^^ | ^ その他 ^^^ | 
| |[[confidential_area:pharmacy|お薬関連]]  |  |  |  | |[[confidential_area|🔑機密領域]]  |[[system_manage|⚙️システム管理]]  |[[info_arrange|📝情報整理(管理者専用)]]  |  | 
| |[[confidential_area|機密領域]]  |[[system_manage|システム管理]]  |[[info_arrange|情報整理(管理者専用)]]  |  | |[[kodomo_area|👶子供向けサーバー構築]]  |  | | 
| |[[kodomo_area|子供向けサーバー構築]]  |  | |  | 
| </ifauth> | </ifauth> | 
 |  | 
| ===== Dokuwiki Top ===== | ====== 🦞Dokuwiki Top ====== | 
| <php> | <php> | 
| function curlGet($url) { | function curlGet($url, $referer='') { | 
|   $curl = curl_init(); |   $curl = curl_init(); | 
|    |    | 
|   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない |   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 証明書の検証を行わない | 
|   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す |   curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);  // curl_execの結果を文字列で返す | 
|   |   curl_setopt($curl, CURLOPT_REFERER, $referer); | 
|    |    | 
|   $response = curl_exec($curl); |   $response = curl_exec($curl); | 
 |  | 
| //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate'); | //$json = curlGet('https://www.gaitameonline.com/rateaj/getrate'); | 
| $json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate');  | //$json = curlGet('https://info.finance.yahoo.co.jp/fx/async/getRate');  | 
| $json = mb_convert_encoding($json, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN'); | //$json = curlGet('https://finance.yahoo.co.jp/web-fx/ajax', 'https://finance.yahoo.co.jp/quote/USDJPY=FX');  | 
|   | $html = curlGet('https://www.google.com/finance/quote/USD-JPY');  | 
|   | //$html = curlGet('https://www.google.com/finance/quote/CNH-JPY');  | 
|   | $html = mb_convert_encoding($html, 'UTF8', 'ASCII,JIS,UTF-8,EUC-JP,SJIS-WIN');  | 
|   | preg_match_all('/AF_initDataCallback\(\{.*?(?<json>.*?)\}\);/', $html, $matchs);  | 
|   | $html = $matchs['json'][3];  | 
|   | $json = json_encode($matchs['json']);  | 
|   | //$json = json_decode($matchs['json'][1], false);  | 
| //$usdjpy = json_decode($json, true)['quotes'][20]; | //$usdjpy = json_decode($json, true)['quotes'][20]; | 
| $usdjpy = json_decode($json, true)['USDJPY']; | echo '<script>';  | 
|   | echo 'var quotes = ' . $json . ';';  | 
|   | echo '</script>';  | 
|   | $usdjpy = []; //json_decode($json, true)['USDJPY'];  | 
|   | $cnhjpy = []; //json_decode($json, true)['CNHJPY']; | 
 |  | 
|   | //print_r($matchs['json']); | 
|   | //print_r($json); | 
|   | //print_r($html); | 
| //print_r($usdjpy); | //print_r($usdjpy); | 
 |  | 
 |  | 
| // finance.yahoo.co.jp | // finance.yahoo.co.jp | 
| echo '<div class="table" style="word-break: break-word;"><table class="inline"><thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX" target="_blank">米ドル/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';  | echo '<div class="table" style="word-break: break-word;"><table class="inline">';  | 
| echo '<tbody><tr><td>Bid(売値)</td><td>'.$usdjpy['Bid'].'</td>'; |   | 
|   | echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=USDJPY=FX" target="_blank">💹米ドル/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';  | 
|   | echo '<tbody>';  | 
|   | echo '<tr><td>Bid(売値)</td><td>'.$usdjpy['Bid'].'</td>'; | 
| echo '<td>Ask(買値)</td><td>'.$usdjpy['Ask'].'</td>'; | echo '<td>Ask(買値)</td><td>'.$usdjpy['Ask'].'</td>'; | 
| echo '<td>Change(始値比)</td><td>'.$usdjpy['Change'].'</td></tr>'; | echo '<td>Change(始値比)</td><td>'.$usdjpy['Change'].'</td></tr>'; | 
| echo '<tr><td>Open(始値)</td><td>'.$usdjpy['Open'].'</td>'; | echo '<tr><td>Open(始値)</td><td>'.$usdjpy['Open'].'</td>'; | 
| echo '<td>High(高値)</td><td>'.$usdjpy['High'].'</td>'; | echo '<td>High(高値)</td><td>'.$usdjpy['High'].'</td>'; | 
| echo '<td>Low(安値)</td><td>'.$usdjpy['Low'].'</td></tr></tbody></table></div>'; | echo '<td>Low(安値)</td><td>'.$usdjpy['Low'].'</td></tr>';  | 
|   | echo '</tbody>';  | 
|   |   | 
|   | echo '<thead><tr><th colspan="6"><a href="https://info.finance.yahoo.co.jp/fx/detail/?code=CNHJPY=FX" target="_blank">💹人民元/円 - Powered by Yahoo!ファイナンス</a></th></tr></thead>';  | 
|   | echo '<tbody>';  | 
|   | echo '<tr><td>Bid(売値)</td><td>'.$cnhjpy['Bid'].'</td>';  | 
|   | echo '<td>Ask(買値)</td><td>'.$cnhjpy['Ask'].'</td>';  | 
|   | echo '<td>Change(始値比)</td><td>'.$cnhjpy['Change'].'</td></tr>';  | 
|   | echo '<tr><td>Open(始値)</td><td>'.$cnhjpy['Open'].'</td>';  | 
|   | echo '<td>High(高値)</td><td>'.$cnhjpy['High'].'</td>';  | 
|   | echo '<td>Low(安値)</td><td>'.$cnhjpy['Low'].'</td></tr>';  | 
|   | echo '</tbody>';  | 
|   |   | 
|   | echo '</table></div>'; | 
| </php> | </php> | 
|   | <html><a href="https://sec.himawari-group.co.jp/report/weeklycalendar/">🌻経済指標|マーケット情報|ひまわり証券 (https://sec.himawari-group.co.jp/)</a></html>\\ | 
 |  | 
| ^ 関連サイト  ^^ | ^ 関連サイト  ^^ | 
| | [[https://redmine.tomoyan.net|ともやんRedmine]]  | [[https://repos.tomoyan.net|ともやんRepository]]  | | | [[https://redmine.tomoyan.net|🦚ともやんRedmine]]  | [[https://repos.tomoyan.net|🕊ともやんRepository]]  | | 
 |  | 
| ^ DokuWikiの使い方  ^^ | ^ DokuWikiの使い方  ^^ | 
| | [[wiki:syntax|整形記法]]  | [[wiki:dokucrypt_plugin|Dokucryptプラグイン(暗号化機能)]]  |  | | [[wiki:syntax|☮️整形記法]]  | [[wiki:dokucrypt_plugin|🛡Dokucryptプラグイン(暗号化機能)]]  |  | 
| | [[http://www.dokuwiki.org/ja:dokuwiki|Dokuwiki本家]]  | [[SyntaxTest|書式テスト]]  | | | [[http://www.dokuwiki.org/ja:dokuwiki|🏡Dokuwiki本家]]  | [[SyntaxTest|📝書式テスト]]  | | 
 |  | 
| ^ 技術資料  ^^^^  | ^ カテゴリー別  ^^^^  | 
| | [[linux|Linux 関連]]  | [[linux_zaurus|Linux Zaurus 関連]]  | [[network|ネットワーク関連]]  | [[windows:regex|正規表現]]  |  | ^ OS  ^^^^  | 
| | [[mac|Mac 関連]]  | [[ios|iPhone/iOS 関連]]  | [[android|Android 関連]]  |  |  | | [[linux|🐣Linux 関連]]  | [[linux_zaurus|Linux Zaurus 関連]]  | [[network|ネットワーク関連]]  | [[windows:regex|正規表現]]  |  | 
| | [[windows|Windows 関連]]  | [[dotnet|.NET 関連]]  | [[web|Web 関連]]  | [[charset|文字コード]]  |  | | [[mac|🍔🍟Mac 関連]]  | [[ios|🍍iPhone/iOS 関連]]  | [[android|🤖Android 関連]]  |  |  | 
| | [[python|Python 関連]]  | [[python:django|Django Framework 関連]]  | [[php|PHP 関連]]  | [[ruby|Ruby 関連]]  |  | | [[windows|🍱Windows 関連]]  |   |   |   |  | 
| | [[html_css|HTML5 + CSS3 関連]]  | [[javascript|JavaScript 関連]]  | [[golang|Go 関連]]  |   |  | ^ 言語  ^^^^  | 
| | [[database|データベース関連]]  | [[hardware|ハードウェア関連]]  | [[c_cpp|C/C++ 関連]]  | [[algorithm|アルゴリズム]]  | | | [[python|🐍Python]]  | [[python:django|🎸Django Framework]]  | [[php|🐘PHP]]  | [[ruby|💍Ruby]]  |  | 
|   | | [[html_css|🚾HTML + CSS]]  | [[javascript|🈁JavaScript]]  | [[typescript|🈁TypeScript]]  |  |  | 
|   | | [[c_cpp|🍋C/C++]]  | [[rust|🦀Rust]]  | [[zig|⚡Zig]] |  |  | 
|   | | [[golang|🐭Go]]  |  | [[java|☕Java]]  | [[programming_language|💻プログラミング言語]]  |  | 
|   | ^ テクノロジ  ^^^^  | 
|   | | [[web|Web 関連]]  | [[dotnet|.NET 関連]]  | [[hardware|ハードウェア関連]]  | [[charset|文字コード]]  |  | 
|   | | [[algorithm|アルゴリズム]]  | [[database|データベース関連]]  | [[open_source|オープンソース]]  |   | | 
| | [[ai|人工知能関連]]  | [[security|セキュリティ関連]]  |   |   | | | [[ai|人工知能関連]]  | [[security|セキュリティ関連]]  |   |   | | 
|   | ^ その他  ^^^^ | 
|   | | [[mathematics|数学関連]]  | [[application|アプリ関連]]  | [[open_standard|オープン標準関連]]  | [[information_source|情報源]]  | | 
|   | | [[electronics|電子工学関連]]  |  |  |  | | 
 |  | 
| ^ 生活  ^^^^ | ^ 生活  ^^^^ | 
| | [[cooking|お料理関連]]  |   |   |   | | | [[cooking|🍳ハッカ~♪ のお料理]]  | [[onsen|♨️温泉]]  | [[medical_science|🏥医学関連]]  | [[music|🎵音楽]]  |  | 
|   | | [[lifehacker|🏡ハッカ~♪ の生活術]]  | [[dog|🐶どっぐ]]  | [[law|⚖法律関連]]  | 🧠[[brain_science|みそ]]  |  | 
|   |   | 
|   | ^ 金融  ^^^^  | 
|   | | [[currency|通貨関連]]  |  |  |  |  | 
|   |   | 
|   | \\  | 
|   | このサイトを広告なしで見るには...\\  | 
|   | [[web:vivaldi|Vivaldi - 超絶便利。タブ管理や広告で悩まないブラウザ]]\\  | 
|   | [[web:brave|Brave - プライバシーを重視した高速かつ安全な次世代ブラウザ]]\\  | 
|   | の利用をお勧めします😉\\  |