RT-AC86U 追加 – 3
24 時間位で検出されているので,AiProtection のアラート設定.
ASUS FAQ [AiProtection] アラートメールの設定方法
2018/04/26 悪質サイトとしてブロックされた所にアクセスしてみた.
こっちは,侵入防止システムの画像.
それでも,全てをガードできるわけではなさそう.
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /admin/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /mysql/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /pmamy2/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /pmamy/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /PMA2/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:33:00 | 27.92.169.109 | 120.24.170.24 | 404 | /PMA/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:32:59 | 27.92.169.109 | 120.24.170.24 | 404 | /pma/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:32:59 | 27.92.169.109 | 120.24.170.24 | 404 | /pmd/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:32:59 | 27.92.169.109 | 120.24.170.24 | 404 | /phpMyAdmin/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:32:59 | 27.92.169.109 | 120.24.170.24 | 404 | /phpmyadmin/index.php | GET | Mozilla/5.0 | ||
2018/04/26 13:32:59 | 27.92.169.109 | 120.24.170.24 | /index.php | GET | Mozilla/5.0 | |||
2018/04/26 13:32:58 | 27.92.169.109:80 | 120.24.170.24 | 404 | /wls-wsat/CoordinatorPortType | GET | Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0 |
RT-AC86U 追加 – 2
次に影響が少ない psc 2550 .
固定 IP を DHCP に変更して AC86U に接続したが,DHCP がうまく動作せず後回し.
AP の WN-AC1167R は,単純に繋ぎ変えだけで 192.168.1.xx に.
HDL-AH2W ,HVL-S3 を DHCP に.
DS115j ,DS116 を,DHCP に.
全てを AC86U に接続.BL190HW,AC86U,WR9500N などは何度か再起動.
PC なども ASUS Ruter アプリで確認しながら,必要に応じて再起動.
AP と子機の WR9500N も,繋ぎ変えだけで 192.168.0.2xx から 192.168.1.2xx になった.
何度か再起動が必要なものもあったが,DS11x を除いて移行できた.
psc 2550 も 192.168.1.x になり,固定 IP に設定.
DS115j と DS116 を固定 IP(192.168.1.216)に(以降 4 つ目の値は実際と異なります).
DS115j は公開してないので DHCP で良いが,IP で打つことが多いので固定にしている.
また,AC86U も WAN 側を固定(192.168.0.120)に.
27.92.169.109 — BL190HW — 192.168.0.120 — AC86U — 192.168.1.216
PC から tracert .
1 1 ms 1 ms 1 ms router.asus.com [192.168.1.1] 2 1 ms 1 ms 1 ms web.setup [192.168.0.1] 3 * * * 要求がタイムアウトしました。 4 5 ms 6 ms 6 ms tmfACS001.bb.kddi.ne.jp [27.85.212.25] 5 11 ms 12 ms 12 ms 27.80.241.61 6 10 ms 10 ms 10 ms 27.80.241.238 7 10 ms 10 ms 10 ms jc-osa301.int-gw.kddi.ne.jp [113.157.227.82] 8 ....
LAN 内から,エクスプローラなどではアクセスできるが,http でアクセスできない.
DSM コントロールパネルの「セキュリティ」-「ファイアウォール」-「custom」.
他に,Web アクセスの PHP も 192.168.1.x が有効となる様に変更.
この状態では,Web サーバとして外からアクセスできない.
BL190HW のポートマッピングの設定で,次のものを追加.
192.168.0.120 TCP any
また DMZ の設定に 192.168.0.120 を.
AC86U の「ポートフォワーディング」の設定で次を追加.
HTTP DS116 80 192.168.1.216 TCP
これで,外からは mish.myds.me にアクセスできる様になった.
この 5 時間程度,外からのアクセスは停止.
まだ LAN 内からは mish.myds.me でアクセスできない.
暫くわからず AC86U の IPv6 の関係と思い調べたが,あまり有用な情報は見つけられなかった.
試しに,「Passthrough」,自動接続を「有効」にすると,意図した動作となった.
RT-AC86U 追加
マニュアルのセットアップの部分を読み,Aterm BL190HW の空いた LAN ポートに接続.
設定用の PC は,T90Chi を利用.本当は,有線の方が良いのだろうが面倒だったので…
ハード的な接続後 AC86U の電源を入れると,赤い LED の表示が…
マニュアルによると WAN LED で「IP アドレスが取得できていない」とのこと.
PC から ASUS_00_2G(オープン)に接続すると,ID の設定画面に.
新しく入力して進めると WAN 側が設定され,PC から外への接続はできるようになった.
WAN LED のランプも「白」に.
ここまでは,BL190HW の下に既存の LAN 環境(192.168.0.x)と AC86U が存在する状態.
AC86U の WAN 側は 192.168.0.11 ,LAN 側は 192.168.1.11 .
LAN 内には外からアクセス可能にしているものがある.
WD Cloud
DS116
また,幾つかの機器は固定 IP.
HDL-AH2W,HVL-S3,psc 2550,テスト環境の Web サーバなど.
先ず,他に影響を与えそうにない WD Cloud から.
固定 IP を外して,DHCP に.
AC86U に繋ぎ直すと,特に問題なさそう.
LAN 内で,\\WDCloud は OK.//wdcloud も.
スマートフォン用のアプリも問題なし.
4G 接続でのスマートフォン用アプリも OK.
192.168.0.x で接続している wdcloud.jp も問題なさそう.
WD Cloud のこの辺りの動作は良くできていると思う.
PC やスマートフォンなど動作状況を把握するために,
ASUS Router アプリ
球が作成できない
背景画像のアップロードで,球を生成してそれに貼り付ける.
コード自体はそれほど難しくないので,1 日位でできると思ってた.
Windows のコンソール AP で,次の様なコードを書いてテスト.
MakeBG.cpp
make_bg.hxx
#include "MessBar.hxx" #include "i_Trace.hxx" #include "gonsprm2.hxx" #include "Htm_thrj.hxx" //******************************************************************************* // make bg files imo and html // Create : 2018/04/19 //******************************************************************************* inline bool MakeBG (c_tstring& dibPath) { tstring ext = ::Path_GetExtLow(dibPath) ; if (ext == _T("bmp")) { ; } else if (ext == _T("jpg")) { ; } else if (ext == _T("png")) { ; } else { return false ; } { tstring imoPath = ::Path_ChangeExt(dibPath,_T(".imo")) ; tstring htmName = ::Path_ChangeExt(dibPath,_T(".html")) ; tstring dmpName = ::Path_ChangeExt(dibPath,_T(".ipl")) ; { long div = 90/5 ; v_Vd3A pntsAry = ::BuildSphere(div) ; { std::tout << pntsAry.size() << std::endl ; if (pntsAry.size() > 0) { Vd3A pnts = pntsAry[0] ; std::tout << pnts.size() << std::endl ; } tstring str = ::v_V3_To_tstring(pntsAry,_T(",")) ; { std::tout << str << std::endl ; } ::SaveText(dmpName.c_str(),str) ; } v_Vd2A txuvAry = ::SetTextureUV(pntsAry) ; pntsAry = ::V3_Scale (pntsAry,Vd3(20.)) ; Gons1 gons1 = ::Gons_BuildFace(pntsAry,txuvAry,dibPath.c_str()) ; GonsA ga ; ga.push_back(gons1) ; Ed3 es = ::GonsA_GetExtent(ga) ; { std::tout << imoPath << _T("\t") ; std::tout << ::V3_To_tstring(es.Volume()) << std::endl ; } if (es.Volume() != Vd3(0)) { es = Ed3(es.L*0.01,es.G*0.01) ; ::GonsA_ToOBJ(ga,imoPath.c_str()) ; ::HT_Make_three_js_html(imoPath.c_str(),es) ; } } } return true ; } //******************************************************************************* // Make BG // Create : 2018/04/19 //******************************************************************************* int _tmain (int argc,TCHAR* argv[]) { _tsetlocale(LC_ALL,_T("")) ; { double s = sin(rad(30)) ; double c = cos(rad(30)) ; std::tout << ::To_tstring(rad(30)) << _T("\t") << ::To_tstring(s) << _T("\t") << ::To_tstring(c) << std::endl ; } if (argc > 1) { v_tstring argAry ; for (int index=1 ; index<argc ; index++) { tstring av = argv[index] ; ::MakeBG(av) ; } } else { tstring buf ; buf.resize(1000) ; { while (std::terr << _T("dib ? =") , std::tin.getline(&buf[0],buf.size())) { tstring str = buf.c_str() ; if (str == _T("q")) { break ; } else if (str == _T("Q")) { break ; } str = ::QuotM_Del_All(str) ; if (str.empty()) { continue ; } if (::File_IsNothing(str)) { continue ; } tstring dib_file = str ; ::MakeBG(dib_file) ; } } } return 0 ; } #include "MessBar.cxx"
今度は,DS116 でビルドして実行すると,
Iwao@DS116:/var/.../Test/up_bg/data$ ./a.out 0.523599 98314745853377985068733249901357667205561433229409406145971019710277043155206326909160297391588106447153156445277590513896008090831662627743743127151181611161993303763348552511914898438567008016612049817143085994563143448055356356529593034366351316506187159487365573007925410016860727208738652774465536.000000 98321247861193438769252981549279948821735544950351014769381393881588573259178110828643912278175146924986161470094082713103803921735703931192359519739047155548857037547932930737608178537416409042994283830606984599100883034181136178714087912736395732787698542049681305006129736011480288874859116047106048.000000 dib ? =
本当は,
C:\Users\Iwao\...\i_Tools.tmp>\\DevXP\C_Drive\Temp\DS11x\MakeBG\Release.060\MakeBG.exe 0.523599 0.500000 0.866025 dib ? =
cmath が使えない様で,検索すると「-lm でコンパイルが通る」と言うのは見つかる.
が,コンパイルの問題ではなく,実行でうまくない.
当然ではあるが,DS115j でも同様.
試しに,opkg update と opkg install gcc .
root@DS116:/var/…/Iwao# opkg update
Downloading http://pkg.entware.net/binaries/armv7/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/packages
root@DS116:/var/…/Iwao# opkg install gcc
Upgrading gcc on root from 6.3.0-1 to 6.3.0-1a…
Downloading http://pkg.entware.net/binaries/armv7/gcc_6.3.0-1a_armv7soft.ipk
Configuring gcc.
root@DS116:/var/…/Iwao#
もう一度,ビルドして実行すると,
Iwao@DS116:/var/…/Test/up_bg/data$ g++ MakeBG.cpp
Iwao@DS116:/var/…/Test/up_bg/data$ ./a.out
0.523599 0.500000 0.866025
dib ? =
予想以上に時間がかかってしまったが,何とか…
daikoku_edit.html
2019/02/13 リンクなどを修正
PHP $_FILES
やってないとすぐ忘れてしまうのでメモ.
PHP マニュアル POST メソッドによるアップロード
php 側での次の様な取り出し.
$tempfile = $_FILES[‘fname‘][‘tmp_name’];
‘fname‘ にあたる部分は,input タグの name 属性.
<input type=”file” name =”fname” accept=”.jpg,.png”>
CHttpFile でのアップロード の場合は,汎用的になる様に処理している.
function uf_upload_files () { $d_dir = uf_get_upload_folder() ; // echo $d_dir . "<br/>\r\n" ; $up_status = false ; foreach ($_FILES as $keys => $values) { $file_e = $values ; $tempfile = $file_e['tmp_name'] ; $filename = $d_dir . $file_e['name'] ; $filename = uf_get_up_file_name($filename) ; if (is_uploaded_file($tempfile)) { $up_status = move_uploaded_file($tempfile,$filename) ; } } return $up_status ; }
アップロード先のアクセス権
次の様な htm と php で,画像をアップできる所を用意.
up.htm
<!DOCTYPE html> <html lang="ja" > <head > <meta charset="UTF-8" /> </head> <body > <form action="http:./up.php" method="post" enctype="multipart/form-data"> <input type="file" name ="fname" accept=".jpg,.png"> <input type="submit" value="upload"> </form> </body> </html>
up.php
<?php $tempfile = $_FILES['fname']['tmp_name']; $fileName = './data/' . $_FILES['fname']['name'] ; $up_status = false ; if (is_uploaded_file($tempfile)) { $up_status = move_uploaded_file($tempfile , $fileName ) ; } $frm_src = './' ; if ($up_status) { $frm_src = $fileName ; } header("Location: {$frm_src}") ; ?>
これらのファイルとアップ先のフォルダを用意しただけでは,アクセス権がないのでアップロードできない.
以前は,DSM に入り「File Station」で「権限」を設定していた.
今まで面倒と思いつつ,試しに Windows 環境からアクセス権を「読み取り(RX)(RX)」から「変更」に.
File Station で設定したものと少し異なるが,それなりに動作してそう.
WinFile.exe
Google ニュースで,次の内容を見つけた.
Windows 3.x時代の“ファイルマネージャ”がオープンソース化で復活~Windows 10でも利用可能に
WinXP までは,1999/10/14 8:00:00 の WinFile.exe を使用している.
Win7 でも動作させるための方法があって,試したこともあるがうまく動作しなかった.
Windows File Manager revived
次の所から落として動作を確認してみた.
WinFile v10.0 – Sharing 10 years of improvements
Winfile_orig_plus.zip の方がオリジナルに近いのでやってみたが,設定情報が保存されないみたい.
Winfile_v10.0.zip は,「Properties」などが新しくなってしまっている.
2019/05 v10.0.1901.1 で内容を更新しています.
WinFile.exe v10.0.1901.1
コンソール AP で C2065 C2059
コンソール AP で,ビルドすると
--------------------構成: T_S_xxx - Win32 Debug-------------------- コンパイル中... T_S_xxx.cpp \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'CListCtrl' : 定義されていない識別子です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'ctrl' : 定義されていない識別子です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2059: 構文エラー : 'const' \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2143: 構文エラー : ';' が '{' の前に必要です。 \\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?) ... \\devs\documents\develop\_.src\_yet\list.hxx(159) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。 \\devs\documents\develop\_.src\_yet\list.hxx(169) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。 ... \\devs\documents\develop\_.src\...\.....cpp(2017) : fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。 cl.exe の実行エラー T_S_xxx.exe - エラー 24、警告 0
#include <AfxCmn.h> を追加.
MAPI の MapiFileDesc の配列
MFC を使用している方法では,
LateDelete ld ; // MultiByte の必要があるようなので,UNICODE の時のバッファをここに登録 // 添付ファイルの準備 CArray<MapiFileDesc,MapiFileDesc> fileDescA ; int fileCount = 0 ; int index = 0 ; for (index=0 ; index<PathNames.GetSize() ; index++) { CString pathName = PathNames[index] ; if (::FileIsNothing (pathName)) { continue ; } if (::FileIsDirectory(pathName)) { continue ; } MapiFileDesc fileDesc ; memset(&fileDesc,0,sizeof(MapiFileDesc)) ; fileDesc.nPosition = (ULONG)-1 ; #ifdef _UNICODE fileDesc.lpszPathName = SendMail__ChangeMultiByte(PathNames[index],&ld) ; fileDesc.lpszFileName = SendMail__ChangeMultiByte(FileNames[index],&ld) ; #else fileDesc.lpszPathName = LPSTR(LPCTSTR(PathNames[index])) ; fileDesc.lpszFileName = LPSTR(LPCTSTR(FileNames[index])) ; #endif fileDescA.Add(fileDesc) ; fileCount++ ; }
MFC を使用しないコードは,
std::vector<MapiFileDesc> fileDescA ; std::vector<std::string> pathNameA ; std::vector<std::string> fileNameA ; int index = 0 ; { for (index=0 ; index<PathNames.GetSize() ; index++) { { tstring pathName = PathNames[index] ; if (::File_IsNothing (pathName)) { continue ; } if (::File_IsDirectory(pathName)) { continue ; } } std::string pathName= ::To__string(PathNames[index]) ; std::string fileName= ::To__string(FileNames[index]) ; pathNameA.push_back(pathName) ; fileNameA.push_back(fileName) ; } { for (size_t index=0 ; index<pathNameA.size()&&index<fileNameA.size() ; index++) { MapiFileDesc fileDesc ; memset(&fileDesc,0,sizeof(MapiFileDesc)) ; fileDesc.nPosition = (ULONG)-1 ; fileDesc.lpszPathName = &(pathNameA[index])[0] ; fileDesc.lpszFileName = &(fileNameA[index])[0] ; fileDescA.push_back(fileDesc) ; } } }
詳しくは見てないが,幾つかの方法が書かれていたので
Sending Email with MAPI
MapiRecipDesc.lpszAddress の “smtp:”
以前コードを直したのが 2002/4 であまり情報がなかった様に思う.
個人的に書いた内容が「Outlook で配信不能になる」
参考になりそうな所
Email mit Dateien perWinAPI versenden??
MAPISendMail
MSDN MapiRecipDesc structure
Sending email using MAPI causes error on ‘ResolveName’ function in Window7
MAPI を使用した複数ファイルの送信
S_Mail.hxx
空のコンソール AP で C2065 C2146
空のコンソール AP プロジェクトで,ビルドすると
--------------------構成: MkBG_up - Win32 Debug-------------------- コンパイル中... MkBG_up.cpp \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'MessageCon' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'bar' : 定義されていない識別子です。 \\devs\documents\develop\_.src\__cpr_\straryfn.hxx(258) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\messbar.hxx(23) : warning C4005: 'MessageBar' : マクロが再定義されました。 s:\develop\vc_test\_3d\mkbg_up\mkbg_up.cpp(19) : 'MessageBar' の前の定義を確認してください \\devs\documents\develop\_.src\__cpr_\openfile.hxx(56) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__cpr_\openfile.hxx(66) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(342) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(346) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(412) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(419) : error C2228: '.SetBarMax' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\enumfile.hxx(420) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 .... \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(66) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(67) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(68) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。 \\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(72) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。 cl.exe の実行エラー MkBG_up.exe - エラー 53、警告 1
リビルドすると通る.
「プリコンパイル済みヘッダーを自動的に使用」になっているためで,
「プリコンパイル済みヘッダを使用しない」にするか,pch を正しく指定する.
半年ほど前にも同じ記事を書いてた.
VC 6 LNK2001 __beginthreadex
空のコンソール AP プロジェクトで,Afx.h を追加でインクルードしてビルドすると,
--------------------構成: MkBG_up - Win32 Debug-------------------- リンク中... nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__endthreadex" は未解決です nafxcwd.lib(thrdcore.obj) : error LNK2001: 外部シンボル "__beginthreadex" は未解決です c:\Temp\Test_3D\MkBG_up\Debug.060/MkBG_up.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー MkBG_up.exe - エラー 3、警告 0
プロジェクトの設定で「共有 DLL で MFC を使用」などに変更.
2018/06/29 追記
エラーが出た直後の場合は,リビルドが必要.
Cardboard と WebGL
Cardboard で撮った画像を,WebGL の背景として利用してみた.
もう少しうまく貼れればと思うが,方法がわからない.
球に貼っているため縦方向に引き伸ばされてしまう.
以下,画像は 横:縦 = 2:1 に編集している.
このすぐ下は,SceneJS を使用したもの.
2018/04/27 画像をアップロードできるページ
360度パノラマ画像の表示