4chan-x/src/Images/ImageHost.coffee

35 lines
1.1 KiB
CoffeeScript

ImageHost =
init: ->
return unless (@useFaster = /\S/.test(Conf['fourchanImageHost'])) and g.SITE.software is 'yotsuba' and g.VIEW in ['index', 'thread']
Callbacks.Post.push
name: 'Image Host Rewriting'
cb: @node
suggestions: ['i.4cdn.org', 'is2.4chan.org']
host: ->
Conf['fourchanImageHost'].trim() or 'i.4cdn.org'
flashHost: ->
'i.4cdn.org'
thumbHost: ->
'i.4cdn.org'
test: (hostname) ->
hostname is 'i.4cdn.org' or ImageHost.regex.test(hostname)
regex: /^is\d*\.4chan(?:nel)?\.org$/
node: ->
return if @isClone
host = ImageHost.host()
if @file and ImageHost.test(@file.url.split('/')[2]) and not /\.swf$/.test(@file.url)
@file.link.hostname = host
@file.thumbLink.hostname = host if @file.thumbLink
@file.url = @file.link.href
ImageHost.fixLinks $$('a', @nodes.comment)
fixLinks: (links) ->
for link in links when ImageHost.test(link.hostname) and not /\.swf$/.test(link.pathname)
host = ImageHost.host()
link.hostname = host unless link.hostname is host
return