http://p4p.arenabg.com:1337/announce
http://tracker.kicks-ass.net:80/announce
http://tracker.opentrackr.org:1337/announce
http://tracker.tricitytorrents.com:2710/announce
udp://tracker.pomf.se:80/announce
// | |
// NSString+KBAdditions.swift | |
// | |
// Created by Alexander Mayatsky on 16/03/16. | |
// | |
// Original code from http://stackoverflow.com/a/4383281/463892 & http://stackoverflow.com/a/18951386 | |
// | |
import Foundation | |
import UIKit |
var atriExtensionLoader = function() { | |
var console = window.console || { | |
"log": function(ix) {} | |
}; | |
console.log("AtriExtensions: revision 29"); | |
if (window.$) { | |
console.log("AtriExtensions: $ " + $.fn.jquery); | |
} else { | |
console.log("AtriExtensions: $ missing"); | |
return; |
public extension URL { | |
/// Creates a zip archive of the file/folder represented by this URL and returns a references to the zipped file | |
/// | |
/// - parameter dest: the destination URL; if nil, the destination will be this URL with ".zip" appended | |
func zip(dest: URL? = nil) throws -> URL { | |
let destURL = dest ?? self.appendingPathExtension("zip") | |
let fm = FileManager.default | |
var isDir: ObjCBool = false |
private static int[] encrypt(String str, String key) { | |
int[] output = new int[str.length()]; | |
for(int i = 0; i < str.length(); i++) { | |
int o = ((int) str.charAt(i) ^ (int) key.charAt(i % (key.length() - 1))) + (char)('0'); | |
output[i] = o; | |
} | |
return output; | |
} |
protocol ObjectIdentifierHashable : class, Hashable { | |
} | |
extension ObjectIdentifierHashable { | |
static func ==(lhs: Self, rhs: Self) -> Bool { | |
return lhs === rhs | |
} | |
public func hash(into hasher: inout Hasher) { | |
hasher.combine(ObjectIdentifier(self)) |