Mastodon이 임베드되지 않아요

Mastodon이 더 이상 임베드되지 않습니다.

@jagster@kvarkki.nexus님의 게시물
Mastodon에서 보기

수정 방법이 있거나, Mastodon 측에서 스스로 기능을 망가뜨린 것일까요?

그리고 이 기회를 빌려 해당 주제에 알림을 보내어 더 많은 관심을 받을 수 있을까 싶습니다.

다른 게시물들을 시도해 보았습니다:

«모든 Mastodon»이 아니라 일부 서버나 게시물에서만 발생하는 것 같습니다.

수정: 아, 임베드 방식 때문이네요. 여러분의 임베드는 인라인 <script>에 의존하고 있는데, 이는 허용되지 않습니다.

<blockquote class="mastodon-embed" data-embed-url="https://kvarkki.nexus/@jagster/113763726148314458/embed" style="background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;"> <a href="https://kvarkki.nexus/@jagster/113763726148314458" target="_blank" style="align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M74.7135 16.6043C73.6199 8.54587 66.5351 2.19527 58.1366 0.964691C56.7196 0.756754 51.351 0 38.9148 0H38.822C26.3824 0 23.7135 0.756754 22.2966 0.964691C14.1319 2.16118 6.67571 7.86752 4.86669 16.0214C3.99657 20.0369 3.90371 24.4888 4.06535 28.5726C4.29578 34.4289 4.34049 40.275 4.877 46.1075C5.24791 49.9817 5.89495 53.8251 6.81328 57.6088C8.53288 64.5968 15.4938 70.4122 22.3138 72.7848C29.6155 75.259 37.468 75.6697 44.9919 73.971C45.8196 73.7801 46.6381 73.5586 47.4475 73.3063C49.2737 72.7302 51.4164 72.086 52.9915 70.9542C53.0131 70.9384 53.0308 70.9178 53.0433 70.8942C53.0558 70.8706 53.0628 70.8445 53.0637 70.8179V65.1661C53.0634 65.1412 53.0574 65.1167 53.0462 65.0944C53.035 65.0721 53.0189 65.0525 52.9992 65.0371C52.9794 65.0218 52.9564 65.011 52.9318 65.0056C52.9073 65.0002 52.8819 65.0003 52.8574 65.0059C48.0369 66.1472 43.0971 66.7193 38.141 66.7103C29.6118 66.7103 27.3178 62.6981 26.6609 61.0278C26.1329 59.5842 25.7976 58.0784 25.6636 56.5486C25.6622 56.5229 25.667 56.4973 25.6775 56.4738C25.688 56.4502 25.7039 56.4295 25.724 56.4132C25.7441 56.397 25.7678 56.3856 25.7931 56.3801C25.8185 56.3746 25.8448 56.3751 25.8699 56.3816C30.6101 57.5151 35.4693 58.0873 40.3455 58.086C41.5183 58.086 42.6876 58.086 43.8604 58.0553C48.7647 57.919 53.9339 57.6701 58.7591 56.7361C58.8794 56.7123 58.9998 56.6918 59.103 56.6611C66.7139 55.2124 73.9569 50.665 74.6929 39.1501C74.7204 38.6967 74.7892 34.4016 74.7892 33.9312C74.7926 32.3325 75.3085 22.5901 74.7135 16.6043ZM62.9996 45.3371H54.9966V25.9069C54.9966 21.8163 53.277 19.7302 49.7793 19.7302C45.9343 19.7302 44.0083 22.1981 44.0083 27.0727V37.7082H36.0534V27.0727C36.0534 22.1981 34.124 19.7302 30.279 19.7302C26.8019 19.7302 25.0651 21.8163 25.0617 25.9069V45.3371H17.0656V25.3172C17.0656 21.2266 18.1191 17.9769 20.2262 15.568C22.3998 13.1648 25.2509 11.9308 28.7898 11.9308C32.8859 11.9308 35.9812 13.492 38.0447 16.6111L40.036 19.9245L42.0308 16.6111C44.0943 13.492 47.1896 11.9308 51.2788 11.9308C54.8143 11.9308 57.6654 13.1648 59.8459 15.568C61.9529 17.9746 63.0065 21.2243 63.0065 25.3172L62.9996 45.3371Z" fill="currentColor"/></svg> <div style="color: #787588; margin-top: 16px;">Post by @jagster@kvarkki.nexus</div> <div style="font-weight: 500;">View on Mastodon</div> </a> </blockquote> <script data-allowed-prefixes="https://kvarkki.nexus/" async src="https://kvarkki.nexus/embed.js"></script>

