테스트 사이트 - 개발 중인 베타 버전입니다

그누보드5용 액티비티펍(ActivityPub) 플러그인 0.1.18

tutorial-2.png

 

237351714_1656860629.1297.png

 

W3C 표준 문서로 등록되어 있는 액티비티펍(ActivityPub)을 그누보드5에서 지원하기 위한 플러그인입니다.

 

[ActivityPub 프로토콜 도입 시 장점]

  - ActivityPub 프로토콜이 호환되는 어플리케이션은 서로 다른 웹사이트 사이에서도 쪽지를 작성하거나 게시물에 댓글을 남기는 등의 양방향 소통이 가능합니다.

  - 다양한 종류의 어플리케이션(워드프레스, 마스토돈 등) 및 소셜 미디어 앱(텔레그램, 카카오톡, 라인, 페이스북, 왓츠앱, 인스타그램, 유투브, 디스코드, 슬랙, 트위터, 위챗, 틱톡 등), 이와 성격이 비슷한 업무용 앱(MS Teams, Google Workspace, 스카이프, 매터모스트, 사내 메신저/ERP/RPA 등), 문자메시지(SMS/LMS/MMS 등), 푸시알림(Push Notification), 이메일, 팩스, 전자계약(스마트 컨트랙트), 위치, 날씨, 환율, 증권, 송금(페이), 그 외 프로토콜 등을 연동할 때 표준화된 절차로서 사용하실 수 있습니다.

  - 그누보드5 기반 어플리케이션을 개발하기 위한 프로그래밍 언어로 PHP 뿐만이 아닌 Bash, NodeJS, Python, Java, C#, Golang, Rust, Elixir/Erlang, Kotlin, Swift, WebAssembly 등 선택의 폭이 넓어집니다.

  - 표준화된 프로토콜이므로 (schema.org 등을 응용하여) 검색엔진최적화(SEO) 용도로도 활용하실 수 있습니다.

 

[설치 방법]

1. 그누보드5 extend 폴더에 activitypub.extend.php 파일을 복사합니다. (여기서 파일 설치는 끝, adm는 필요 시 설치)

2. apstreams 라는 이름의 계정을 생성합니다.

3. apstreams 라는 이름의 게시판을 생성합니다.

4. 만약, 그누보드5 끼리의 통신이 아닌 ActivityPub 호환 외부 어플리케이션과 통신해야 되는 경우 아래와 같이 .htaccess를 설정합니다.

 

<IfModule mod_rewrite.c>
    RewriteEngine on

    RewriteRule ^\.well-known/webfinger /?route=webfinger [QSA,L]

</IfModule>

 

경우에 따라선 (예를 들어, 엑세스 토큰이 별도로 존재하는 서비스인 경우) activitypub.extend.php 안의 다음 내용을 수정해야할 수 있습니다.

 

define("ACTIVITYPUB_ACCESS_TOKEN", "server1.example.org=xxuPtHDkMgYQfcy9; server2.example.org=PC6ujkjQXhL6lUtS;");

 

[사용방법]

아무 게시판이나 하나 선택하여 아래와 같은 메시지를 남겨봅시다. 또는 'apstreams'에게 쪽지를 보내봅시다.

 

   > 안녕하세요. 잘 지냈어요 ben? 나는 alyssa입니다. 안부 전해요. @ben@server1.example.org

 

그러면 server1.example.org의 '@ben'에게 메시지가 도착해있을 것입니다.

 

[그 외]

본 플러그인에는 글/댓글을 등록하는 예시, 파일을 다루는 예시, 쪽지를 다루는 예시, 훅(Hook)을 다루는 예시 등을 포함하므로 신규 플러그인을 작성하실 때 좋은 참고자료가 될 수 있습니다.

 

[최근 업데이트 및 버전]

2023년 08월 08일, 0.1.18 (개발 버전은 깃허브 링크 참고)

 

[변경사항]

- 0.1.18: 마스토돈(Mastodon)과 양방향 통신 확인 완료 (다른 어플리케이션과도 호환 가능)

- 0.1.17: HTTP 헤더 서명 관련 개선 (ActivityPub 및 HTTP 서명을 사용하는 외부 어플리케이션 대응)

- 0.1.16: 마스토돈(Mastodon)에서 그누보드5 사용자를 멘션했을 시 쪽지로 받아볼 수 있음.

- 0.1.15: 마스토돈(Mastodon)에서 그누보드5 기반 웹사이트의 사용자 검색 가능, 스레드(메타) 앱 지원 준비

