Merge branch 'v3' of git://github.com/MayhemYDG/4chan-x into v3
Conflicts: Gruntfile.coffee json/archives.json src/Archive/Redirect.coffee src/General/lib/$.coffee src/Monitoring/Unread.coffee
This commit is contained in:
commit
2fa674c782
125
Gruntfile.coffee
125
Gruntfile.coffee
@ -1,18 +1,18 @@
|
|||||||
module.exports = (grunt) ->
|
module.exports = (grunt) ->
|
||||||
|
|
||||||
pkg = grunt.file.readJSON 'package.json'
|
|
||||||
concatOptions =
|
concatOptions =
|
||||||
process:
|
process: Object.create(null, data:
|
||||||
data: pkg
|
get: -> grunt.config 'pkg'
|
||||||
|
enumerable: true
|
||||||
|
)
|
||||||
shellOptions =
|
shellOptions =
|
||||||
stdout: true
|
stdout: true
|
||||||
stderr: true
|
stderr: true
|
||||||
failOnError: true
|
failOnError: true
|
||||||
|
|
||||||
# Project configuration.
|
# Project configuration.
|
||||||
grunt.initConfig
|
grunt.initConfig
|
||||||
pkg: pkg
|
pkg: grunt.file.readJSON 'package.json'
|
||||||
concat:
|
concat:
|
||||||
coffee:
|
coffee:
|
||||||
options: concatOptions
|
options: concatOptions
|
||||||
@ -38,12 +38,6 @@ module.exports = (grunt) ->
|
|||||||
]
|
]
|
||||||
dest: 'tmp-<%= pkg.type %>/script.coffee'
|
dest: 'tmp-<%= pkg.type %>/script.coffee'
|
||||||
|
|
||||||
meta:
|
|
||||||
options: concatOptions
|
|
||||||
files:
|
|
||||||
'LICENSE': 'src/General/meta/banner.js',
|
|
||||||
'latest.js': 'src/General/meta/latest.js'
|
|
||||||
|
|
||||||
crx:
|
crx:
|
||||||
options: concatOptions
|
options: concatOptions
|
||||||
files:
|
files:
|
||||||
@ -51,26 +45,28 @@ module.exports = (grunt) ->
|
|||||||
'builds/crx/script.js': [
|
'builds/crx/script.js': [
|
||||||
'src/General/meta/botproc.js'
|
'src/General/meta/botproc.js'
|
||||||
'src/General/meta/banner.js'
|
'src/General/meta/banner.js'
|
||||||
|
'src/General/meta/usestrict.js'
|
||||||
'tmp-<%= pkg.type %>/script.js'
|
'tmp-<%= pkg.type %>/script.js'
|
||||||
]
|
]
|
||||||
|
|
||||||
userscript:
|
userscript:
|
||||||
options: concatOptions
|
options: concatOptions
|
||||||
files:
|
files:
|
||||||
'builds/<%= pkg.name %>.meta.js': 'src/General/meta/metadata.js'
|
'builds/<%= pkg.name %>.meta.js': 'src/General/meta/metadata.js'
|
||||||
'builds/<%= pkg.name %>.user.js': [
|
'builds/<%= pkg.name %>.user.js': [
|
||||||
'src/General/meta/botproc.js'
|
|
||||||
'src/General/meta/metadata.js'
|
'src/General/meta/metadata.js'
|
||||||
'src/General/meta/banner.js'
|
'src/General/meta/banner.js'
|
||||||
|
'src/General/meta/usestrict.js'
|
||||||
'tmp-<%= pkg.type %>/script.js'
|
'tmp-<%= pkg.type %>/script.js'
|
||||||
]
|
]
|
||||||
|
|
||||||
copy:
|
copy:
|
||||||
crx:
|
crx:
|
||||||
src: 'src/General/img/*.png'
|
src: 'src/General/img/*.png'
|
||||||
dest: 'builds/crx/'
|
dest: 'builds/crx/'
|
||||||
expand: true
|
expand: true
|
||||||
flatten: true
|
flatten: true
|
||||||
|
nex:
|
||||||
|
src: 'builds/<%= pkg.name %>.zip'
|
||||||
|
dest: 'builds/<%= pkg.name %>.nex'
|
||||||
|
|
||||||
coffee:
|
coffee:
|
||||||
script:
|
script:
|
||||||
@ -79,21 +75,28 @@ module.exports = (grunt) ->
|
|||||||
|
|
||||||
concurrent:
|
concurrent:
|
||||||
build: [
|
build: [
|
||||||
'concat:meta'
|
|
||||||
'build-crx'
|
'build-crx'
|
||||||
'build-userscript'
|
'build-userscript'
|
||||||
]
|
]
|
||||||
|
|
||||||
|
bump:
|
||||||
|
options:
|
||||||
|
updateConfigs: [
|
||||||
|
'pkg'
|
||||||
|
]
|
||||||
|
commit: false
|
||||||
|
createTag: false
|
||||||
|
push: false
|
||||||
|
|
||||||
shell:
|
shell:
|
||||||
commit:
|
commit:
|
||||||
options: shellOptions
|
options: shellOptions
|
||||||
command: [
|
command: [
|
||||||
'git checkout <%= pkg.meta.mainBranch %>',
|
'git checkout <%= pkg.meta.mainBranch %>'
|
||||||
'git commit -am "Release <%= pkg.meta.name %> v<%= pkg.version %>."',
|
'git commit -am "Release <%= pkg.meta.name %> v<%= pkg.version %>."'
|
||||||
'git tag -a <%= pkg.version %> -m "<%= pkg.meta.name %> v<%= pkg.version %>."',
|
'git tag -a <%= pkg.version %> -m "<%= pkg.meta.name %> v<%= pkg.version %>."'
|
||||||
'git tag -af stable -m "<%= pkg.meta.name %> v<%= pkg.version %>."'
|
'git tag -af stable-v3 -m "<%= pkg.meta.name %> v<%= pkg.version %>."'
|
||||||
].join(' && ')
|
].join ' && '
|
||||||
stdout: true
|
|
||||||
|
|
||||||
push:
|
push:
|
||||||
options: shellOptions
|
options: shellOptions
|
||||||
@ -113,34 +116,28 @@ module.exports = (grunt) ->
|
|||||||
compress:
|
compress:
|
||||||
crx:
|
crx:
|
||||||
options:
|
options:
|
||||||
archive: 'builds/4chan-X-Chrome.zip'
|
archive: 'builds/<%= pkg.name %>.zip'
|
||||||
level: 9
|
level: 9
|
||||||
pretty: true
|
pretty: true
|
||||||
expand: true
|
expand: true
|
||||||
cwd: 'builds/crx/'
|
flatten: true
|
||||||
src: '**'
|
src: 'builds/crx/*'
|
||||||
|
dest: '/'
|
||||||
clean:
|
clean:
|
||||||
builds: 'builds'
|
builds: 'builds'
|
||||||
tmpcrx: 'tmp-crx'
|
tmpcrx: 'tmp-crx'
|
||||||
tmpuserscript: 'tmp-userscript'
|
tmpuserscript: 'tmp-userscript'
|
||||||
|
|
||||||
grunt.loadNpmTasks 'grunt-bump'
|
require('matchdep').filterDev('grunt-*').forEach grunt.loadNpmTasks
|
||||||
grunt.loadNpmTasks 'grunt-concurrent'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-clean'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-coffee'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-compress'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-concat'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-copy'
|
|
||||||
grunt.loadNpmTasks 'grunt-contrib-watch'
|
|
||||||
grunt.loadNpmTasks 'grunt-shell'
|
|
||||||
|
|
||||||
grunt.registerTask 'default', [
|
grunt.registerTask 'default', [
|
||||||
'build'
|
'build'
|
||||||
]
|
]
|
||||||
|
|
||||||
grunt.registerTask 'set-build', 'Set the build type variable', (type) ->
|
grunt.registerTask 'set-build', 'Set the build type variable', (type) ->
|
||||||
pkg.type = type;
|
pkg = grunt.config 'pkg'
|
||||||
|
pkg.type = type
|
||||||
|
grunt.config 'pkg', pkg
|
||||||
grunt.log.ok 'pkg.type = %s', type
|
grunt.log.ok 'pkg.type = %s', type
|
||||||
|
|
||||||
grunt.registerTask 'build', [
|
grunt.registerTask 'build', [
|
||||||
@ -165,40 +162,36 @@ module.exports = (grunt) ->
|
|||||||
]
|
]
|
||||||
|
|
||||||
grunt.registerTask 'release', [
|
grunt.registerTask 'release', [
|
||||||
'default'
|
|
||||||
'compress:crx'
|
|
||||||
'shell:commit'
|
'shell:commit'
|
||||||
'shell:push'
|
'shell:push'
|
||||||
|
'build-crx'
|
||||||
|
'compress:crx'
|
||||||
|
'copy:nex'
|
||||||
]
|
]
|
||||||
|
grunt.registerTask 'patch', [
|
||||||
grunt.registerTask 'patch', [
|
'bump'
|
||||||
'bump-only'
|
|
||||||
'reloadPkg'
|
|
||||||
'updcl:3'
|
'updcl:3'
|
||||||
|
'release'
|
||||||
]
|
]
|
||||||
|
|
||||||
grunt.registerTask 'minor', [
|
grunt.registerTask 'minor', [
|
||||||
'bump-only:minor'
|
'bump:minor'
|
||||||
'reloadPkg'
|
|
||||||
'updcl:2'
|
'updcl:2'
|
||||||
|
'release'
|
||||||
]
|
]
|
||||||
|
|
||||||
grunt.registerTask 'major', [
|
grunt.registerTask 'major', [
|
||||||
'bump-only:major'
|
'bump:major'
|
||||||
'reloadPkg'
|
|
||||||
'updcl:1'
|
'updcl:1'
|
||||||
|
'release'
|
||||||
]
|
]
|
||||||
|
|
||||||
grunt.registerTask 'reloadPkg', 'Reload the package', ->
|
grunt.registerTask 'updcl', 'Update the changelog', (headerLevel) ->
|
||||||
# Update the `pkg` object with the new version.
|
headerPrefix = new Array(+headerLevel + 1).join '#'
|
||||||
pkg = grunt.file.readJSON('package.json')
|
{version} = grunt.config 'pkg'
|
||||||
grunt.config.data.pkg = concatOptions.process.data = pkg
|
today = grunt.template.today 'yyyy-mm-dd'
|
||||||
grunt.log.ok('pkg reloaded.')
|
changelog = grunt.file.read 'CHANGELOG.md'
|
||||||
|
|
||||||
|
grunt.file.write 'CHANGELOG.md', "#{headerPrefix} #{version} - *#{today}*\n\n#{changelog}"
|
||||||
|
grunt.log.ok "Changelog updated for v#{version}."
|
||||||
|
|
||||||
grunt.registerTask 'updcl', 'Update the changelog', (i) ->
|
|
||||||
# i is the number of #s for markdown.
|
|
||||||
version = []
|
|
||||||
version.length = +i + 1
|
|
||||||
version = version.join('#') + ' v' + pkg.version + '\n*' + grunt.template.today('yyyy-mm-dd') + '*\n'
|
|
||||||
grunt.file.write 'CHANGELOG.md', version + '\n' + grunt.file.read('CHANGELOG.md')
|
|
||||||
grunt.log.ok 'Changelog updated for v' + pkg.version + '.'
|
|
||||||
@ -1,4 +1,3 @@
|
|||||||
// Generated by CoffeeScript
|
|
||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name 4chan X
|
// @name 4chan X
|
||||||
// @version 1.2.25
|
// @version 1.2.25
|
||||||
@ -108,6 +107,8 @@
|
|||||||
* license: http://userscripts.org/scripts/review/1352
|
* license: http://userscripts.org/scripts/review/1352
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var $, $$, Anonymize, ArchiveLink, Board, Build, CatalogLinks, Clone, Conf, Config, CustomCSS, DataBoard, DataBoards, DeleteLink, DownloadLink, Emoji, ExpandComment, ExpandThread, FappeTyme, Favicon, FileInfo, Filter, Fourchan, Get, Header, IDColor, ImageExpand, ImageHover, ImageLoader, Keybinds, Linkify, Main, Menu, Nav, Notification, PSAHiding, Polyfill, Post, PostHiding, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, Thread, ThreadExcerpt, ThreadHiding, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, c, d, doc, g,
|
var $, $$, Anonymize, ArchiveLink, Board, Build, CatalogLinks, Clone, Conf, Config, CustomCSS, DataBoard, DataBoards, DeleteLink, DownloadLink, Emoji, ExpandComment, ExpandThread, FappeTyme, Favicon, FileInfo, Filter, Fourchan, Get, Header, IDColor, ImageExpand, ImageHover, ImageLoader, Keybinds, Linkify, Main, Menu, Nav, Notification, PSAHiding, Polyfill, Post, PostHiding, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, Thread, ThreadExcerpt, ThreadHiding, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, c, d, doc, g,
|
||||||
__slice = [].slice,
|
__slice = [].slice,
|
||||||
@ -674,9 +675,7 @@
|
|||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
|
||||||
$.open = function(URL) {
|
$.open = GM_openInTab;
|
||||||
return GM_openInTab(URL);
|
|
||||||
};
|
|
||||||
|
|
||||||
$.debounce = function(wait, fn) {
|
$.debounce = function(wait, fn) {
|
||||||
var args, exec, lastCall, that, timeout;
|
var args, exec, lastCall, that, timeout;
|
||||||
@ -7945,6 +7944,9 @@
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
saveLastReadPost: $.debounce(2 * $.SECOND, function() {
|
saveLastReadPost: $.debounce(2 * $.SECOND, function() {
|
||||||
|
if (Unread.thread.isDead) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return Unread.db.set({
|
return Unread.db.set({
|
||||||
boardID: Unread.thread.board.ID,
|
boardID: Unread.thread.board.ID,
|
||||||
threadID: Unread.thread.ID,
|
threadID: Unread.thread.ID,
|
||||||
@ -7982,9 +7984,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
Redirect = {
|
Redirect = {
|
||||||
thread: {},
|
data: {
|
||||||
post: {},
|
thread: {},
|
||||||
file: {},
|
post: {},
|
||||||
|
file: {}
|
||||||
|
},
|
||||||
init: function() {
|
init: function() {
|
||||||
var archive, boardID, boards, data, id, name, type, _i, _len, _ref, _ref1, _ref2;
|
var archive, boardID, boards, data, id, name, type, _i, _len, _ref, _ref1, _ref2;
|
||||||
|
|
||||||
@ -7998,7 +8002,7 @@
|
|||||||
if (!boards.contains(boardID)) {
|
if (!boards.contains(boardID)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Redirect[type][boardID] = archive;
|
Redirect.data[type][boardID] = archive;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -8008,126 +8012,118 @@
|
|||||||
_ref2 = archive.boards;
|
_ref2 = archive.boards;
|
||||||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
||||||
boardID = _ref2[_i];
|
boardID = _ref2[_i];
|
||||||
if (!(boardID in Redirect.thread)) {
|
if (!(boardID in Redirect.data.thread)) {
|
||||||
Redirect.thread[boardID] = archive;
|
Redirect.data.thread[boardID] = archive;
|
||||||
}
|
}
|
||||||
if (!(boardID in Redirect.post || archive.software !== 'foolfuuka')) {
|
if (!(boardID in Redirect.data.post || archive.software !== 'foolfuuka')) {
|
||||||
Redirect.post[boardID] = archive;
|
Redirect.data.post[boardID] = archive;
|
||||||
}
|
}
|
||||||
if (!(boardID in Redirect.file || !archive.files.contains(boardID))) {
|
if (!(boardID in Redirect.data.file || !archive.files.contains(boardID))) {
|
||||||
Redirect.file[boardID] = archive;
|
Redirect.data.file[boardID] = archive;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
archives: {
|
archives: {
|
||||||
'Foolz': {
|
|
||||||
'domain': 'archive.foolz.us',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
|
||||||
'files': ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
|
||||||
},
|
|
||||||
'NSFW Foolz': {
|
|
||||||
'domain': 'nsfw.foolz.us',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['u'],
|
|
||||||
'files': ['u']
|
|
||||||
},
|
|
||||||
'The Dark Cave': {
|
|
||||||
'domain': 'archive.thedarkcave.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['c', 'int', 'out', 'po'],
|
|
||||||
'files': ['c', 'po']
|
|
||||||
},
|
|
||||||
'4plebs': {
|
'4plebs': {
|
||||||
'domain': 'archive.4plebs.org',
|
domain: 'archive.4plebs.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['hr', 'tg', 'tv', 'x'],
|
boards: ['hr', 'tg', 'tv', 'x'],
|
||||||
'files': ['hr', 'tg', 'tv', 'x']
|
files: ['hr', 'tg', 'tv', 'x']
|
||||||
},
|
},
|
||||||
'Nyafuu': {
|
'fap archive': {
|
||||||
'domain': 'archive.nyafuu.org',
|
domain: 'fuuka.worldathleticproject.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: false,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['c', 'w', 'wg'],
|
boards: ['b', 'e', 'h', 'hc', 'p', 's', 'u'],
|
||||||
'files': ['c', 'w', 'wg']
|
files: ['b', 'e', 'h', 'hc', 'p', 's', 'u']
|
||||||
|
},
|
||||||
|
'Foolz': {
|
||||||
|
domain: 'archive.foolz.us',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
||||||
|
files: ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
||||||
},
|
},
|
||||||
'Foolz a Shit': {
|
'Foolz a Shit': {
|
||||||
'domain': 'archive.foolzashit.com',
|
domain: 'archive.foolzashit.com',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv'],
|
boards: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv'],
|
||||||
'files': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
files: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
||||||
},
|
},
|
||||||
'World Athletic Project': {
|
'Foolz Beta': {
|
||||||
'domain': 'fuuka.worldathleticproject.org',
|
domain: 'beta.foolz.us',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': false,
|
https: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['e', 'h', 'hc', 'p', 's', 'u'],
|
boards: ['a', 'co', 'gd', 'h', 'jp', 'm', 'mlp', 'q', 'sp', 'tg', 'tv', 'u', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
||||||
'files': ['e', 'h', 'hc', 'p', 's', 'u']
|
files: ['a', 'gd', 'h', 'jp', 'm', 'q', 'tg', 'u', 'vg', 'vp', 'vr', 'wsg']
|
||||||
},
|
|
||||||
'Install Gentoo': {
|
|
||||||
'domain': 'archive.installgentoo.net',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['diy', 'g', 'sci'],
|
|
||||||
'files': []
|
|
||||||
},
|
|
||||||
'warosu': {
|
|
||||||
'domain': 'fuuka.warosu.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
|
||||||
},
|
|
||||||
'Rebecca Black Tech': {
|
|
||||||
'domain': 'rbt.asia',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['cgl', 'g', 'mu', 'w'],
|
|
||||||
'files': ['cgl', 'g', 'mu', 'w']
|
|
||||||
},
|
},
|
||||||
'Heinessen': {
|
'Heinessen': {
|
||||||
'domain': 'archive.heinessen.com',
|
domain: 'archive.heinessen.com',
|
||||||
'http': true,
|
http: true,
|
||||||
'software': 'fuuka',
|
software: 'fuuka',
|
||||||
'boards': ['an', 'fit', 'k', 'mlp', 'r9k', 'toy'],
|
boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy'],
|
||||||
'files': ['an', 'k', 'toy']
|
files: ['an', 'k', 'toy']
|
||||||
|
},
|
||||||
|
'Install Gentoo': {
|
||||||
|
domain: 'archive.installgentoo.net',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'fuuka',
|
||||||
|
boards: ['diy', 'g', 'sci'],
|
||||||
|
files: []
|
||||||
|
},
|
||||||
|
'NSFW Foolz': {
|
||||||
|
domain: 'nsfw.foolz.us',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['u'],
|
||||||
|
files: ['u']
|
||||||
|
},
|
||||||
|
'Nyafuu': {
|
||||||
|
domain: 'archive.nyafuu.org',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['c', 'w', 'wg'],
|
||||||
|
files: ['c', 'w', 'wg']
|
||||||
|
},
|
||||||
|
'Rebecca Black Tech': {
|
||||||
|
domain: 'rbt.asia',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'fuuka',
|
||||||
|
boards: ['cgl', 'g', 'mu', 'w'],
|
||||||
|
files: ['cgl', 'g', 'mu', 'w']
|
||||||
|
},
|
||||||
|
'The Dark Cave': {
|
||||||
|
domain: 'archive.thedarkcave.org',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['c', 'int', 'out', 'po'],
|
||||||
|
files: ['c', 'po']
|
||||||
},
|
},
|
||||||
'warosu': {
|
'warosu': {
|
||||||
'domain': 'fuuka.warosu.org',
|
domain: 'fuuka.warosu.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: true,
|
||||||
'software': 'fuuka',
|
software: 'fuuka',
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
boards: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'vr']
|
files: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
||||||
},
|
|
||||||
'worldathleticproject': {
|
|
||||||
'domain': 'fuuka.worldathleticproject.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['e', 'h', 'p', 's', 'u'],
|
|
||||||
'files': ['e', 'h', 'p', 's', 'u']
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
to: function(dest, data) {
|
to: function(dest, data) {
|
||||||
var archive;
|
var archive;
|
||||||
|
|
||||||
archive = (dest === 'search' ? Redirect.thread : Redirect[dest])[data.boardID];
|
archive = (dest === 'search' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
||||||
if (!archive) {
|
if (!archive) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
|
|||||||
@ -89,6 +89,8 @@
|
|||||||
* license: http://userscripts.org/scripts/review/1352
|
* license: http://userscripts.org/scripts/review/1352
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
'use strict';
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var $, $$, Anonymize, ArchiveLink, Board, Build, CatalogLinks, Clone, Conf, Config, CustomCSS, DataBoard, DataBoards, DeleteLink, DownloadLink, Emoji, ExpandComment, ExpandThread, FappeTyme, Favicon, FileInfo, Filter, Fourchan, Get, Header, IDColor, ImageExpand, ImageHover, ImageLoader, Keybinds, Linkify, Main, Menu, Nav, Notification, PSAHiding, Polyfill, Post, PostHiding, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, Thread, ThreadExcerpt, ThreadHiding, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, c, d, doc, g,
|
var $, $$, Anonymize, ArchiveLink, Board, Build, CatalogLinks, Clone, Conf, Config, CustomCSS, DataBoard, DataBoards, DeleteLink, DownloadLink, Emoji, ExpandComment, ExpandThread, FappeTyme, Favicon, FileInfo, Filter, Fourchan, Get, Header, IDColor, ImageExpand, ImageHover, ImageLoader, Keybinds, Linkify, Main, Menu, Nav, Notification, PSAHiding, Polyfill, Post, PostHiding, QR, QuoteBacklink, QuoteCT, QuoteInline, QuoteOP, QuotePreview, QuoteStrikeThrough, QuoteThreading, QuoteYou, Quotify, Recursive, Redirect, RelativeDates, RemoveSpoilers, Report, ReportLink, RevealSpoilers, Sauce, Settings, Thread, ThreadExcerpt, ThreadHiding, ThreadStats, ThreadUpdater, ThreadWatcher, Time, UI, Unread, c, d, doc, g,
|
||||||
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
__indexOf = [].indexOf || function(item) { for (var i = 0, l = this.length; i < l; i++) { if (i in this && this[i] === item) return i; } return -1; },
|
||||||
@ -7923,6 +7925,9 @@
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
saveLastReadPost: $.debounce(2 * $.SECOND, function() {
|
saveLastReadPost: $.debounce(2 * $.SECOND, function() {
|
||||||
|
if (Unread.thread.isDead) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
return Unread.db.set({
|
return Unread.db.set({
|
||||||
boardID: Unread.thread.board.ID,
|
boardID: Unread.thread.board.ID,
|
||||||
threadID: Unread.thread.ID,
|
threadID: Unread.thread.ID,
|
||||||
@ -7965,9 +7970,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
Redirect = {
|
Redirect = {
|
||||||
thread: {},
|
data: {
|
||||||
post: {},
|
thread: {},
|
||||||
file: {},
|
post: {},
|
||||||
|
file: {}
|
||||||
|
},
|
||||||
init: function() {
|
init: function() {
|
||||||
var archive, boardID, boards, data, id, name, type, _i, _len, _ref, _ref1, _ref2;
|
var archive, boardID, boards, data, id, name, type, _i, _len, _ref, _ref1, _ref2;
|
||||||
|
|
||||||
@ -7981,7 +7988,7 @@
|
|||||||
if (!boards.contains(boardID)) {
|
if (!boards.contains(boardID)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Redirect[type][boardID] = archive;
|
Redirect.data[type][boardID] = archive;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -7991,126 +7998,118 @@
|
|||||||
_ref2 = archive.boards;
|
_ref2 = archive.boards;
|
||||||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
||||||
boardID = _ref2[_i];
|
boardID = _ref2[_i];
|
||||||
if (!(boardID in Redirect.thread)) {
|
if (!(boardID in Redirect.data.thread)) {
|
||||||
Redirect.thread[boardID] = archive;
|
Redirect.data.thread[boardID] = archive;
|
||||||
}
|
}
|
||||||
if (!(boardID in Redirect.post || archive.software !== 'foolfuuka')) {
|
if (!(boardID in Redirect.data.post || archive.software !== 'foolfuuka')) {
|
||||||
Redirect.post[boardID] = archive;
|
Redirect.data.post[boardID] = archive;
|
||||||
}
|
}
|
||||||
if (!(boardID in Redirect.file || !archive.files.contains(boardID))) {
|
if (!(boardID in Redirect.data.file || !archive.files.contains(boardID))) {
|
||||||
Redirect.file[boardID] = archive;
|
Redirect.data.file[boardID] = archive;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
archives: {
|
archives: {
|
||||||
'Foolz': {
|
|
||||||
'domain': 'archive.foolz.us',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
|
||||||
'files': ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
|
||||||
},
|
|
||||||
'NSFW Foolz': {
|
|
||||||
'domain': 'nsfw.foolz.us',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['u'],
|
|
||||||
'files': ['u']
|
|
||||||
},
|
|
||||||
'The Dark Cave': {
|
|
||||||
'domain': 'archive.thedarkcave.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['c', 'int', 'out', 'po'],
|
|
||||||
'files': ['c', 'po']
|
|
||||||
},
|
|
||||||
'4plebs': {
|
'4plebs': {
|
||||||
'domain': 'archive.4plebs.org',
|
domain: 'archive.4plebs.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['hr', 'tg', 'tv', 'x'],
|
boards: ['hr', 'tg', 'tv', 'x'],
|
||||||
'files': ['hr', 'tg', 'tv', 'x']
|
files: ['hr', 'tg', 'tv', 'x']
|
||||||
},
|
},
|
||||||
'Nyafuu': {
|
'fap archive': {
|
||||||
'domain': 'archive.nyafuu.org',
|
domain: 'fuuka.worldathleticproject.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: false,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['c', 'w', 'wg'],
|
boards: ['b', 'e', 'h', 'hc', 'p', 's', 'u'],
|
||||||
'files': ['c', 'w', 'wg']
|
files: ['b', 'e', 'h', 'hc', 'p', 's', 'u']
|
||||||
|
},
|
||||||
|
'Foolz': {
|
||||||
|
domain: 'archive.foolz.us',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
||||||
|
files: ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
||||||
},
|
},
|
||||||
'Foolz a Shit': {
|
'Foolz a Shit': {
|
||||||
'domain': 'archive.foolzashit.com',
|
domain: 'archive.foolzashit.com',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv'],
|
boards: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv'],
|
||||||
'files': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
files: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
||||||
},
|
},
|
||||||
'World Athletic Project': {
|
'Foolz Beta': {
|
||||||
'domain': 'fuuka.worldathleticproject.org',
|
domain: 'beta.foolz.us',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': false,
|
https: true,
|
||||||
'software': 'foolfuuka',
|
software: 'foolfuuka',
|
||||||
'boards': ['e', 'h', 'hc', 'p', 's', 'u'],
|
boards: ['a', 'co', 'gd', 'h', 'jp', 'm', 'mlp', 'q', 'sp', 'tg', 'tv', 'u', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
||||||
'files': ['e', 'h', 'hc', 'p', 's', 'u']
|
files: ['a', 'gd', 'h', 'jp', 'm', 'q', 'tg', 'u', 'vg', 'vp', 'vr', 'wsg']
|
||||||
},
|
|
||||||
'Install Gentoo': {
|
|
||||||
'domain': 'archive.installgentoo.net',
|
|
||||||
'http': false,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['diy', 'g', 'sci'],
|
|
||||||
'files': []
|
|
||||||
},
|
|
||||||
'warosu': {
|
|
||||||
'domain': 'fuuka.warosu.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
|
||||||
},
|
|
||||||
'Rebecca Black Tech': {
|
|
||||||
'domain': 'rbt.asia',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'fuuka',
|
|
||||||
'boards': ['cgl', 'g', 'mu', 'w'],
|
|
||||||
'files': ['cgl', 'g', 'mu', 'w']
|
|
||||||
},
|
},
|
||||||
'Heinessen': {
|
'Heinessen': {
|
||||||
'domain': 'archive.heinessen.com',
|
domain: 'archive.heinessen.com',
|
||||||
'http': true,
|
http: true,
|
||||||
'software': 'fuuka',
|
software: 'fuuka',
|
||||||
'boards': ['an', 'fit', 'k', 'mlp', 'r9k', 'toy'],
|
boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy'],
|
||||||
'files': ['an', 'k', 'toy']
|
files: ['an', 'k', 'toy']
|
||||||
|
},
|
||||||
|
'Install Gentoo': {
|
||||||
|
domain: 'archive.installgentoo.net',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'fuuka',
|
||||||
|
boards: ['diy', 'g', 'sci'],
|
||||||
|
files: []
|
||||||
|
},
|
||||||
|
'NSFW Foolz': {
|
||||||
|
domain: 'nsfw.foolz.us',
|
||||||
|
http: false,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['u'],
|
||||||
|
files: ['u']
|
||||||
|
},
|
||||||
|
'Nyafuu': {
|
||||||
|
domain: 'archive.nyafuu.org',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['c', 'w', 'wg'],
|
||||||
|
files: ['c', 'w', 'wg']
|
||||||
|
},
|
||||||
|
'Rebecca Black Tech': {
|
||||||
|
domain: 'rbt.asia',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'fuuka',
|
||||||
|
boards: ['cgl', 'g', 'mu', 'w'],
|
||||||
|
files: ['cgl', 'g', 'mu', 'w']
|
||||||
|
},
|
||||||
|
'The Dark Cave': {
|
||||||
|
domain: 'archive.thedarkcave.org',
|
||||||
|
http: true,
|
||||||
|
https: true,
|
||||||
|
software: 'foolfuuka',
|
||||||
|
boards: ['c', 'int', 'out', 'po'],
|
||||||
|
files: ['c', 'po']
|
||||||
},
|
},
|
||||||
'warosu': {
|
'warosu': {
|
||||||
'domain': 'fuuka.warosu.org',
|
domain: 'fuuka.warosu.org',
|
||||||
'http': true,
|
http: true,
|
||||||
'https': true,
|
https: true,
|
||||||
'software': 'fuuka',
|
software: 'fuuka',
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
boards: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr'],
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'vr']
|
files: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
||||||
},
|
|
||||||
'worldathleticproject': {
|
|
||||||
'domain': 'fuuka.worldathleticproject.org',
|
|
||||||
'http': true,
|
|
||||||
'https': true,
|
|
||||||
'software': 'foolfuuka',
|
|
||||||
'boards': ['e', 'h', 'p', 's', 'u'],
|
|
||||||
'files': ['e', 'h', 'p', 's', 'u']
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
to: function(dest, data) {
|
to: function(dest, data) {
|
||||||
var archive;
|
var archive;
|
||||||
|
|
||||||
archive = (dest === 'search' ? Redirect.thread : Redirect[dest])[data.boardID];
|
archive = (dest === 'search' ? Redirect.data.thread : Redirect.data[dest])[data.boardID];
|
||||||
if (!archive) {
|
if (!archive) {
|
||||||
return '';
|
return '';
|
||||||
}
|
}
|
||||||
@ -10331,7 +10330,6 @@
|
|||||||
if ((_ref = $('link[href*=mobile]', d.head)) != null) {
|
if ((_ref = $('link[href*=mobile]', d.head)) != null) {
|
||||||
_ref.disabled = true;
|
_ref.disabled = true;
|
||||||
}
|
}
|
||||||
$.addClass(doc, 'webkit');
|
|
||||||
$.addClass(doc, 'blink');
|
$.addClass(doc, 'blink');
|
||||||
$.addClass(doc, 'fourchan-x');
|
$.addClass(doc, 'fourchan-x');
|
||||||
$.addClass(doc, g.VIEW);
|
$.addClass(doc, g.VIEW);
|
||||||
|
|||||||
109
json/archives.json
Normal file
109
json/archives.json
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
[{
|
||||||
|
"uid": 0,
|
||||||
|
"name": "Foolz",
|
||||||
|
"domain": "archive.foolz.us",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["a", "co", "gd", "jp", "m", "q", "sp", "tg", "tv", "v", "vg", "vp", "vr", "wsg"],
|
||||||
|
"files": ["a", "gd", "jp", "m", "q", "tg", "vg", "vp", "vr", "wsg"]
|
||||||
|
}, {
|
||||||
|
"uid": 1,
|
||||||
|
"name": "NSFW Foolz",
|
||||||
|
"domain": "nsfw.foolz.us",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["u"],
|
||||||
|
"files": ["u"]
|
||||||
|
}, {
|
||||||
|
"uid": 2,
|
||||||
|
"name": "The Dark Cave",
|
||||||
|
"domain": "archive.thedarkcave.org",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["c", "int", "out", "po"],
|
||||||
|
"files": ["c", "po"]
|
||||||
|
}, {
|
||||||
|
"uid": 3,
|
||||||
|
"name": "4plebs",
|
||||||
|
"domain": "archive.4plebs.org",
|
||||||
|
"http": true,
|
||||||
|
"https": false,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["hr", "tg", "tv", "x"],
|
||||||
|
"files": ["hr", "tg", "tv", "x"]
|
||||||
|
}, {
|
||||||
|
"uid": 4,
|
||||||
|
"name": "Nyafuu",
|
||||||
|
"domain": "archive.nyafuu.org",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["c", "w", "wg"],
|
||||||
|
"files": ["c", "w", "wg"]
|
||||||
|
}, {
|
||||||
|
"uid": 11,
|
||||||
|
"name": "Foolz a Shit",
|
||||||
|
"domain": "archive.foolzashit.com",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["adv", "asp", "cm", "e", "i", "lgbt", "n", "o", "p", "pol", "s", "s4s", "t", "trv", "y"],
|
||||||
|
"files": ["adv", "asp", "cm", "e", "i", "lgbt", "n", "o", "p", "s", "s4s", "t", "trv", "y"]
|
||||||
|
}, {
|
||||||
|
"uid": 12,
|
||||||
|
"name": "fap archive",
|
||||||
|
"domain": "fuuka.worldathleticproject.org",
|
||||||
|
"http": true,
|
||||||
|
"https": false,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["b", "e", "h", "hc", "p", "s", "u"],
|
||||||
|
"files": ["b", "e", "h", "hc", "p", "s", "u"]
|
||||||
|
}, {
|
||||||
|
"uid": 7,
|
||||||
|
"name": "Install Gentoo",
|
||||||
|
"domain": "archive.installgentoo.net",
|
||||||
|
"http": false,
|
||||||
|
"https": true,
|
||||||
|
"software": "fuuka",
|
||||||
|
"boards": ["diy", "g", "sci"],
|
||||||
|
"files": []
|
||||||
|
}, {
|
||||||
|
"uid": 8,
|
||||||
|
"name": "Rebecca Black Tech",
|
||||||
|
"domain": "rbt.asia",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "fuuka",
|
||||||
|
"boards": ["cgl", "g", "mu", "w"],
|
||||||
|
"files": ["cgl", "g", "mu", "w"]
|
||||||
|
}, {
|
||||||
|
"uid": 9,
|
||||||
|
"name": "Heinessen",
|
||||||
|
"domain": "archive.heinessen.com",
|
||||||
|
"http": true,
|
||||||
|
"https": false,
|
||||||
|
"software": "fuuka",
|
||||||
|
"boards": ["an", "fit", "k", "mlp", "r9k", "toy"],
|
||||||
|
"files": ["an", "fit", "k", "r9k", "toy"]
|
||||||
|
}, {
|
||||||
|
"uid": 10,
|
||||||
|
"name": "warosu",
|
||||||
|
"domain": "fuuka.warosu.org",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "fuuka",
|
||||||
|
"boards": ["3", "cgl", "ck", "fa", "ic", "jp", "lit", "q", "tg", "vr"],
|
||||||
|
"files": ["3", "cgl", "ck", "fa", "ic", "jp", "lit", "q", "tg", "vr"]
|
||||||
|
}, {
|
||||||
|
"uid": 13,
|
||||||
|
"name": "Foolz Beta",
|
||||||
|
"domain": "beta.foolz.us",
|
||||||
|
"http": true,
|
||||||
|
"https": true,
|
||||||
|
"software": "foolfuuka",
|
||||||
|
"boards": ["a", "co", "gd", "h", "jp", "m", "mlp", "q", "sp", "tg", "tv", "u", "v", "vg", "vp", "vr", "wsg"],
|
||||||
|
"files": ["a", "gd", "h", "jp", "m", "q", "tg", "u", "vg", "vp", "vr", "wsg"]
|
||||||
|
}]
|
||||||
@ -29,7 +29,8 @@
|
|||||||
"grunt-contrib-concat": "~0.3.0",
|
"grunt-contrib-concat": "~0.3.0",
|
||||||
"grunt-contrib-copy": "~0.4.1",
|
"grunt-contrib-copy": "~0.4.1",
|
||||||
"grunt-contrib-watch": "~0.5.0",
|
"grunt-contrib-watch": "~0.5.0",
|
||||||
"grunt-shell": "~0.3.1"
|
"grunt-shell": "~0.3.1",
|
||||||
|
"matchdep": "~0.1.2"
|
||||||
},
|
},
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
Redirect =
|
Redirect =
|
||||||
thread: {}
|
data:
|
||||||
post: {}
|
thread: {}
|
||||||
file: {}
|
post: {}
|
||||||
|
file: {}
|
||||||
|
|
||||||
init: ->
|
init: ->
|
||||||
for boardID, data of Conf['selectedArchives']
|
for boardID, data of Conf['selectedArchives']
|
||||||
@ -9,122 +10,114 @@ Redirect =
|
|||||||
if archive = Redirect.archives[id]
|
if archive = Redirect.archives[id]
|
||||||
boards = archive[type] or archive['boards']
|
boards = archive[type] or archive['boards']
|
||||||
continue unless boards.contains boardID
|
continue unless boards.contains boardID
|
||||||
Redirect[type][boardID] = archive
|
Redirect.data[type][boardID] = archive
|
||||||
for name, archive of Redirect.archives
|
for name, archive of Redirect.archives
|
||||||
for boardID in archive.boards
|
for boardID in archive.boards
|
||||||
unless boardID of Redirect.thread
|
unless boardID of Redirect.data.thread
|
||||||
Redirect.thread[boardID] = archive
|
Redirect.data.thread[boardID] = archive
|
||||||
unless boardID of Redirect.post or archive.software isnt 'foolfuuka'
|
unless boardID of Redirect.data.post or archive.software isnt 'foolfuuka'
|
||||||
Redirect.post[boardID] = archive
|
Redirect.data.post[boardID] = archive
|
||||||
unless boardID of Redirect.file or !archive.files.contains boardID
|
unless boardID of Redirect.data.file or !archive.files.contains boardID
|
||||||
Redirect.file[boardID] = archive
|
Redirect.data.file[boardID] = archive
|
||||||
return
|
return
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
'Foolz':
|
|
||||||
'domain': 'archive.foolz.us'
|
|
||||||
'http': false
|
|
||||||
'https': true
|
|
||||||
'software': 'foolfuuka'
|
|
||||||
'boards': ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg']
|
|
||||||
'files': ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
|
||||||
|
|
||||||
'NSFW Foolz':
|
|
||||||
'domain': 'nsfw.foolz.us'
|
|
||||||
'http': false
|
|
||||||
'https': true
|
|
||||||
'software': 'foolfuuka'
|
|
||||||
'boards': ['u']
|
|
||||||
'files': ['u']
|
|
||||||
|
|
||||||
'The Dark Cave':
|
|
||||||
'domain': 'archive.thedarkcave.org'
|
|
||||||
'http': true
|
|
||||||
'https': true
|
|
||||||
'software': 'foolfuuka'
|
|
||||||
'boards': ['c', 'int', 'out', 'po']
|
|
||||||
'files': ['c', 'po']
|
|
||||||
|
|
||||||
'4plebs':
|
'4plebs':
|
||||||
'domain': 'archive.4plebs.org'
|
domain: 'archive.4plebs.org'
|
||||||
'http': true
|
http: true
|
||||||
'software': 'foolfuuka'
|
software: 'foolfuuka'
|
||||||
'boards': ['hr', 'tg', 'tv', 'x']
|
boards: ['hr', 'tg', 'tv', 'x']
|
||||||
'files': ['hr', 'tg', 'tv', 'x']
|
files: ['hr', 'tg', 'tv', 'x']
|
||||||
|
|
||||||
'Nyafuu':
|
'fap archive':
|
||||||
'domain': 'archive.nyafuu.org'
|
domain: 'fuuka.worldathleticproject.org'
|
||||||
'http': true
|
http: true
|
||||||
'https': true
|
https: false
|
||||||
'software': 'foolfuuka'
|
software: 'foolfuuka'
|
||||||
'boards': ['c', 'w', 'wg']
|
boards: ['b', 'e', 'h', 'hc', 'p', 's', 'u']
|
||||||
'files': ['c', 'w', 'wg']
|
files: ['b', 'e', 'h', 'hc', 'p', 's', 'u']
|
||||||
|
|
||||||
|
'Foolz':
|
||||||
|
domain: 'archive.foolz.us'
|
||||||
|
http: false
|
||||||
|
https: true
|
||||||
|
software: 'foolfuuka'
|
||||||
|
boards: ['a', 'co', 'gd', 'jp', 'm', 'q', 'sp', 'tg', 'tv', 'v', 'vg', 'vp', 'vr', 'wsg']
|
||||||
|
files: ['a', 'gd', 'jp', 'm', 'q', 'tg', 'vg', 'vp', 'vr', 'wsg']
|
||||||
|
|
||||||
'Foolz a Shit':
|
'Foolz a Shit':
|
||||||
'domain': 'archive.foolzashit.com'
|
domain: 'archive.foolzashit.com'
|
||||||
'http': true
|
http: true
|
||||||
'https': true
|
https: true
|
||||||
'software': 'foolfuuka'
|
software: 'foolfuuka'
|
||||||
'boards': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
boards: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
||||||
'files': ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
files: ['adv', 'asp', 'cm', 'i', 'lgbt', 'n', 'o', 'p', 's4s', 't', 'trv']
|
||||||
|
|
||||||
'World Athletic Project':
|
'Foolz Beta':
|
||||||
'domain': 'fuuka.worldathleticproject.org'
|
domain: 'beta.foolz.us'
|
||||||
'http': true
|
http: true
|
||||||
'https': false
|
https: true,
|
||||||
'software': 'foolfuuka'
|
software: 'foolfuuka'
|
||||||
'boards': ['e', 'h', 'hc', 'p', 's', 'u']
|
boards: ['a', 'co', 'gd', 'h', 'jp', 'm', 'mlp', 'q', 'sp', 'tg', 'tv', 'u', 'v', 'vg', 'vp', 'vr', 'wsg'],
|
||||||
'files': ['e', 'h', 'hc', 'p', 's', 'u']
|
files: ['a', 'gd', 'h', 'jp', 'm', 'q', 'tg', 'u', 'vg', 'vp', 'vr', 'wsg']
|
||||||
|
|
||||||
'Install Gentoo':
|
|
||||||
'domain': 'archive.installgentoo.net'
|
|
||||||
'http': false
|
|
||||||
'https': true
|
|
||||||
'software': 'fuuka'
|
|
||||||
'boards': ['diy', 'g', 'sci']
|
|
||||||
'files': []
|
|
||||||
|
|
||||||
'warosu':
|
|
||||||
'domain': 'fuuka.warosu.org'
|
|
||||||
'http': true
|
|
||||||
'https': true
|
|
||||||
'software': 'fuuka'
|
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
|
||||||
|
|
||||||
'Rebecca Black Tech':
|
|
||||||
'domain': 'rbt.asia'
|
|
||||||
'http': true
|
|
||||||
'https': true
|
|
||||||
'software': 'fuuka'
|
|
||||||
'boards': ['cgl', 'g', 'mu', 'w']
|
|
||||||
'files': ['cgl', 'g', 'mu', 'w']
|
|
||||||
|
|
||||||
'Heinessen':
|
'Heinessen':
|
||||||
'domain': 'archive.heinessen.com'
|
domain: 'archive.heinessen.com'
|
||||||
'http': true
|
http: true
|
||||||
'software': 'fuuka'
|
software: 'fuuka'
|
||||||
'boards': ['an', 'fit', 'k', 'mlp', 'r9k', 'toy']
|
boards: ['an', 'fit', 'k', 'mlp', 'r9k', 'toy']
|
||||||
'files': ['an', 'k', 'toy']
|
files: ['an', 'k', 'toy']
|
||||||
|
|
||||||
|
'Install Gentoo':
|
||||||
|
domain: 'archive.installgentoo.net'
|
||||||
|
http: false
|
||||||
|
https: true
|
||||||
|
software: 'fuuka'
|
||||||
|
boards: ['diy', 'g', 'sci']
|
||||||
|
files: []
|
||||||
|
|
||||||
|
'NSFW Foolz':
|
||||||
|
domain: 'nsfw.foolz.us'
|
||||||
|
http: false
|
||||||
|
https: true
|
||||||
|
software: 'foolfuuka'
|
||||||
|
boards: ['u']
|
||||||
|
files: ['u']
|
||||||
|
|
||||||
|
'Nyafuu':
|
||||||
|
domain: 'archive.nyafuu.org'
|
||||||
|
http: true
|
||||||
|
https: true
|
||||||
|
software: 'foolfuuka'
|
||||||
|
boards: ['c', 'w', 'wg']
|
||||||
|
files: ['c', 'w', 'wg']
|
||||||
|
|
||||||
|
'Rebecca Black Tech':
|
||||||
|
domain: 'rbt.asia'
|
||||||
|
http: true
|
||||||
|
https: true
|
||||||
|
software: 'fuuka'
|
||||||
|
boards: ['cgl', 'g', 'mu', 'w']
|
||||||
|
files: ['cgl', 'g', 'mu', 'w']
|
||||||
|
|
||||||
|
'The Dark Cave':
|
||||||
|
domain: 'archive.thedarkcave.org'
|
||||||
|
http: true
|
||||||
|
https: true
|
||||||
|
software: 'foolfuuka'
|
||||||
|
boards: ['c', 'int', 'out', 'po']
|
||||||
|
files: ['c', 'po']
|
||||||
|
|
||||||
'warosu':
|
'warosu':
|
||||||
'domain': 'fuuka.warosu.org'
|
domain: 'fuuka.warosu.org'
|
||||||
'http': true
|
http: true
|
||||||
'https': true
|
https: true
|
||||||
'software': 'fuuka'
|
software: 'fuuka'
|
||||||
'boards': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
boards: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
||||||
'files': ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'vr']
|
files: ['3', 'cgl', 'ck', 'fa', 'ic', 'jp', 'lit', 'q', 'tg', 'vr']
|
||||||
|
|
||||||
'worldathleticproject':
|
|
||||||
'domain': 'fuuka.worldathleticproject.org'
|
|
||||||
'http': true
|
|
||||||
'https': true
|
|
||||||
'software': 'foolfuuka'
|
|
||||||
'boards': ['e', 'h', 'p', 's', 'u']
|
|
||||||
'files': ['e', 'h', 'p', 's', 'u']
|
|
||||||
|
|
||||||
to: (dest, data) ->
|
to: (dest, data) ->
|
||||||
archive = (if dest is 'search' then Redirect.thread else Redirect[dest])[data.boardID]
|
archive = (if dest is 'search' then Redirect.data.thread else Redirect.data[dest])[data.boardID]
|
||||||
return '' unless archive
|
return '' unless archive
|
||||||
Redirect[dest] archive, data
|
Redirect[dest] archive, data
|
||||||
|
|
||||||
|
|||||||
@ -139,7 +139,6 @@ Main =
|
|||||||
# disable the mobile layout
|
# disable the mobile layout
|
||||||
$('link[href*=mobile]', d.head)?.disabled = true
|
$('link[href*=mobile]', d.head)?.disabled = true
|
||||||
<% if (type === 'crx') { %>
|
<% if (type === 'crx') { %>
|
||||||
$.addClass doc, 'webkit'
|
|
||||||
$.addClass doc, 'blink'
|
$.addClass doc, 'blink'
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
$.addClass doc, 'gecko'
|
$.addClass doc, 'gecko'
|
||||||
|
|||||||
@ -219,11 +219,11 @@ $.off = (el, events, handler) ->
|
|||||||
$.event = (event, detail, root=d) ->
|
$.event = (event, detail, root=d) ->
|
||||||
root.dispatchEvent new CustomEvent event, {bubbles: true, detail}
|
root.dispatchEvent new CustomEvent event, {bubbles: true, detail}
|
||||||
|
|
||||||
$.open = (URL) ->
|
$.open =
|
||||||
<% if (type === 'userscript') { %>
|
<% if (type === 'userscript') { %>
|
||||||
GM_openInTab URL
|
GM_openInTab
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
window.open URL, '_blank'
|
(URL) -> window.open URL, '_blank'
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
$.debounce = (wait, fn) ->
|
$.debounce = (wait, fn) ->
|
||||||
|
|||||||
1
src/General/meta/usestrict.js
Normal file
1
src/General/meta/usestrict.js
Normal file
@ -0,0 +1 @@
|
|||||||
|
'use strict';
|
||||||
@ -136,6 +136,7 @@ Unread =
|
|||||||
Unread.update() if e
|
Unread.update() if e
|
||||||
|
|
||||||
saveLastReadPost: $.debounce 2 * $.SECOND, ->
|
saveLastReadPost: $.debounce 2 * $.SECOND, ->
|
||||||
|
return if Unread.thread.isDead
|
||||||
Unread.db.set
|
Unread.db.set
|
||||||
boardID: Unread.thread.board.ID
|
boardID: Unread.thread.board.ID
|
||||||
threadID: Unread.thread.ID
|
threadID: Unread.thread.ID
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user