2016-05-15 11:12:40 +00:00
|
|
|
{
|
|
|
|
"name": "Abuse Filter",
|
|
|
|
"author": [
|
|
|
|
"Andrew Garrett",
|
|
|
|
"River Tarnell",
|
|
|
|
"Victor Vasiliev",
|
|
|
|
"Marius Hoch"
|
|
|
|
],
|
|
|
|
"url": "https://www.mediawiki.org/wiki/Extension:AbuseFilter",
|
|
|
|
"descriptionmsg": "abusefilter-desc",
|
2018-01-04 03:01:35 +00:00
|
|
|
"license-name": "GPL-2.0-or-later",
|
2016-05-15 11:12:40 +00:00
|
|
|
"type": "antispam",
|
|
|
|
"requires": {
|
2017-10-31 13:36:57 +00:00
|
|
|
"MediaWiki": ">= 1.31.0"
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
|
|
|
"AvailableRights": [
|
|
|
|
"abusefilter-modify",
|
|
|
|
"abusefilter-log-detail",
|
|
|
|
"abusefilter-view",
|
|
|
|
"abusefilter-log",
|
|
|
|
"abusefilter-private",
|
2016-12-12 16:30:06 +00:00
|
|
|
"abusefilter-private-log",
|
2016-05-15 11:12:40 +00:00
|
|
|
"abusefilter-modify-restricted",
|
|
|
|
"abusefilter-revert",
|
|
|
|
"abusefilter-view-private",
|
|
|
|
"abusefilter-log-private",
|
|
|
|
"abusefilter-hidden-log",
|
|
|
|
"abusefilter-hide-log",
|
|
|
|
"abusefilter-modify-global"
|
|
|
|
],
|
|
|
|
"SpecialPages": {
|
|
|
|
"AbuseLog": "SpecialAbuseLog",
|
|
|
|
"AbuseFilter": "SpecialAbuseFilter"
|
|
|
|
},
|
|
|
|
"LogTypes": [
|
2016-12-12 16:30:06 +00:00
|
|
|
"abusefilter",
|
|
|
|
"abusefilterprivatedetails"
|
2016-05-15 11:12:40 +00:00
|
|
|
],
|
|
|
|
"LogNames": {
|
2016-12-12 16:30:06 +00:00
|
|
|
"abusefilter": "abusefilter-log-name",
|
|
|
|
"abusefilterprivatedetails": "abusefilterprivatedetails-log-name"
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
|
|
|
"LogHeaders": {
|
|
|
|
"abusefilter": "abusefilter-log-header"
|
|
|
|
},
|
|
|
|
"LogActions": {
|
|
|
|
"suppress/hide-afl": "abusefilter-logentry-suppress",
|
|
|
|
"suppress/unhide-afl": "abusefilter-logentry-unsuppress"
|
|
|
|
},
|
|
|
|
"LogActionsHandlers": {
|
2016-06-04 13:33:32 +00:00
|
|
|
"abusefilter/hit": "AbuseLogHitFormatter",
|
2017-10-16 11:19:30 +00:00
|
|
|
"abusefilter/modify": "AbuseFilterModifyLogFormatter",
|
2016-12-12 16:30:06 +00:00
|
|
|
"abusefilter/create": "AbuseFilterModifyLogFormatter",
|
|
|
|
"abusefilterprivatedetails/access": "LogFormatter"
|
2017-10-16 11:19:30 +00:00
|
|
|
},
|
|
|
|
"ActionFilteredLogs": {
|
|
|
|
"abusefilter": {
|
|
|
|
"modify": [
|
|
|
|
"modify"
|
|
|
|
],
|
|
|
|
"create": [
|
|
|
|
"create"
|
|
|
|
]
|
|
|
|
}
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
2016-12-12 16:30:06 +00:00
|
|
|
"LogRestrictions": {
|
|
|
|
"abusefilterprivatedetails": "abusefilter-private-log"
|
|
|
|
},
|
2016-05-15 11:12:40 +00:00
|
|
|
"APIModules": {
|
|
|
|
"abusefilterchecksyntax": "ApiAbuseFilterCheckSyntax",
|
|
|
|
"abusefilterevalexpression": "ApiAbuseFilterEvalExpression",
|
|
|
|
"abusefilterunblockautopromote": "ApiAbuseFilterUnblockAutopromote",
|
|
|
|
"abusefiltercheckmatch": "ApiAbuseFilterCheckMatch"
|
|
|
|
},
|
|
|
|
"APIListModules": {
|
|
|
|
"abuselog": "ApiQueryAbuseLog",
|
|
|
|
"abusefilters": "ApiQueryAbuseFilters"
|
|
|
|
},
|
|
|
|
"MessagesDirs": {
|
|
|
|
"AbuseFilter": [
|
|
|
|
"i18n"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ExtensionMessagesFiles": {
|
|
|
|
"AbuseFilterAliases": "AbuseFilter.alias.php"
|
|
|
|
},
|
|
|
|
"AutoloadClasses": {
|
2016-12-17 17:52:36 +00:00
|
|
|
"AbuseFilter": "includes/AbuseFilter.class.php",
|
|
|
|
"AbuseFilterCachingParser" : "includes/parser/AbuseFilterCachingParser.php",
|
|
|
|
"AbuseFilterParser": "includes/parser/AbuseFilterParser.php",
|
|
|
|
"AbuseFilterTokenizer": "includes/parser/AbuseFilterTokenizer.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterHooks": "includes/AbuseFilter.hooks.php",
|
2016-12-17 17:52:36 +00:00
|
|
|
"AbuseFilterPreAuthenticationProvider": "includes/AbuseFilterPreAuthenticationProvider.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"SpecialAbuseLog": "includes/special/SpecialAbuseLog.php",
|
2017-12-16 00:26:25 +00:00
|
|
|
"AbuseLogPager": "includes/pagers/AbuseLogPager.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"SpecialAbuseFilter": "includes/special/SpecialAbuseFilter.php",
|
2016-12-17 17:52:36 +00:00
|
|
|
"AbuseLogHitFormatter": "includes/AbuseLogHitFormatter.php",
|
2016-06-04 13:33:32 +00:00
|
|
|
"AbuseFilterModifyLogFormatter": "includes/AbuseFilterModifyLogFormatter.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterViewList": "includes/Views/AbuseFilterViewList.php",
|
2017-12-16 00:26:25 +00:00
|
|
|
"AbuseFilterPager": "includes/pagers/AbuseFilterPager.php",
|
|
|
|
"GlobalAbuseFilterPager": "includes/pagers/GlobalAbuseFilterPager.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterView": "includes/Views/AbuseFilterView.php",
|
|
|
|
"AbuseFilterViewEdit": "includes/Views/AbuseFilterViewEdit.php",
|
|
|
|
"AbuseFilterViewTools": "includes/Views/AbuseFilterViewTools.php",
|
|
|
|
"AbuseFilterViewHistory": "includes/Views/AbuseFilterViewHistory.php",
|
2017-12-16 00:26:25 +00:00
|
|
|
"AbuseFilterHistoryPager": "includes/pagers/AbuseFilterHistoryPager.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterViewRevert": "includes/Views/AbuseFilterViewRevert.php",
|
|
|
|
"AbuseFilterViewTestBatch": "includes/Views/AbuseFilterViewTestBatch.php",
|
|
|
|
"AbuseFilterViewExamine": "includes/Views/AbuseFilterViewExamine.php",
|
2017-12-16 00:26:25 +00:00
|
|
|
"AbuseFilterExaminePager": "includes/pagers/AbuseFilterExaminePager.php",
|
|
|
|
"AbuseFilterChangesList": "includes/AbuseFilterChangesList.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterViewDiff": "includes/Views/AbuseFilterViewDiff.php",
|
2017-12-16 00:26:25 +00:00
|
|
|
"TableDiffFormatterFullContext": "includes/TableDiffFormatterFullContext.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"AbuseFilterViewImport": "includes/Views/AbuseFilterViewImport.php",
|
2016-12-19 01:13:06 +00:00
|
|
|
"AbuseFilterVariableHolder": "includes/AbuseFilterVariableHolder.php",
|
2016-12-17 17:52:36 +00:00
|
|
|
"AFComputedVariable": "includes/AFComputedVariable.php",
|
|
|
|
"AFPData": "includes/parser/AFPData.php",
|
|
|
|
"AFPException": "includes/parser/AFPException.php",
|
|
|
|
"AFPParserState": "includes/parser/AFPParserState.php",
|
|
|
|
"AFPToken": "includes/parser/AFPToken.php",
|
|
|
|
"AFPTreeNode": "includes/parser/AFPTreeNode.php",
|
|
|
|
"AFPTreeParser": "includes/parser/AFPTreeParser.php",
|
|
|
|
"AFPUserVisibleException": "includes/parser/AFPUserVisibleException.php",
|
2017-08-07 23:11:38 +00:00
|
|
|
"ApiQueryAbuseLog": "includes/api/ApiQueryAbuseLog.php",
|
|
|
|
"ApiQueryAbuseFilters": "includes/api/ApiQueryAbuseFilters.php",
|
|
|
|
"ApiAbuseFilterCheckSyntax": "includes/api/ApiAbuseFilterCheckSyntax.php",
|
|
|
|
"ApiAbuseFilterEvalExpression": "includes/api/ApiAbuseFilterEvalExpression.php",
|
|
|
|
"ApiAbuseFilterUnblockAutopromote": "includes/api/ApiAbuseFilterUnblockAutopromote.php",
|
|
|
|
"ApiAbuseFilterCheckMatch": "includes/api/ApiAbuseFilterCheckMatch.php"
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
|
|
|
"ResourceModules": {
|
|
|
|
"ext.abuseFilter": {
|
|
|
|
"styles": "ext.abuseFilter.css"
|
|
|
|
},
|
|
|
|
"ext.abuseFilter.edit": {
|
|
|
|
"scripts": "ext.abuseFilter.edit.js",
|
|
|
|
"messages": [
|
|
|
|
"abusefilter-edit-syntaxok",
|
|
|
|
"abusefilter-edit-syntaxerr",
|
|
|
|
"abusefilter-http-error",
|
|
|
|
"unknown-error"
|
|
|
|
],
|
|
|
|
"dependencies": [
|
|
|
|
"mediawiki.util",
|
|
|
|
"mediawiki.api",
|
2016-12-26 10:34:16 +00:00
|
|
|
"mediawiki.api.parse",
|
2016-05-15 11:12:40 +00:00
|
|
|
"jquery.textSelection",
|
|
|
|
"jquery.spinner"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ext.abuseFilter.tools": {
|
|
|
|
"scripts": "ext.abuseFilter.tools.js",
|
|
|
|
"messages": [
|
|
|
|
"abusefilter-reautoconfirm-notallowed",
|
|
|
|
"abusefilter-reautoconfirm-none",
|
|
|
|
"abusefilter-reautoconfirm-done",
|
|
|
|
"abusefilter-http-error",
|
|
|
|
"unknown-error"
|
|
|
|
],
|
|
|
|
"dependencies": [
|
|
|
|
"mediawiki.api",
|
|
|
|
"mediawiki.notify",
|
|
|
|
"user.tokens",
|
|
|
|
"jquery.spinner"
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"ext.abuseFilter.examine": {
|
|
|
|
"scripts": "ext.abuseFilter.examine.js",
|
|
|
|
"messages": [
|
|
|
|
"abusefilter-examine-match",
|
|
|
|
"abusefilter-examine-nomatch",
|
|
|
|
"abusefilter-examine-syntaxerror",
|
|
|
|
"abusefilter-examine-notfound",
|
|
|
|
"abusefilter-mustbeeditor",
|
|
|
|
"abusefilter-http-error",
|
|
|
|
"unknown-error"
|
|
|
|
],
|
|
|
|
"dependencies": [
|
|
|
|
"jquery.spinner",
|
|
|
|
"mediawiki.api"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"ResourceFileModulePaths": {
|
|
|
|
"localBasePath": "modules",
|
|
|
|
"remoteExtPath": "AbuseFilter/modules"
|
|
|
|
},
|
2016-06-03 18:01:56 +00:00
|
|
|
"callback": "AbuseFilterHooks::onRegistration",
|
2016-09-02 22:33:19 +00:00
|
|
|
"GrantPermissions": {
|
|
|
|
"basic": {
|
|
|
|
"abusefilter-view": true,
|
|
|
|
"abusefilter-log-detail": true,
|
|
|
|
"abusefilter-log": true
|
|
|
|
}
|
|
|
|
},
|
2016-05-15 11:12:40 +00:00
|
|
|
"Hooks": {
|
|
|
|
"EditFilterMergedContent": "AbuseFilterHooks::onEditFilterMergedContent",
|
|
|
|
"GetAutoPromoteGroups": "AbuseFilterHooks::onGetAutoPromoteGroups",
|
|
|
|
"MovePageCheckPermissions": "AbuseFilterHooks::onMovePageCheckPermissions",
|
|
|
|
"ArticleDelete": "AbuseFilterHooks::onArticleDelete",
|
|
|
|
"RecentChange_save": "AbuseFilterHooks::onRecentChangeSave",
|
|
|
|
"ListDefinedTags": "AbuseFilterHooks::onListDefinedTags",
|
|
|
|
"ChangeTagsListActive": "AbuseFilterHooks::onChangeTagsListActive",
|
|
|
|
"LoadExtensionSchemaUpdates": "AbuseFilterHooks::onLoadExtensionSchemaUpdates",
|
|
|
|
"ContributionsToolLinks": "AbuseFilterHooks::onContributionsToolLinks",
|
2016-06-17 15:23:42 +00:00
|
|
|
"UploadVerifyUpload": "AbuseFilterHooks::onUploadVerifyUpload",
|
2016-08-03 14:30:18 +00:00
|
|
|
"UploadStashFile": "AbuseFilterHooks::onUploadStashFile",
|
2016-05-15 11:12:40 +00:00
|
|
|
"MakeGlobalVariablesScript": "AbuseFilterHooks::onMakeGlobalVariablesScript",
|
2016-10-09 17:20:42 +00:00
|
|
|
"PageContentSaveComplete": "AbuseFilterHooks::onPageContentSaveComplete",
|
2016-05-15 11:12:40 +00:00
|
|
|
"UserMergeAccountFields": "AbuseFilterHooks::onUserMergeAccountFields",
|
2016-08-04 20:16:06 +00:00
|
|
|
"ParserOutputStashForEdit": "AbuseFilterHooks::onParserOutputStashForEdit"
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
|
|
|
"config": {
|
|
|
|
"@doc": "see AbuseFilter.php",
|
2016-06-03 18:01:56 +00:00
|
|
|
"AbuseFilterActions": {
|
|
|
|
"throttle": true,
|
|
|
|
"warn": true,
|
|
|
|
"disallow": true,
|
|
|
|
"blockautopromote": true,
|
|
|
|
"block": true,
|
|
|
|
"rangeblock": false,
|
|
|
|
"degroup": true,
|
|
|
|
"tag": true,
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
2016-05-15 11:12:40 +00:00
|
|
|
"AbuseFilterConditionLimit": 1000,
|
2016-12-17 17:52:36 +00:00
|
|
|
"AbuseFilterParserClass": "AbuseFilterParser",
|
2016-05-15 11:12:40 +00:00
|
|
|
"AbuseFilterEmergencyDisableThreshold": {
|
|
|
|
"default": 0.05,
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
|
|
|
"AbuseFilterEmergencyDisableCount": {
|
|
|
|
"default": 2,
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
|
|
|
"AbuseFilterEmergencyDisableAge": {
|
|
|
|
"default": 86400,
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
2016-06-03 18:01:56 +00:00
|
|
|
"AbuseFilterRestrictions": {
|
|
|
|
"flag": false,
|
|
|
|
"throttle": false,
|
|
|
|
"warn": false,
|
|
|
|
"disallow": false,
|
|
|
|
"blockautopromote": true,
|
|
|
|
"block": true,
|
|
|
|
"rangeblock": true,
|
|
|
|
"degroup": true,
|
|
|
|
"tag": false,
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
2016-05-15 11:12:40 +00:00
|
|
|
"AbuseFilterNotifications": false,
|
|
|
|
"AbuseFilterNotificationsPrivate": false,
|
|
|
|
"AbuseFilterCentralDB": null,
|
|
|
|
"AbuseFilterIsCentral": false,
|
|
|
|
"AbuseFilterDisallowGlobalLocalBlocks": false,
|
|
|
|
"AbuseFilterBlockDuration": "indefinite",
|
|
|
|
"AbuseFilterAnonBlockDuration": null,
|
|
|
|
"AbuseFilterCustomActionsHandlers": [],
|
|
|
|
"AbuseFilterValidGroups": [
|
|
|
|
"default"
|
|
|
|
],
|
|
|
|
"AbuseFilterDefaultWarningMessage": {
|
|
|
|
"default": "abusefilter-warning",
|
|
|
|
"_merge_strategy": "array_plus"
|
|
|
|
},
|
|
|
|
"AbuseFilterLogIPMaxAge": 7776000,
|
2017-08-24 14:52:49 +00:00
|
|
|
"AbuseFilterProfile": false,
|
2017-09-25 20:23:55 +00:00
|
|
|
"AbuseFilterRuntimeProfile": false,
|
2017-11-01 01:53:29 +00:00
|
|
|
"AbuseFilterSlowFilterRuntimeLimit": 500,
|
|
|
|
"AbuseFilterRangeBlockSize" : {
|
|
|
|
"IPv4": 16,
|
|
|
|
"IPv6": 19
|
2016-12-12 16:30:06 +00:00
|
|
|
},
|
|
|
|
"AbuseFilterPrivateLog": false,
|
2018-02-23 06:39:38 +00:00
|
|
|
"AbuseFilterForceSummary": false,
|
|
|
|
"AbuseFilterLogIP": true
|
2016-05-15 11:12:40 +00:00
|
|
|
},
|
|
|
|
"load_composer_autoloader": true,
|
|
|
|
"manifest_version": 1
|
|
|
|
}
|