- 0.1.13: 댓글 관련 버그 수정, 파일공유 기능 추가

- 0.1.12: 확장 가능하도록 작업(lib/*.activitypub.lib.php), 발행여부 관련 버그 수정

- 0.1.11: 액티비티의 발행여부(Draft/Published) 상태 명확화, 날씨(OpenWeatherMap) 및 환율(한국수출입은행) 기능 추가

- 0.1.10: HTTP 헤더 버그 수정, 위치정보 기능 추가 (IP2Location Lite, 네이버 클라우드 GeoLocation)

 

[더 보기]

* 슬랙/디스코드/네이트온 웹훅 - 엑티비티펍 연동 플러그인 https://sir.kr/g5_plugin/10412

* 그누보드5에서 ActivityPub 설계 https://sir.kr/so_restful/351

* delightful activitypub development https://codeberg.org/fediverse/delightful-activitypub-development/

 

[마스토돈에서 사용자 검색 지원 예시]

461179629_1690363915.9956.png

 

[마스토돈에서 사용자 멘션 예시 - 단방향]

1025779472_1691259903.0901.png

 

[마스토돈에서 사용자 멘션 예시 - 양방향]

239050768_1691495580.5275.png

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 33개

@곰광자 감사합니다 ^^
감사 합니다.
감사합니다 !!
실시간으로도 채팅처럼 가능한가요?
해당 프로토콜 규격에 맞춰서 실시간 채팅처럼 구현하시면 가능합니다.
좋은 자료 감사합니다
좋은데요.... 감사합니다.
추천 찍었어요. 유용한 플러그인 감사합니다.
와 대박 자료네요
감사합니다
공개해 주셔서 감사합니다.
0.1.9 버전 이후부터는 위치정보 및 파일공유 기능이 들어갈 예정이오니, 자세한 내용은 깃허브 링크를 참고해주시기 바랍니다. 관심에 감사드립니다.
멋진 플러그인이네요. 유용한 플러그인 공개해 주셔서 감사합니다.
고생하셨습니다
근데... 프로토콜과 다르게 메세지 교환(gateway) 추상화로 해석한 부분이 많은것 같네요
@오픈빌더 전신인 ActivityStreams 2.0가 메시지 교환(Gateway) 추상화로 많이 쓰였기 때문에, ActivityStreams를 기반으로 하는 ActivityPub도 활용도를 그렇게 어필하고 있습니다. 원래 목적은 소셜 미디어에 주로 맞춰져 있긴 하지만 메시지 교환 용도로 써도 문제가 되진 않으니까요.
예전에 분산(블록체인)네트워크를 이용해서 메세지 교환방법을 찾아보다가 https://spec.matrix.org 같은 스펙을 보고
확인차원에서 언급을 했습니다
그렇군요. W3C에도 ActivityPub 말고도 IoT, DID 관련 스펙이 있습니다. 이것을 액펍에 통합하는 방안도 논의 중인 걸로 압니다. MATRIX도 구현할 때 참고해볼만 할 것 같습니다. 정보 감사합니다 ㅎㅎ
0.1.13 버전부터 파일공유 기능을 지원합니다. (자동 다운로드/업로드 기능은 이후 버전에서 지원합니다.)
이거 마케팅용으로 괜찮네요. 간만에 프로그램 관련 글 남겨봅니다. 감사합니다.
@묵공 감사합니다.
아미나에서도 사용이 가능한가요? 일단 시도는 해보겠습니다
g5xm 으로 접두어를 사용하는데 설치는 하니 페이지가 다운되어서 작동을 하지 않습니다
수정해야 할 곳이 있는지요?
감사합니다
웹 페이지 다운 시 발생하는 오류를 abuse@catswords.net 으로 보내주시면 확인해보겠습니다. 감사합니다.
네 감사합니다. 테스트 마치면 상의드리겠습니다
멋지네요
저도 듣기만 했는데
앞으로 활성화가 될지 기대가 됩니다.
감사합니다 ^^
공유 감사드립니다. 지금은 추천이 안되네요. 그래도 진심으로 추천꾹!
넵 해당 부분은 그누보드 끼리의 추천만 지원하고 있어서 향후 업데이트로 계속 지원할 예정입니다.

게시판 목록

그누보드5 플러그인

그누보드 호환이거나 독립적으로 실행되는 플러그인을 소개합니다.
글쓰기
🐛 버그신고