그리스에몬키

Greasemonkey
그리스에몬키
Greasemonkey.svg
원본 작성자애런 부드먼
개발자앤서니 리우알렌, 요한 순드스트룀,[1] 13명[2]
초기 릴리즈2005년 3월 28일;[3] 16년 전(2005-03-28)
안정적 해제
4.11 / 2021년 1월 27일; 13개월(2021-01-27)
리포지토리
기록 위치자바스크립트, XUL, CSS
운영 체제크로스 플랫폼
다음에서 사용 가능영어
유형모질라 확장
면허증MIT 라이선스
웹사이트www.greasespot.net

GreasemonkeyMozilla Firefox 확장으로 사용할 수 있는 사용자 설명 관리자다.사용자가 페이지가 브라우저에 로드된 후 또는 그 이전에 웹 페이지 콘텐츠를 즉시 변경하는 스크립트(증강 브라우징이라고도 함)를 설치할 수 있다.

웹페이지에 대한 변경사항은 페이지를 볼 때마다 실행되어 스크립트를 실행하는 사용자에게는 사실상 영구적이다.

Greasemonkey는 페이지 모양을 사용자 정의하고, 웹 페이지에 새로운 기능을 추가하며(예: 쇼핑 사이트 내 가격 비교 포함), 렌더링 버그를 수정하고, 여러 웹 페이지의 데이터를 결합하며, 그 밖의 다양한 용도로 사용할 수 있다.

역사

Greasemonkey 프로젝트는 Aaron Boodman이 쓴 2004년 11월 28일에 시작되었다.[4][5][6]부드먼은 나중에 사용자표기 개발자가 된 Adrian Holovaty가 쓴 [7]올뮤직의 인터페이스를 정리하기 위해 고안된 파이어폭스 확장을 보고 Greasemonkey를 쓰도록 영감을 받았다.2005년 5월까지 Greasemonkey를 위해 배포된 일반 사용자 설명서는 약 60개, 사이트별 사용자 설명서는 115개였다.[7]2005년 7월, Greasemonkey에서 마크 필그림에 의한 심각한 취약성이 발견되어 Greasemonkey 3.5버전에 고정되었다.[8][9][10]이 기간 동안, 사용자 첨자를 독립형 Firefox 확장으로 변환하기 위한 Greasemonkey 컴파일러도 개발되었다.[11]그라스몬키는 처음에 광고를 차단하는 능력에 대해 출판사들로부터 불만을 받았다.[12]그러나 이 비판은 2006년 애드블록 플러스 출시 이후 다른 애드온으로 무게중심을 옮겼다.

Userscripts.org

증가하는 대본을 수용하기 위해, userscripts.org은 2005년 말 브리트 셀비텔과 그라스몬키 커뮤니티의 다른 회원들에 의해 설립되었다.아마존닷컴은 2007년에 오픈 소싱되었지만, 그 사이트는 후에 이 코드 베이스에서 멀어지게 되었다.[13]Greasemonkey의 공식 사이트에 나열된 주요 스크립트 리포지토리로서, userscripts.org은 매년 수천 개의 스크립트를 축적했다.

2010년, 마지막으로 알려진 관리자인 제시 앤드류스는 이 사이트가 시간이 부족하여 유지 보수 모드에 있다고 게시하고 자원봉사를 위해 새로운 유지 관리인을 요청하였다.[14]그럼에도 불구하고, 그는 2013년 4월 1일 설치 수에 대한 논의가 시작될 때까지 사이트의 유일한 관리자로 남아 있었다.[15]이에 앞서 사이트별로 나열한 '가장 인기 있는 스크립트' 중 상당수는 명목상의 설치 수가 0이었다.이듬해에 걸쳐 스팸 스크립트가 더 일반화되었고, 서버 다운타임이 증가했으며 설치 횟수 버그가 남아 있었다.[16]앤드류스에 의한 더 이상의 의사소통 없이, 사용자 묘사 작성자들은 그 사이트가 무시되었다고 묘사했고 공식적인 Greasemonkey 사이트는 그것의 1면 링크를 삭제했다.[17][18]이에 대본 작가들과 다른 개발자들은 포크 "openuserjs.org"[19][20]을, 나중에 [21]greasyfork.org을 즉시 대체하기 위해 작업을 시작했다.[22]

