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

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

· 3년 전 · 7626 · 33
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개

2년 전
감사합니다 ^^
공유 감사드립니다. 지금은 추천이 안되네요. 그래도 진심으로 추천꾹!
2년 전
넵 해당 부분은 그누보드 끼리의 추천만 지원하고 있어서 향후 업데이트로 계속 지원할 예정입니다.

게시글 목록

번호 제목
14082
14058
14056
14047
14035
14026
14019
14012
13997
13988
13975
13969