URL로 원박스(onebox) 처리된 당신의 투트(toot)입니다:

원박스는 임베딩과는 꽤 다른 개념이며, 이 코드는 마스토돈이 제공하는 것입니다 :man_shrugging:

이를 지원하기 위한 구체적인 변경 사항이 없다면 이는 가능하지 않을 것입니다. 사용자가 외부 JavaScript를 포함할 수 있도록 허용하는 것은 치명적인 보안 구멍이기 때문입니다.

아마도 사이트 테마에 해당 JS 스니펫을 추가하면 작동할 수 있지만, 우리는 이를 일관되게 허용한 적이 없습니다.

이전에 작동했던 예시가 있습니까?

외국어긴 하지만, 재미있는 부분은 아실 거예요.

그때 여기에서도 잘 작동했었어요. 제가 여기서 직접 테스트해 봤기 때문에 그건 확실히 알고 있어요.

그러면 안 되겠네요.

해당 게시물들은 iframe을 사용했으며, iframe 소스가 허용 목록에 추가된 경우 작동합니다. 예를 들어:

<iframe src="https://mastodontti.fi/@jagster/109375542625679201/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="400" allowfullscreen="allowfullscreen"></iframe>

문제는 https://foorumi.katiska.eu/ 사이트 설정(allowed iframes)에서 https://mastodontti.fi/는 iframe 소스로 허용되어 있지만 https://kvarkki.nexus/는 허용되어 있지 않기 때문일 가능성이 높습니다.

kvarkki가 허용 목록에 없는 try.discourse.org의 모습은 다음과 같습니다:

그리고 허용된 경우의 모습은 다음과 같습니다:

콘텐츠는 다음과 같습니다:

<iframe src="https://kvarkki.nexus/@jagster/113763726148314458/embed" class="mastodon-embed" style="max-width: 100%; border: 0" width="100%" allowfullscreen="allowfullscreen"></iframe>

(참고로, 링크하신 예시에서 스크립트 태그는 완전히 무시되며, 유용하고 필요한 것은 iframe만입니다)


… "사이트에서 Mastodon 임베드를 활성화하는 방법"에 대한 가이드를 여기에 두면 좋을 것 같습니다.

Mastodon의 탈중앙화 특성은 훌륭합니다… 하지만 모든 도메인일 수 있기 때문에 "모든 Mastodon 임베드 허용"을 쉽게 설정할 방법이 없다는 점이 단점입니다.

고려해 보겠습니다.

다만 kvarkki.nexus는 허용되어 있어요 :man_shrugging: 오타를 잘 내는 편이라 다시 한번 확인해 볼게요.

감사합니다.

하지만 당신의 스니펫은 작동했습니다. 따라서 문제는 Mastodon이 해당 임베드 코드를 어떻게 생성하는지(또는 Discourse가 이를 어떻게 처리하는지)에 있습니다.

어쨌든, 이제 어떻게 수정해야 하는지 알게 되었습니다. 기본 제공(out-of-the-box) 솔루션이 가장 이상적이겠지만, 우리가 완벽한 세상에서 살고 있는 것은 아니므로… 제 경우에는 그 절차로 충분합니다. 현재 제 포럼에서 Mastodon에서 임베드하는 사람은 오직 저 한 명이기 때문입니다.

다시 한번 감사합니다.

아, 맞아요. Mastodon이 임베드 방식을 변경했다는 걸 순간적으로 잊어버리는 실수를 했었네요.

네, 방식을 변경했고, 쉬운 iframe 옵션을 제거한 것이 안타까울 뿐입니다.