2014년 5월 userscripts.org은 포트 80에서 접속할 수 없게 되어 사용자가 대신 포트 8080에서 접속하게 되었다.[16]2014년 8월 현장이 전면 폐쇄됐다.대부분의 스크립트는 현재 찾을 수 있는 정적 미러 userscripts-mirror.org에 백업되었다.[16]

기술적 세부사항

Greasemonkey 사용자 스크립트는 JavaScript로 작성되며 Document Object Model 인터페이스를 사용하여 웹 페이지의 내용을 조작한다.스크립트는 일반적으로 페이지별 또는 도메인별(도메인 내의 모든 페이지에 적용)으로 작성되지만 글로벌 브라우저 향상을 위해 모든 도메인에 적용되도록 태그를 지정할 수도 있다.Greasemonkey 사용자는 스크립트를 작성하거나 다운로드하여 자신의 개인 라이브러리에 저장할 수 있다.사용자가 개인 스크립트 라이브러리의 스크립트와 일치하는 웹 사이트를 방문할 때 Greasemonkey는 관련 스크립트를 호출한다.

Greasemonkey 스크립트는 특정한 Greasemonkey 보안 제한과 함께 JavaScript가 허용하는 모든 방법으로 웹 페이지를 수정할 수 있다.또한 스크립트는 비도메인 XMLHTTP 요청을 통해 다른 웹 페이지 및 웹 서비스에 액세스할 수 있어 외부 콘텐츠를 원본 페이지 컨텐츠와 병합할 수 있다.

스크립트의 이름은 somename.user.js이며, Greasemonkey는 해당 접미사로 끝나는 URL이 요청될 때 이러한 스크립트를 설치할 것을 제안한다.Greasemonkey 스크립트에는 스크립트의 이름, 설명, 스크립트에 필요한 리소스, 동일한 이름의 스크립트를 구분하는 데 사용되는 네임스페이스 URL, 스크립트가 호출되거나 실행되지 않을 URL 패턴을 지정하는 메타데이터가 포함되어 있다.

Greasemonkey 스크립트를 작성하는 것은 웹 페이지의 JavaScript를 작성하는 것과 유사하며, 사이트 간 XMLHtpRequests와 같은 일부 추가 허용량이 있다.전면적인 Firefox 확장을 쓰는 것에 비해 사용자 스크립팅은 기본 웹 프로그래밍에서 복잡성이 매우 완만하게 향상되는 단계다.그러나 Greasemonkey 스크립트는 Mozilla의 XPCNativeWrappers에[23] 의해 부과된 보안 제한으로 인해 제한된다. 예를 들어 Greasemonkey 스크립트는 다운로드 관리자, I/O 프로세스 또는 주요 도구 모음과 같은 Firefox의 많은 구성요소에 액세스할 수 없다.또한 Greasemonkey 스크립트는 일치하는 웹 페이지의 인스턴스별로 실행된다.이 때문에 전 세계적으로 품목 리스트 관리가 어렵다.하지만 스크립트 작성자들은 쿠키를 사용해 왔고, Greasemonkey는 이를 극복하기 위해 GM_getValue, GM_setValue 등의 API까지 제공한다.

사용자 스크립트

Greasemonkey용 파일 호스팅 서버에서는 스크립트의 URL이 다음으로 끝나야 함.user.js이런 MIME 타입이 아닌text/htmlHTTPS에 대한 지원은 Greasemonkey의 내장 업데이트 체커와 만날[clarification needed] 것이다.2019년 7월 현재 Greasemonkey 프로젝트는 다음 세 가지 권장 사용자 스크립트 호스트 목록을 작성한다.[24]

  • GitHub에서 운영하는 페이스트빈 서비스인 Gist는 간단한 파일이 호스트된다.파일은 웹 양식에 붙여넣어 저장할 수 있다.HTTPS는 기본적으로 사용된다.파일은 설치 링크 역할을 하는 URL의 ".user.js" 접미사가 있는 이름 지정 체계를 따를 수 있다.
  • userstyles.org의 유지 관리인이 만든 사이트인 기름진 포크.[21]
  • 더 이상 사용되지 않는 스크립트 저장소 userscripts.org의 포크로 시작된 사이트 OpenUserJS.org.[19][20]

