Skip to content

Commit 75c017a

Browse files
committed
native camo support
1 parent eefae59 commit 75c017a

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

index.coffee

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ app.get '/', (req, res)-> res.render 'index'
4343
app.get '/gifs', require('./lib/gif').index
4444
app.post '/gifs', require('./lib/gif').add
4545
app.get '/gifs/queue', require('./lib/queue').index
46-
app.get /^\/gifs\/retrieve\/(.+)$/, require('./lib/gif').retrieve
46+
unless process.env.CAMO_URL
47+
app.get /^\/gifs\/retrieve\/(.+)$/, require('./lib/gif').retrieve
4748
app.get '/screen', (req, res)-> res.render 'screen'
4849
app.get '/bpm', require('./lib/bpm').get
4950
app.get '/usage', (req, res)-> res.render 'usage'

lib/queue.coffee

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,28 @@
1+
2+
Crypto = require 'crypto'
3+
generateCamoUrl = (url) ->
4+
hmac = Crypto.createHmac("sha1", process.env.CAMO_KEY)
5+
hmac.update(url, 'utf8')
6+
digest = hmac.digest('hex')
7+
8+
buf = ""
9+
for i in [0...url.length]
10+
buf += url.charCodeAt(i).toString(16)
11+
hexurl = buf.toString()
12+
13+
"#{process.env.CAMO_URL}/#{digest}/#{hexurl}"
14+
115
redis = process.globals.redis
216

317
trimQueue = ->
418
redis.ltrim 'queue', -10, -1
519

620
exports.add = (url)->
7-
console.log(url)
21+
console.log("queue.add: #{url}")
22+
if !url.match(/\.kosendj-bu\.in\//) && process.env.CAMO_URL
23+
url = generateCamoUrl(url)
24+
console.log("queue.add-camo: #{url}")
25+
826
redis.rpush 'gifs', url
927
redis.rpush 'queue', url, -> trimQueue()
1028

0 commit comments

Comments
 (0)