From ca41ca955c858e9341859b21693d2cc434f6438d Mon Sep 17 00:00:00 2001 From: cutls Date: Sat, 26 Oct 2019 02:13:13 +0900 Subject: [PATCH] JP alert dialog --- app/js/common/version.js | 7 ++++++- app/js/login/login.js | 9 ++++++--- app/view/make/index.sample.html | 25 +++++++++++++++++++++++++ app/view/make/setting.sample.html | 2 +- 4 files changed, 38 insertions(+), 5 deletions(-) diff --git a/app/js/common/version.js b/app/js/common/version.js index 2c228414..ee3ecdae 100644 --- a/app/js/common/version.js +++ b/app/js/common/version.js @@ -1,5 +1,5 @@ //バージョンチェッカー -function verck(ver) { +function verck(ver, jp) { console.log("%c Welcome😊", "color: red;font-size:200%;") var date = new Date(); var show = false @@ -87,6 +87,11 @@ function verck(ver) { }).then(function (mess) { console.table(mess); if (mess) { + //askjp_jp_ua: 2019年10月24日、mstdn.jpによるユーザーエージェントアクセス制限 + if(jp && mess.jp_ua && !localStorage.getItem("askjp_jp_ua")){ + localStorage.setItem("askjp_jp_ua", true) + $("#askjp_jp_ua").removeClass("hide") + } var platform = localStorage.getItem("platform"); if (platform == "darwin") { var newest = mess.desk_mac; diff --git a/app/js/login/login.js b/app/js/login/login.js index 4b00856a..51859ebd 100644 --- a/app/js/login/login.js +++ b/app/js/login/login.js @@ -13,8 +13,7 @@ function ck() { if (!main) { localStorage.setItem("main", 0) } - var domainz = localStorage.getItem("domain_0"); - var at = localStorage.getItem("acct_0_at"); + //コード受信 if (location.search) { var m = location.search.match(/\?mode=([a-zA-Z-0-9]+)\&code=(.+)/); @@ -32,17 +31,21 @@ function ck() { location.href = "acct.html?mode=first&code=true" } else { var obj = JSON.parse(multi); + var jp=false Object.keys(obj).forEach(function (key) { var acct = obj[key]; if (acct.domain) { refresh(key, true) } + if(acct.domain=="mstdn.jp"){ + jp=true + } }); if (obj[0].domain) { $("#tl").show(); ticker(); multiSelector(false); - verck(ver); + verck(ver, jp); $(".stw").show() $("#something-wrong img").attr("src", "../../img/thinking.svg") } diff --git a/app/view/make/index.sample.html b/app/view/make/index.sample.html index 4c6c6ab0..1895d393 100644 --- a/app/view/make/index.sample.html +++ b/app/view/make/index.sample.html @@ -724,6 +724,31 @@ @@close@@ + +
+

【緊急】mstdn.jpへのアクセスについて


+

問題の概要

+

合同会社分散型ソーシャルネットワーク機構は非公開審査によってユーザーエージェントベースで個々のアプリに対してAPIへのアクセスを許可する方法を取っています。

+

TheDesk開発者はこれに強く反発し、TheDeskのユーザーエージェントをそのアプリからのアクセスであると特定することができない値にすることを決めました。

+

具体的には、"Mastodon client: [起動毎に変わる100文字の英数記号]"と設定しました。

+

ユーザーによる対策

+

このバージョンのTheDeskでは任意のユーザーエージェントを適用できます。「設定」内の「環境設定」で設定していただけます。設定

+

1. 「TheDesk」を含む値に設定する

+

「設定」内の「環境設定」、「ユーザーエージェント」に「TheDesk」を含む値を入れてください。大文字小文字に注意してください。

+

懸念点

+

TheDesk開発者は合同会社分散型ソーシャルネットワーク機構に対しこの件についてメールで問い合わせを行っています(抗議ではありません)。問い合わせの過程でアプリ許可が取り消され、使用不能になる可能性があります。

+

ちなみに

+

合同会社分散型ソーシャルネットワーク機構はmstdn.jpのお知らせアカウントに対するリプライに書かれたサードパーティクライアントを「審査」の後許可するとトゥートし、複数ユーザーがTheDeskの名前を挙げました。 + 事実、トゥートの翌日までにTheDeskに対してアクセス許可が出されました。しかし、許可を出す際にTheDeskの標準ユーザーエージェントを機構は一切確認せず、「TheDesk」という文字列が入ったユーザーエージェントを一律で許可する設定にしたようです。 + 結果として実際の標準ユーザーエージェントはそれに合致せず、不許可のままとなっていました。前バージョンまでの標準ユーザーエージェントは、パッケージ名の都合上全て小文字の「thedesk」を採用していました。 +

+

2. 「認定済み」クライアントの名前を含む値に設定する

+

「設定」内の「環境設定」、「ユーザーエージェント」に、mstdn.jpのトップページ記載のアプリ名を含む値を入れてください。大文字小文字やスペースに注意してください。

+

「Mastodon日本鯖です.」と書かれた以降の一段を全てコピーして記載してもアクセス可能です。これほどまでにユーザーエージェント制限は「抜け道」が多いのです。設定

+

懸念点

+

その記載されたアプリと合同会社分散型ソーシャルネットワーク機構になんの関係があるかは知りませんが、どちらにしろ他のクライアントの名を借りてアクセスの許可をいただくというあまり道徳的によろしくない方法です。

+ +