호환성.

Greasemonkey는 Firefox, Moms, GNOME Web(이전에는 Epiphany라고 불렸다)에서 사용할 수 있다.웹에 대한 Greasemonkey 확장은 웹 확장 패키지의 일부분이다.그러나 일부 Greasemonkey API 함수(예: GM_getValue)는 지원되지 않으므로 이 확장자는 릴리스 2.15.1 현재 완전히 호환되지 않는다.SeaMonkey,[25][26] Songbird,[27] Pale Moon,[28] Qutebrowser[29]Falkon 브라우저용 사용자 정의 버전도 있다.

참고 항목

참조

  1. ^ "The weblog about Greasemonkey".
  2. ^ "The greasemonkey network graph". GitHub.
  3. ^ "Initial Greasemonkey Release".
  4. ^ "Greasemonkey Project Info". Archived from the original on 25 March 2012. Retrieved 31 August 2011.
  5. ^ Pilgrim, Mark (2005). Greasemonkey Hacks. O'Reilly. ISBN 978-0-596-55357-9.
  6. ^ "Aaron Boodman wrote Greasemonkey in 2004".
  7. ^ a b Singel, Ryan (17 May 2005). "Firefox Users Monkey With the Web?". Wired magazine.
  8. ^ "Archived copy". Archived from the original on 3 March 2020. Retrieved 24 February 2021.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  9. ^ https://lwn.net/Articles/144452/
  10. ^ "mozdev.org - : /pipermail/greasemonkey/2005-July/004379". mozdev.org. Archived from the original on 29 July 2005.
  11. ^ Nivi (8 May 2005). "Greasemonkey will blow up business models (as well as your mind)". Archived from the original on 3 June 2006. Retrieved 22 July 2010.
  12. ^ Festa, Paul (24 March 2005). "Firefox add-on lets surfers tweak sites, but is it safe?". CNET.
  13. ^ Selvitelle, Britt (3 January 2007). "Userscripts.org... Opensource!". Archived from the original on 17 January 2007. Retrieved 21 May 2014.
  14. ^ "Passing the torch on userscripts.org". Hacker News. 2010. Retrieved 24 October 2014.
  15. ^ "Fixing Install Counts". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 21 May 2014.
  16. ^ a b c Brinkmann, Martin (9 May 2014). "Userscripts.org down for good? Here are alternatives". Retrieved 21 May 2014.
  17. ^ "User Script Hosting". 16 May 2014. Retrieved 21 May 2014.
  18. ^ "Please change the official userscript site". greasemonkey-dev (Mailing list). 21 April 2014. Retrieved 21 May 2014.
  19. ^ a b "OpenUserJS". openuserjs.org.
  20. ^ a b "Fixing Install Counts – Page 6". 1 April 2013. Archived from the original on 3 November 2013. Retrieved 5 November 2015.
  21. ^ a b "Greasy Fork". greasyfork.org.
  22. ^ Barnabe, Jason (19 February 2014). "Introducing Greasy Fork – a user scripts site". Retrieved 5 November 2015.
  23. ^ .https://developer.mozilla.org/en/XPCNativeWrapper
  24. ^ "User Script Hosting - GreaseSpot Wiki". wiki.greasespot.net. Retrieved 22 July 2019.
  25. ^ "Greasemonkey". mozdev.org. mozdev. Retrieved 5 May 2009.
  26. ^ "Greasemonkey Port for SeaMonkey - About - OpenUserJS". openuserjs.org.
  27. ^ ianloic. "Greasemonkey". Songbird. Archived from the original on 2 June 2008. Retrieved 5 May 2009.
  28. ^ "janekptacijarabaci/greasemonkey". GitHub. Retrieved 23 March 2020.
  29. ^ "Improvements for GreaseMonkey support · Issue #3238 · qutebrowser/qutebrowser". GitHub. Retrieved 19 May 2020.

외부 링크

Wikimedia Commons의 Greasemonkey 관련 미디어