レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
B11 と readcgi.js のスレ#9 @避難所
API設定2のB11バグ報告用テンプレとAPI設定4の赤枠内のUA・設定情報
及び上手く動作しない板urlやスレurlが添付されてない質問・報告はスルーします
https://i.imgur.com/9mKMm1v.png
https://i.imgur.com/TongjO7.png
前スレ
B11 と readcgi.js のスレ#8 @避難所
http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1587720634/
OpenJDK15だとv2c_sync_B11.txtが動かなくなった。
https://openjdk.java.net/jeps/372 のせいかな。
14に戻して使うから困ってないけど、報告だけ。
これでいいんだっけ?
タイトル: スクリプトエラー: Sync2ch同期
メッセージ: スクリプト名 JavaScript のScriptEngineを取得できませんでした。
【V2C】 3.0.3+ (V2C-R+) [S20151112] (L-0.7.0:amd64)
【Java】 15+36-1562 (Oracle Corporation)
【OS】 Windows 10 10.0 (amd64)
【メモリ】 Total(Free)/Max.: 47(24)/1844 (Phys. Total/Avail.: 32645/9174) [MB]
【Rhinoスクリプトエンジン】 なし
【systemスクリプト】
【ReplaceStr,URLExec等】 ImageViewURLReplace.dat
【2ch板一覧取得URL】 http://menu.2ch.net/bbsmenu.html (最終更新日:2020/06/08 23:56:48)
【起動時に2chの板一覧を更新】 チェック済
【レス表示フォント】 MS Pゴシック
【指定フォントにない文字は他のフォントを使用】 未チェック
【代替 (AA用)フォント】 MS Pゴシック
【その他 (UI用)フォント】 MS UI Gothic
【おπ送りを監視する】 チェック済
【2chAPIパッチ】 B11.28.6 For V2C-R+ API & read.cgi
【B11スクリプト】 readcgi.js(2019/08/17 09:13:41), readcgi_aux.js(2020/05/11 22:56:59)
【B11用 ReplaceStr.txt】 ReplaceStr_B11.txt(2019/08/17 10:52:21)
【B11用 URLExec.dat】 URLExec_B11.dat(2019/01/28 14:54:55)
【UA(API DAT取得)】 Monazilla/1.00 (Ciisaa/1.41 (A))
【UA(API 書き込み)】 Monazilla/1.00 (Ciisaa/1.41 (A))
【UA(read.cgi ページ取得)】 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
【UA(read.cgi 書き込み)】 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36
【不具合内容】
【不具合URL(「すべて」禁止)】
【再現方法】
【調査済項目】
1式、4式、read.cgiオンリーでの5ちゃんレス書き込み時に何をやってるかが少しだけ分かる動画
https://www.dropbox.com/s/s0qae9km4fa4voe/firefox.mp4?dl=0
芸スポ+にFireFoxで4回レスを書き込んでます
1回目
ちゃんと投稿欄に入力して書き込む
2回目
UAをChrome(Win7 32bit)に偽装して書き込み
→ 1式、4式、read.cgiオンリーでUAをWEBブラウザのUAに偽装するのと同じ操作
→ OK
3回目
さらにAcceptをChrome(Win7 32bit)に偽装して書き込み
→ B11.28.6でAPI設定4に追加したAcceptパラメータを利用してるイメージ
→ 余所
4回目
3回目で修正したAcceptから ,application/signed-exchange;v=b3;q=0.9 を取り除く
→ B11.28.6で「調査支援設定」ボタンを押した状態
→ OK
どーも、芸スポ+にFFやChromeなどのWEBブラウザのUAで書き込むと
Accepctに application/signed-exchange;v=b3;q=0.9 があると
余所規制が掛かるようです
>>233
>JEP 372: Remove the Nashorn JavaScript Engine
多分それのせい
本家・Z用のパッチのlauncherフォルダから
js-engine.jar
rhino.jar
の2つを取りだしてパッチと同じフォルダに置いて
V2CをOracleJDK15で再起動してみて下さい
上手く行けば動くかも
>>234
続き
https://www.dropbox.com/s/wswnsr8eepmy0w9/firefox2.mp4?dl=0
芸スポ+にFireFoxで3回レスを書き込んでます
UAは全てFireFoxのUAです
1回目
ちゃんと投稿欄に入力して書き込む
2回目
Acceptに application/signed-exchange;v=b3;q=0.9 を追加
→ 余所
3回目
Acceptから application/signed-exchange;v=b3;q=0.9 を取り除く
→ OK
何をしたいのかはわかりませんが
芸スポ+には application/signed-exchange;v=b3;q=0.9 で規制を掛けてる模様
>>235
それでRhinoで動いてる感じです
どうも
V2C側で未読を無くしたのをChMateに反映させるパターンを試して成功
GraalJSに入れ替えを試みてるけどよく分からない
外付けのみじゃだめかな?
丸ごとGraalVMにした時にrhino.jar無しでSync2chが動くのは確認したけど
Nashornを使ってるのかも
【Java】 11.0.8+10-jvmci-20.2-b03 (GraalVM Community)
>>237
Rhinoが動くって先に書いとけばよかったですね
B11のjarはV2C全体で見たら通信周りとその他一部の機能しか入ってなくて
画面を表示するにはV2C本体のjarが必要になります(取り込む必要といってもいいかも)
同じようにRhinoを動かすためには、その実体のjs-engine.jarとrhino.jarが必要になります
B11のjarがV2C全体を動かすためにはどんなjarが必要になるかって情報は
claspathって名前で定義していて
V2C-R+の場合は
Class-Path: v2c_extra_patch_open2ch.jar v2c_twitter_patch.jar V2C_S20140316.jar V2C_S20151112.jar V2C_S20151029.jar V2C_S20150531.jar V2C_A20180209.jar V2C_S20171007.jar V2C_S20170927.jar js-engine.jar rhino.jar bcprov-jdk15on.jar WebP_luciad-webp-imageio.jar
な感じで動かすのに必要なjaeの名前をB11内で予め宣言しています
(必ず必要なわけではなく、名前が載ってるjarを取りこむ、同じ機能の場合は先に名前が出てるほうを優先)
ここからは初めて見聞きしたことに対しての想像なので的外れなのかもですが
外付けのGraalJS(なんとか.jarとかって名前のファイルがあるって想定です)を取り込みたいなら
その実体の名前を上のリストに登録する必要があるんですが、このリストは作者しか直せないので
Rhinoの実体のjs-engine.jarとrhino.jarをパッチと同じフォルダから外して
GraalJSの実体をパッチと同じフォルダに移してbcprov-jdk15on.jarに変えたらもしかしたらワンチャンあるかもしれません
(bcprov-jdk15on.jarはTLS1.2っていうhttps接続用の機能なんですがOracle15だからTLS1.2は標準機能なはず)
リスト上のjarの名前と機能に関連性がある必要はないので名前を借りて外付けを取り込ませてみようって考えです
https://www.hos.co.jp/blog/20181009/
必要最小限の jar は以下の場所に格納されているはずです。
graalvm/graaljs/graal-js/mxbuild/dists/graaljs.jar
graalvm/graaljs/graal-js/mxbuild/dists/graaljs-scriptengine.jar
graalvm/graal/sdk/mxbuild/dists/graal-sdk.jar
graalvm/graal/truffle/mxbuild/dists/truffle-api.jar
graalvm/graal/regex/mxbuild/dists/tregex.jar
こんだけあるのか
だとしたらbcprov-jdk15on.jarだけじゃたりないから
V2C_S20140316.jar V2C_S20151112.jar V2C_S20151029.jar V2C_S20150531.jar V2C_A20180209.jar V2C_S20171007.jar V2C_S20170927.jar
ら辺から使ってないjarの名前を使い回さなきゃかも
>>239
GraalJSを使うのは自分の興味本位だったんですが
丁寧にご対応いただいて恐縮です
Windows環境なのでビルドはとりあえず諦めて、
ビルド済みのGraalVMに同梱されているjarを取ってきて、
足りないgraal-sdk-20.2.0.jarとjs-scriptengine-20.2.0.jar(graaljs-scriptengine.jar相当)は
Mavenにあったのを取ってきました
ttps://repo1.maven.org/maven2/org/graalvm/sdk/graal-sdk/20.2.0/graal-sdk-20.2.0.jar
ttps://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/20.2.0/js-scriptengine-20.2.0.jar
20.2.0はそのページに書いてあるjarの他にicu4j.jarも必要でしたが
GraalVMに同梱されていたのでそれを使い
そのページにある動作確認コードは両方動きました
ちょっと数が多いのでv2c_api_patch_B11_for_RPlus.jarのMANIFEST.MFを書き換えて
これらのjarをClass-Pathに書き足したのですが
それだけでは、Sync2ch実行時に以下のエラーで動作しませんでした。
タイトル: スクリプトエラー: Sync2ch同期
メッセージ: Rhino ScriptEngineを取得できませんでした。
Class-Pathを変える前は
メッセージ: スクリプト名 JavaScript のScriptEngineを取得できませんでした。
だったので、変化はしていますが、まだ何か足りないようです
ぼちぼち調べてみます
>>240
R+のソースを見てみたんですが
https://i.imgur.com/MMTdvEB.png
となってて
まず、
"スクリプト名 " + scriptLanguage + " のScriptEngineを取得できませんでした。"
のチェックが先でこれをパスしたら
"Rhino ScriptEngineを取得できませんでした。"
となるようです
なのでスクリプトエンジンは登録されたようなんですが
スクリプトエンジンの名前が graal.js か何のため(RhinoでもNashornでもないため)
"Rhino ScriptEngineを取得できませんでした。"
のエラーとなってるようです
で、そこを回避するためにはその処理をやってるclassを丸ごと
V2C-R+として直すか、B11に取り込むか
のソース修正が伴いそうなので、現実的には外付けgraal.jsの適用は難しいと思います
じゃあなぜVMで動くかのという謎
名前を持ってるclassのjarファイルのビルドが違うんだろうか?
>>240
取得できませんでした
を返すソースの修正が案外楽に寸断でちょっと遊んでみてます
>MANIFEST.MFを書き換えて
>これらのjarをClass-Pathに書き足したのですが
MANIFEST.MFの該当部分のjarを教えて下さい
B11に取り込んでテスト版を作ってみたいと思います
(上手く行けばR+と+では次に繋がるので)
>>243
Class-Pathは単純に書き足して、こうしてます
Class-Path: v2c_extra_patch_open2ch.jar v2c_twitter_patch.jar V2C_S201
40316.jar V2C_S20151112.jar V2C_S20151029.jar V2C_S20150531.jar V2C_A
20180209.jar V2C_S20171007.jar V2C_S20170927.jar js-engine.jar rhino.
jar bcprov-jdk15on.jar WebP_luciad-webp-imageio.jar graaljs.jar graal-sdk-20.2.0.jar js-scriptengine-20.2.0.jar tregex.jar truffle-api.jar icu4j.jar
ちゃんぽんなので再現は面倒かもですが
ttps://repo1.maven.org/maven2/org/graalvm/sdk/graal-sdk/20.2.0/graal-sdk-20.2.0.jar
と
ttps://repo1.maven.org/maven2/org/graalvm/js/js-scriptengine/20.2.0/js-scriptengine-20.2.0.jar
と
それ以外は全て ttps://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-20.2.0
のgraalvm-ce-java11-windows-amd64-20.2.0.zip
の中から入手しています
OpenJDK15+上記jar一式にしろ、GraalVMにしろ、GraalJSの
getFactory().getEngineName()の戻り値は"Graal.js"でした
GraalVMはOpenJDK11+αなので、getEngineFactories()では
"Oracle Nashorn"も得られました
GraalVMで動いたのはやっぱりNashornが使われたからみたいですね
>>244
もしかしてビルドできる人かな?
R+用B11テスト版(B11.28.6.1T)です
https://www.dropbox.com/s/sxwg6ljrvxqqzjp/v2c_api_patch_B11_for_RPlus.zip?dl=1
Class-Pathはレスのをそのままコピペ
getFactory().getEngineName()のチェックは "Graal" が含まれる
https://i.imgur.com/SbmWzX8.png
にしました
当方Win7 32bitなんで15(スクリプトエンジンをない環境)を作れないので
ノーテストの一発勝負で申し訳なんですが良かったら試してみてください
GraalVMはどっかのサイトで紹介記事を読んだ時に
超便利的な紹介があったけどVMではV2Cが動かないものだと思ってました
>>230
みんなさ、お世話になってるんだから
このスレ読んでやってよ
結構切実だよ
もし>>245 が動いて(スクリプトの作法に若干違いがあるかもだけど)実用に耐えられるようなら
RとR+と+は予め適用を考えたほうがいいのかも
本家、MODとその派生はRhino以外のスクリプトエンジンを動かした場合が全くの未知数なんで
入れるけど動かなかったらゴメンね
R3はJavaFXの絡み(鬼のオラクルがJavaFXで散々夢を見させておいてアッサリJavaFXを切り捨てるという悪魔の所業)のせいで
Java8でしか動かないんで対応不要
ただGraalJSの実体のjarを揃えるのが一番ハードルが高そう
>>247
よろしかったらお願いします>ALL
なんか遺言っぽいですがw
自分が触る時間を取れなくなってもいいように
readcgiモードはjsにして外出しとか
https化も終らせて
書き込みも1式UAや板単位の4式UAを作ってAcceptも弄れるようにしたんで
今後も愛と勇気と工夫で大概のことは乗り越えられると思います
PayPalで寄付じゃアカンのか?
>>245
Javaのビルドの一般的なことは分かりますが、V2Cのビルドはやり方が分かってない人です
R+用B11テスト版(B11.28.6.1T)ですが、もう少しな感じですが、まだ動かせていないです
今日はここまでにします
到達したところを書き残します
まず、jarを置き換えただけだと、以下のエラーになります
タイトル: スクリプトエラー: Sync2ch同期
メッセージ: スクリプトの実行中にエラーが発生しました。
org.graalvm.polyglot.PolyglotException: TypeError: invokeMember (println) on org.monazilla.v2c.MyV2CScriptApp@43efe7c3 failed due to: Unknown identifier: println
ttps://github.com/oracle/graal/issues/1257 を見るとサンドボックスのせいらしいので
ひとまずお手軽回避で無効化するために
launcher/v2cparms.txt を作って以下を記載
auxargs=-Dpolyglot.js.nashorn-compat=true
ここまでやると、同期を開始しようとした時にIDとパスワードがconf.txtから
読み取れなくて同期設定画面が出る、という状態になりました
原因の1つが、d()で配列の生成をNashornじゃなければ全部Rhino方式にしていたので
GraalでもNashornと同じ方式にするように修正
if ((''+v2c.scriptEngineName).indexOf('Nashorn') != -1 || (''+v2c.scriptEngineName).indexOf('Graal') != -1) {
ここまでは直せたけど、次が未解決
key()などで java.lang.System.getProperty("os.version")
のようにシステムプロパティにアクセスしているところが動かないです
システムコンソールで以下エラーになります
(intermediate value).lang.System.getProperty is not a function
Nashornからの移行ガイドを見ると-Dpolyglot.js.nashorn-compat=trueを指定すれば
行けそうに見えるんですが
ttps://github.com/graalvm/graaljs/blob/master/docs/user/NashornMigrationGuide.md
V2C越しじゃなくてGraalJSに付属のjsコマンドで
js --experimental-options --js.nashorn-compat=true
で起動させても同じエラーです
ググると過去にはこれで実行できていた記載が出てくるので
GraalJSのどこかのバージョンで仕様が変わったのかなぁと思ってます
ってところまでです
何も分からない人間がネットサーフィンした結果ですが
https://logico-jp.io/2020/03/24/nashorn-removal-graalvm-to-the-rescue/
の
var sys = Java.type('java.lang.System');
var javaVersion = sys.getProperties().getProperty("java.version");
な書き方とかどうでしょう?
おやすみなさい
#なんちゃってJavaerにハードルが高いw
やっぱドブ板コードだとRhino-Nashorn-GraalJS間で大きな違いはないけど
オサレなことをやろうとするとチョイチョイ違いがでてくるのかな?
>>253 を試してみました
環境としては
・OracleJDK15の環境を作れないので AdoptOpenJDK14+36
・B11はスクリプトエンジンとしてGraalのみ受け付けるように暫定修正
・v2c_sync_B11.txtに>>252 と>>253 を取り込み
・Java.typeのせいかパーミッションで "*"が"read,write"を要求するようになったので"read"から"read,write"に修正
https://i.imgur.com/WyuBIPN.png
結果としては
・v2c_sync_B11.txtを使用すると
Access to host class java.lang.System is not allowed or does not exist.
・readcgi.jsを使用すると
スクリプト実行エラー: org.graalvm.polyglot.PolyglotException: java.lang.NoClassDefFoundError: Could not initialize class com.oracle.truffle.regex.tregex.nodes.TRegexExecutorEntryNode
・Flameクラスをインポートして使用するjsを使用すると
https://i.imgur.com/31MuSnZ.png
です
結果の1番目と3番目をみるとJavaクラスのインポートが出来てないような気がします
#(intermediate value).lang.System.getProperty is not a functionもそんな感じ
https://www.hos.co.jp/blog/20181009/ を見ると
尚、Graaljs は Nashorn と同様に JavaImporter を使用する場合 “nashorn:mozilla_compat.js” のロードと、”-Dpolyglot.js.nashorn-compat=true” オプションの指定が必要になります
とあるので
“nashorn:mozilla_compat.js” のロード
をしたげなきゃっぽいんですが
それどこにあるの?どう使うの?
状態です
>>255
Javaクラスがインポートできないのは、V2C上で動かしていることが影響してそうです
こちらもAdoptOpenJDK 14+36 Windows x86で試したのですが、
このTest.javaは、
--------
import javax.script.*;
public class Test {
public static void main(String[] args) {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("JavaScript");
System.out.println(engine.getFactory().getEngineName());
try {
Object result = engine.eval("java.lang.System.getProperty('os.name');");
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
}
}
--------
java -classpath "graaljs.jar;graal-sdk-20.2.0.jar;js-scriptengine-20.2.0.jar;tregex.jar;truffle-api.jar;icu4j.jar;(Test.classの場所)" -Dpolyglot.js.nashorn-compat=true Test
でちゃんと動くのですよね
GraalVMに付属のjsコマンドでもgetProperty is not a functionと言われていたのは
教えていただいた ttps://logico-jp.io/2020/03/24/nashorn-removal-graalvm-to-the-rescue/
に書いてあった--jvmオプションで解決することが分かりました
--------
C:\jdk-graal\languages\js\bin>js --experimental-options --js.nashorn-compat=true
> java.lang.System.getProperty('os.name');
TypeError: (intermediate value).lang.System.getProperty is not a function
at <js> :program(<shell>:1:1:0-38)
> quit();
C:\jdk-graal\languages\js\bin>js --experimental-options --js.nashorn-compat=true --jvm
> java.lang.System.getProperty('os.name');
Windows 10
> quit();
--------
V2C.exe経由で起動する時にjsの--jvmと同等のことができればよいかもしれないですが
具体的な方法は分からずです
Access to host class java.lang.System is not allowed or does not exist.
については、同じ状態を再現できていないので確証はないですが
not allowedの方でひっかかっているなら、以下でアクセス許可してやればよいかもしれないです
>>254 のコードでいうとL257の次あたりに
--------
if (str1.indexOf("Graal") >= 0) {
Bindings bindings = localScriptEngine.getBindings(ScriptContext.ENGINE_SCOPE);
bindings.put("polyglot.js.allowAllAccess", true);
}
--------
参考文献
ttps://github.com/graalvm/graaljs/blob/master/docs/user/ScriptEngine.md#setting-options-via-bindings
クッキー消さないと当分お断りしますが出て書けないのほんとうざいなぁ
5ch運営どうなってんのよ
>>256 自己レス
「>>254 のコード」は「>>245 のコード」の書き間違いでした
load("nashorn:mozilla_compat.js") は-Dpolyglot.js.nashorn-compat=trueを付けていれば
本当にこう書くだけで呼び出せるようです
ファイルじゃなくてURLみたいなものなのだと思います
ttps://github.com/graalvm/graaljs/blob/master/docs/user/NashornMigrationGuide.md
JavaのドキュメントにはこれでJFrameを使うサンプルが出ていました
ttps://docs.oracle.com/javase/jp/13/scripting/using-java-scripts.html#GUID-F725315F-2F0C-48EF-A48B-5E0333B13209
有り難くこちらの対策を使わせて貰ってましたが、
17日からニュー速+に何をしても書き込めなかったのに
昨日の夜から突然書き込めるようになった
アレは一体何だったんだろうか
>>259
未対策verで今試したら他所でやってくださいだったよ
>>259
こちらの想定内だと
B11.28.6にしてAPI設定の「調査支援設定」ボタンを押したのでは?
今そのボタンを押すとAPI設定4(4式)が
https://i.imgur.com/MCrVaa5.png
となってニュー速+に書き込めるようになります
API設定4が上の画像と異なるらな書き込みに使ってるUA固有の問題です
うーん
わからない
今日はギブ
>>261
19日の夜に>220を入れて、その調査支援ボタンも押してからニュー速+書き込み → 余所
その後に>219を試すも → おいコラとかそんな感じの表示
日曜の昼に書き込んでみるも → 余所
日曜の夜に書き込んでみる → なぜか書き込める
難しい事は何一つ分かりませんし、対処法以外の対処を出来る知恵もありませんので、
多分おま環なんでしょうね
混乱させてすみません
>>263
クッキーに「TAKO=ODORI」が入ってたのかな?
固定IPじゃなかったらIPが自動で変わってた可能性もあるし
次バージョンで
書き込み時に送るクッキーにTAKO=ODORIが入ってたら
警告を出して書き込みをキャンセルするようにします
そうなったらV2Cを終了させてIP変えてクッキーを削除してみてください
TAKO=ODORIのクッキーに期限が来て消滅した可能性も
そこら辺は状況も向こうの仕様も分からないので
想像で標準な状態に戻す方法を模索するしか
>>264 の仕込みをするんでGraalは一旦お休みします
力技で何とかなるかと思ったけど甘かったです
視点を変えて
OracleJDK15で外付けGraalJSをどう動かすってアプローチじゃなくて
OracleJDK15でNashrnをどう動かすかってアプローチで考えてみました
Java8のlib/ext下に nashorn.jar ってjarファイルがあるんですが
これをB11のパッチと同じフォルダに置いてclasspathに追加したげれば
readcgi.js
v2c_sync_B11.txt
が動くことをAdoptOpenJDK15+36で確認しました
# ckassoathを自力で変えられる場合は nashorn.jar を追加
# ckassoathを自力で変えられない場合はB11が取り込めるように nashorn.jar を rhino.jar にリネームして使う
# rhinoと違ってjs-engineはいらない模様
>>267
【2chAPIパッチ】 B11.28.6 For V2C-R+ read.cgi Only
です
>>267
お疲れ様です
実用上はそれで問題ないと思います
GraalJSを使うのは個人的な興味でまったりやっていきます
連休も終わるので・・・
V2CSecretCookieLSを適当なモックで自作するしかコンパイルを通す方法が分からなかったのですが
一応v2c_api_patch_B11_for_RPlus.jarをビルドできたので
本体の修正も含めて調べてみます
今のところ、V2CJSE6Utilでエンジンを作った直後はjava.lang.Systemが使えるのですが
実際にスクリプトを実行するV2CEvalScriptAction#run()まで来た時は
使えなくなっていることが分かっています
スクリプト実行時には別スレッドを作ったり
V2CEvalScript#run()でクラスローダーを差し替えたりしているので
そのせいかなぁと当たりを付けています
>>269
お疲れさまです
了解です
自分のほうはJava15で切り捨てられてNashornをどうやって確保するかってアプローチだったんで
>>267 で今のところ目的を達しているので作業を〆ます
確認用にB11の修正やビルドが必要ならeclipseのプロジェクト(ライブラリ等は改めて定義してもら必要があります)を
提供しようかと思ってたけどいらないかな?
もし必要ならお声掛けください
B11.28.6.1Tのプロジェクトをお渡しします
スクリプト実行時には別スレッドを作ったり
V2CEvalScript#run()でクラスローダーを差し替えたりしているので
別空間で動いてるから
グローバルを引き継げないってやつかな?
サイトに書いてあった問題
>>270
まだ雑で、同期した後の処理が動いていなかったり
GraalJS以外で動かなくなっていないかどうか確認していないので
他人には配布できないですが、なんとかSync2ch同期は動きました
スクリプトからJavaのシステムプロパティを取得できない原因は、
V2CEvalScript#doScriptAction()で、vAccessControlContextで制限してスクリプトを
呼び出しているからでした
(正確には、これだとプロパティが取得できないだけでなく
Systemを含めjava.langのクラスが軒並み使えていない状態でした)
手抜きで var3 = AccessController.doPrivileged(var1); として
AccessControlContextなしで実行するように書き換えることでとりあえず回避できました
本当は必要なPermissionを調べるべきですがやっていません
ということはクラスローダーは白だったっぽいですが、これもまだ裏をとっていません
また、V2CJSE6Utilでエンジン作成直後にbindings.put("polyglot.js.allowHostAccess", true);
を呼んでおかないと、JavaScriptからJavaのオーバーロードメソッドを呼び出すところが
ほとんど解決できないので、呼び出すように書き換え
v2c_sync_B11.txt側は、
conf.favTabがStringなのをv2c.favorites.getFavorite(int)の引数に渡していたリ
v2c.getXXXFile()が返したFileをv2c.readFile(String)の引数に渡していたりするのを
RhinoやNashornではよろしく変換してくれていたようですがエラーになるので
片っ端から本来の型に変換するコードを挿入
これで「同期完了」表示が出るところまでは行けました
まだ型変換コードを完全に入れられてないせいだと思いますが
その後でエラーになっています
v2c_sync_B11.txtを頑張って完全に書き換えたとしても
他のスクリプトが動かないので
型変換ルールを教える方法を調べたほうがよさそうに思っています
とはいえ、時間切れ・・続きはまた連休のある時にでもやってみます
プロジェクトは今いただいても生かせなさそうなのでお気持ちだけ
ありがとうございます
>>272
>RhinoやNashornではよろしく変換してくれていたようですがエラーになるので
>片っ端から本来の型に変換するコードを挿入
型のだらしなさがJavascriptの良さだったのにw
あとPermissionで解決できたらいいかもですね
こちらはJava8対応してあるR2、R+、+で
Java8から取りだしたnashorn.jarとAdoptOpenJDK-15+36の組合せでのreadcgi.jsとSync2chの実行可能/不可能を試してみたら
V2C-R 2.11.8 OK
V2C-R+ OK
V2C+ NG
な感じでした
#動かしたのはこの2つだけ
#Javaのクラスで作る画面はことごとくエラーでした
#コーディングの仕方?
今日明日の話でもないのでこれもここで終わりです
次のパッチのclasspathにはとりあえずnashornを入れとくつもりです
V2C API Patch B11.28.6.1
https://www.dropbox.com/s/mvmf4kmh5oizhtp/v2c_api_patch_B11.28.6.1.zip?dl=1
1つのzipの中にパッチ全種を詰めてあります(手抜きです)
v2c_api_patch_B11.jar .2020/09/22 18:33:32
v2c_api_patch_B11_for_R2.11.8_on_MacOSX.jar 2020/09/22 18:35:30
v2c_api_patch_B11_for_Mac_Java5.jar 2020/09/22 18:37:18
v2c_api_patch_B11_for_RPlus.jar .2020/09/22 19:15:17
v2c_api_patch_B11_for_Plus_R20171103.jar .2020/09/22 18:39:57
v2c_api_patch_B11_for_V2C-R_A20180407.jar 2020/09/22 18:44:09
◆ 修正箇所
・API設定に「調査支援設定」ボタンに調査支援設定データの更新日を表示するように修正
https://i.imgur.com/vxA3BDX.png
・5ちゃんへの書き込み時、送信クッキーに「TAKO=ODORI」が存在する場合
警告を表示し書き込みをキャンセルするように修正
https://i.imgur.com/upBwFQM.png
かつての三種の神器のうちの二つの「クッキー削除」と「IPアドレス変更」をセットで促してますが
IP固定回線の場合に「クッキー削除」だけしてIPそのままだとどうなるかわからないです
申し訳です
・Nashornスクリプトエンジンが廃止されたJava15でもNashornが動くように修正
# V2C-R 2.11.8とV2C-R+のみ
# 添付のnashorn.jarをパッチと同じフォルダに入れてください(Java8 U261からのパクリです)
# V2C+は起動に失敗します
>>274
ありがとうございます
しっかり動作しました
>>220
ありがとうございますかきこめるようになりました
たまに書き込むとこれだw
4式に狼の
H:morningcoffee#Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0
を追加
R3はどうも一度規制を食らったら設定変えてもV2C-Rを再起動しないと
規制が解除されないみたい
いろいろとサボってたのを纏めてます
https://note.com/nono_2002
>>278
ゆっくり行きましょう
>>278
ほんと全然こっちは宣伝しないんだなあ
そういうところが素晴らしいとは思うけど
https://jbbs.shitaraba.net/bbs/read.cgi/internet/25472/1600517891/
みんな協力してやろうや
直接このスレには関係ないけど、R3絡みで今月頭から実験してたのがやっと形になったって小ネタ
Java8で鳴り物入りでインプリしたJavaFXを
Java9でアッサリ切り捨てるというOracleの鬼畜の所業のせいで
Java8でしか動かせないR3だけど
Java8からJavaFX関連のファイルをコピーしてlancherフォルダ
(MacOSXならV2C-R.appパッケージ内のJavaフォルダ)に置けば
そのJavaFXを使ってOpenJDKJava8やJava11、Java14でもV2C-Rを起動できる模様
(Java14までならNashornでスクリプトも動く)
https://i.imgur.com/lSWQPfr.png
Java8からコピーしてくるファイル
https://i.imgur.com/Tl6KQoV.png
WinとMacは動作を確認、linuxはその実績から必要ファイルを推測
ただ問題点が2つあって
一つがjfxrt.jarにクラスパスを通す必要がある(B11なら確認)
もう一つがJava8のjfxrt.jarがJava9で廃止されたクラスを見てるようでそのせいでJavaFXの表示処理で
java.lang.NoClassDefFoundError: sun/misc/SharedSecrets
のエラーが発生する
B11パッチ専用カラー絵文字 (Twitterカラー絵文字 V11.1対応)
https://www.dropbox.com/s/o093zrc5zyufmzc/TwitterEmoji_FullSet_V11.1_20200927.zip?dl=1
追加分 png画像:20x20
https://www.dropbox.com/s/o5m5ix5yqlhmcwx/TwitterEmoji_FullSet_V11.1_20181115%20Append.zip?dl=1
◆ 絵文字セット
imodeカラー絵文字 252個 12x12
→ imodeカラー絵文字はふたば・爆サイ表示スクリプトに添付されていた絵文字の転載です
Twitterカラー絵文字 2896個 12x12,16x16,24x24 (オリジナルの72x72をリサイズ)
→ Twemji V11.1 (http://twitter.github.io/twemoji/ https://github.com/twitter/twemoji/releases/) +αです
◆ Twitterカラー絵文字のライセンスは
「Code licensed under MIT. Graphics licensed under CC-BY 4.0」
です
CC-BY要約:https://creativecommons.org/licenses/by/4.0/deed.ja
◆ 更新内容
絵文字の追加はありません
絵文字入力パレットがV2C-R系のNashornで動かなかったのを修正
TwitterColorEmojiPallet.js 2020/09/27 12:41
こんな機能です
https://www.dropbox.com/s/1utysvll26bzwej/emoji.mp4?dl=0
アイコンクリックでアイコンが反応してるように見えますが反応はキャプチャソフトの機能で
パレット自体はクリックしても無反応です、 あと結構モッサリしててクリックを拾わない場合もあります
添付のreadme.txtは古いです
◆ 必要な設定
・ハイライトの機能を利用して表示しているのでハイライトの定義が必要となります
「ファビコン用」というチェックボックスがすべてオフのハイライト定義を登録してください
https://i.imgur.com/kxzdWc4.png
・添付のmsgkw.txtは個人利用しているものをそのままあげてしまったため
youtubeのurlに対してアイコンがついてしまいます
回避のためにmsgkw.txtの113行目から116行目の各行の先頭に ;; を挿入してください
◆ コピーに関して
レスをマウスで範囲選択した場合は絵文字はコピーされませんが
右クリからコピーを選んだ場合は絵文字もコピーされます
(右クリからのコピーの場合は表示内容ではなくオリジナルの状態をコピーするため)
◆ 備考
本文のみカラー絵文字を表示します
スレタイ、名前欄にはカラー絵文字は表示されません
ファイル配置の際は
https://v2c.kaz-ic.net/wiki/?%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB #x22d8cd3 を
参考のこと
linuxではunifontというフォントが悪さをして絵文字の横にZWSP(ゼロ幅スペース)印の豆腐が表示される場合があります
その場合は http://jbbs.shitaraba.net/bbs/read.cgi/computer/43680/1504427627/106
MacのフリーフォントではZWSP(ゼロ幅スペース)を正しく扱えずに絵文字の後ろに全角空白(っぽい隙間)が
表示される場合があります
カラー絵文字を表示できなかった絵文字は白黒フォント絵文字が適用され
どのフォントが選択されるかはJavaバージョン、OSにより異なります
一度に書けなかったので分割しました
いわゆる小物です
noteのほうの下書き(ほんと殴り書き)と>>282 で今夜くらいにBOOTHを回そうかと思います
(何のこと?って方は>>230 )
こちらではあまり直接触れないようにしたいと思います
JavaScriptサポートなしのJREで動かしてみた(V2C本家 + API Patch B11.28.6.1)
自ビルド・ZuluビルドのOpenJDK7(JavaScriptサポートなし)
nashorn-backport https://github.com/wro4j/nashorn-backport をビルドしてnashorn.jarをlauncherフォルダに置くと動く
ZuluのJava7は>>77-89 も参照
Java15
APIパッチ添付のnashorn.jarをlauncherフォルダに置くと動く
あるいは
ScriptEngineがサポートされたRhino最新版(1.7.13)を落として
rhino-engine-1.7.13.jar=>js-engine.jar rhino-runtime-1.7.13.jar=>rhino.jarにしてlauncherフォルダに置くと動く
>>286
乙です
こないだjs-engine対応のつもりでrhino-1.7.3を動かしてみたけど動かなかったのって
rhino-engine-1.7.13.ja は js-engine.jar にリネームしたけど
rhino-runtime-1.7.13.jar じゃなくて、今までの感覚で rhino-1.7.13.jar を rhino.jarにリネームしたからか
Zulu7
MacOSXでも動けばいいのにね
あ、すいません勘違いしてました
Zulu7 はmacOS 10.13 or laterで動きますね
改めてまことに申し訳ないお願いです
http://jbbs.shitaraba.net/bbs/read.cgi/internet/25472/1600517891/1-5
http://jbbs.shitaraba.net/bbs/read.cgi/internet/25472/1600517891/45
乙
>>290
あっちに書き込めないからここで聞くけど
BOOTHは
コンビニ決済にしたらお互い個人情報は
分からないってことでおk?
?guid=ON
にフジテレビ実況を追加
調査支援設定ボタンで
R3の場合はV2C再起動が必要です(再起動しない場合はお断り)
>>293
自家修正用
ana,hinatazaka46,livecx
クッキー消したら一回だけ書ける
って症状の場合はまず ?guid=ON を試してみて下さい
>>295
webブラウザでクッキーを消して書きこんだ場合です
webブラウザのUA(read.cgiオンリー、1式、4式)でアナ、日向坂。フジテレビ実況が余所になるのは
bbs.cgiに?guid=ONがあるかないかの違いってのがB11としての認識です
クッキーを消したら書き込めるんじゃなくて
WEBブラウザの挙動が
?gud=ONあり:書き込める
https://youtu.be/YW1zef3xZJg
クッキーがない状態で書き込み
↓
クッキー&書き込み確認画面表示
↓
クッキー&書き込み確認画面から「上記全てを承認して書きこむ」を押してそのまま書き込み
↓
クッキー&書き込み確認画面のbbs.cgiには?gud=ONがある
B11的にはAPI設定4の?duif=ONが指定されてるとB11が付ける
↓
書き込める
>>297
続き
?gud=ONなし:余所
https://youtu.be/dIP8-HKi5zw
クッキーがない状態で書き込み
↓
クッキー&書き込み確認画面表示
↓
ブラウザバックでスレに戻る
↓
スレ画面から「書き込み」を押して書き込み
↓
スレ画面のbbs.cgiには?gud=ONがない
元々はなくても書き込めてたので
B11的にもAPI設定4の?duif=ONが指定されてないのでB11は付けない
↓
余所
>>293
ホントだ、なぜかフジ実況だけ余所になる
そんで書いてあるとおりやったら、わけわからないけど直ったわw
サンクス
今思えば
EC-CUBEみたいな仕様バグ満載のソフトとしたら50%のデキでしかないシロモノを
金取って100%にするってビジネスモデルもアリだったな
あー
またやった・・・
なんか誤爆が妙に現状にマッチしてしまったようで気まずい・・・
>>274
なんUの吸いこまれワードで運よくhttps://i.imgur.com/upBwFQM.png が出たので
クッキーだけ消してIPはそのままで書きこんでみたけど
やっぱBBxされてしまいました
クッキー削除とIPリセットはセットでやらないとダメみたい
>>302
問題ないよ
むしろV2C正式にサポートできればいいとみんな思ってるし
??????????????????????????>>283 で、絵文字パレットが開くって初めて気がつきました
MacOSでも使用可能なのでしょうか
設定を見てもどこをさわっていいかわかりません
すみませんが御教授いただけますでしょうか
以下バグ報告テンプレです
【V2C】 2.20.5.1 (V2CMOD-Z) [R20200530] (L-0.3)
【Java】 [P]14.0.1+7 (Oracle Corporation)
【OS】 Mac OS X 10.15.7 (x86_64)
【メモリ】 Total(Free)/Max.: 269(155)/768 [MB]
【Rhinoスクリプトエンジン】 あり
【BouncyCastle】 なし
【systemスクリプト】 subject.js(A), rescheck.js(SF), menu.js(P), getdat.js(SF), threadld.js(SF), post.js(A)
【ReplaceStr,URLExec等】 msgkw.txt, ImageViewURLReplace.dat, ReplaceStr.txt, ReplaceStr_Tw.txt, URLExec.dat, URLExec2.dat
【2ch板一覧取得URL】 http://menu.5ch.net/bbsmenu.html (最終更新日:2020/08/19 18:44:20)
【起動時に2chの板一覧を更新】 チェック済
【レス表示フォント】 MS-PGothic
【指定フォントにない文字は他のフォントを使用】 チェック済
【参考:黒電話絵文字を表示するフォント】 WadaLabMaruGo2004Emoji
【参考:ロケット・ダブルハート絵文字を表示するフォント】 WadaLabMaruGo2004Emoji
【スレ一覧フォント】 Dialog
【代替 (AA用)フォント】 MS-PGothic
【その他 (UI用)フォント】 MS-PGothic
【おπ送りを監視する】 チェック済
【2chAPIパッチ】 B11.28.6.1 read.cgi Only
【B11スクリプト】 readcgi.js(2019/08/17 09:13:40), readcgi_aux.js(2020/05/11 22:56:58)
【B11用 ReplaceStr.txt】 ReplaceStr_B11_Dev.txt(2019/08/17 10:52:20)
【B11用 URLExec.dat】 URLExec_B11.dat(2019/01/28 14:54:54)
【UA(API DAT取得)】 Monazilla/1.00 (Ciisaa/1.41 (A))
【UA(API 書き込み)】 DOLIB/1.00
【UA(read.cgi ページ取得)】 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8
【UA(read.cgi 書き込み)】 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.1.2 Safari/603.3.8
【不具合内容】
【不具合URL(「すべて」禁止)】
【再現方法】
【調査済項目】
>>305
macOSでも使用可能です(Apple Java5で確認)
ただ外観はOSの違いで違うかも
https://note.com/nono_2002/n/nbec98bb56089 #YMUSs
の
6. Twitter カラー絵文字パレット (スクリプト)の設置
「V2C_Folder/script」フォルダの
・TwitterColorEmojiPallet.js
・TwitterColorEmojiPallet
をscriptフォルダにコピーして、適当な場所にこのスクリプトの
起動設定をして下さい
その絵文字をTwitteに書き込む場合は合わせて
7. post.jsの設置
が必要になります
>>306
ありがとうございます
ファイルの設置はできたのですが
> 適当な場所にこのスクリプトの起動設定をして下さい
これのやりかたがわかりません
何回もすみませんが御教授願えますでしょうか
>>306
ぐぐってみたのですがスクリプトの起動とは
「ツールバーボタンのボタン登録領域を右クリック、もしくはお気に入りのフォルダを右クリックから「コマンドの登録…」で登録できます。
これらからのみ使用可能な専用スクリプト(スレッド一覧表示可能な拡張検索)もあります.」
でいいのでしょうか
ツールバーを右クリックしてコマンドの登録でTwitterColorEmojiPallet.jsを登録しても動かないのですが…
>>308
あ、そっちからの方法を見つけましたか
コマンドのプロパティは
https://i.imgur.com/fAL9l9G.png
となってるでしょうか?
あとは別の起動方法用に
ちょっと手順を動画作ってました時間がかかりました
こっちでも試してください
jsをV2Cから呼び出せるように登録
https://youtu.be/YI-wtp-B424
続きがありますがそれはパレットを起動できてから
続き
キーボードショートカットで呼び出せるようにする
(例ではWinのコントロール+P)
https://youtu.be/dIYfXS2-3G4
>>309
ありがとうございます。
ツールバーボタンからはパレットを起動できました。
起動できなかったのは、{$SCRIPT:Fwr}になっていたからのようです。
これを{$SCRIPT:A}に直したところ起動できるようになりました。
なぜか外部コマンドメニューからの登録は起動できませんでした。
同じ手順でやったつもりなのですが。
>>309
追記ですが
元からメニューにあった「B11バグ報告テンプレ」も動作しません。
なにか別の問題があるのでしょうか?
>なぜか外部コマンドメニューからの登録は起動できませんでした。
表示>スクリプトのコンソール起動して
外部メニューコマンドから起動したらなんかエラーが表示さあれるでしょうか?
それとそのあとに表示>コンソール出力を開いたら何かエラー(exceptionを含むメッセージ)が表示されてるでしょうか?
>元からメニューにあった「B11バグ報告テンプレ」も動作しません。
とりあえず見なかったってことで
>表示>スクリプトのコンソール起動して
>外部メニューコマンドから起動したらなんかエラーが表示さあれるでしょうか?
エラーが無ければ最近使った絵文字のurlが羅列されるだけです
https://i.imgur.com/aiu6KCJ.png
>>314
スクリプトのコンソールには何も表示されません。
ボタンから起動した場合は、おっしゃる通り絵文字のURLが羅列されます。
>>315
ならば
設定>外部コマンド>一般>全般>コマンド行右クリ>入力欄に復元
で入力欄にコマンドを表示してコマンドが
${SCRIPT:A} TwitterColorEmojiPallet.js
となってるかもう一度確認をお願いします
したっけ次に TwitterColorEmojiPallet.js の名前を TwitterColorEmojiPallet________.js に変えて
コマンド行右クリで入力欄に上書きをして外部設定を閉じて
それぁらメニュー>コマンドでパレットを起動してみてください
https://i.imgur.com/PyS8eaq.png
jsのファイル名を変えたら上記となるので
これならばリネーム前の外部コマンドへの登録は正しく行われてるはずです
一点重箱の隅
>>311 に {$SCRIPT:Fwr} とか {$SCRIPT:A} とかありますが
これだと操作しても無反応になります
正しくは ${SCRIPT:Fwr} とか ${SCRIPT:A} で
$ は{}の外になります
>>316
確認しましたが、${SCRIPT:A} TwitterColorEmojiPallet.jsになっています。
https://imgur.com/UhYhG1m.png
リネームしても、メニューからはエラーはでませんでした。
ボタンのほうを試すとエラーがでました。
>>317
あ、typoです、すみません。
実際は>>318 の通り${SCRIPT:A}になっています。
>>318
>>317 になってます
同じタイミングで同じ箇所で指摘しあったので齟齬が生まれてそうなので
確認
>>318 では
本文中は ${SCRIPT:A} TwitterColorEmojiPallet.js
スクショは {$SCRIPT:A} TwitterColorEmojiPallet.js
と $ の位置が違いますが実際はどちらで定義されてるでしょうか?
>リネームしても、メニューからはエラーはでませんでした。
>ボタンのほうを試すとエラーがでました。
(Java14がデグってなければ)V2C的にはこの状態はメニューのほうには正しくコマンドが登録されていない状態です
>>321
すみません、よく見たら{$SCRIPT:A}になっていました。
${SCRIPT:A}にしたところ、メニューからも動作しました。
ショートカットも動作しています。
お時間をとらせて申し訳ありませんでした。
丁寧なご対応ありがとうございました。
動いたんでOK
動かないほうがもっと厄介なことになるのでw
>>323
絵文字パレットとても便利です
本当にありがとう
B11パッチにはお世話になってます
スレチ気味の話題ですが
V2C+の内蔵TwitterAPIキーが書き込みできなくなったので
Twitter Developer appに登録しAPIキーが発行されて無事書き込みできるようになったのですが
App nameが表示されなくて困ってます
viaが表示されてないツイートは見たことないですし検索の仕方が悪いのか解決法が見つからず
App登録した人は多いと思いますがApp nameは表示されているでしょうか?
解決法がありましたらご教示ください
>>325
こんな感じで空白になってます
https://i.imgur.com/Gro94O0.png
>>325
試してみるんでAPIキーを教えてください
って箇所でもないんで一つづつ心当たりを潰していくしかないんですが
① 表示>コンソール出力になんかエラーは出てますか?
② viaの名前に全角文字が混じってますか?
③ viaの情報は「"source":"<a href=\"https://mobile.twitter.com \" rel=\"nofollow\">Twitter Web App</a>"」な感じでbinに格納されてるんですが
このように<a>と</a>に挟まれてますか?
W530
Windows Updateで
Surface - Keyboard - 1.0.104.0
がずっと出てるんだけど、入れちゃ駄目だよね。
>>327
① エラーは出ていません
② 全角文字は混じってますが半角オンリーでも症状は同じでした
③ これは何処を見たらいいのかわかりませんでした
>>329
③は置いといて
APPキーを変えて以降の自分のツイートだけviaが出ないって思いこんでたんですが
TLの表示でAPP切替前後でviaが出る出ないの違いはありますか?
自分のTL、他人のTLでviaが出る出ないの違いはありますか?
そういえば
書き込みプレビューを開いた時はviaは表示されますか?
自分は via API と表示されます
>>330
V2C+の内蔵キーを使っていた時はviaは出ていました
今回取得したappに切り替えたところviaが出なくなりました
他人に返信ツイートした時もviaは出ないですね
>>331
同じです。via APIと表示されています
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板