This tutorial is for Ubuntu & Squid3. Use AWS, Google cloud, Digital Ocean or any services with Ubuntu to follow this tutorial.
sudo apt-get update
sudo apt-get install squid3
sudo apt-get install apache2-utils
// ==UserScript== | |
// @name Shopee Order Statistics | |
// @namespace http://tampermonkey.net/ | |
// @version 1.1 | |
// @description Thống kê đơn hàng Shopee dựa theo https://github.com/Tiencp93/Shopee | |
// @author Lê Tí | |
// @match https://shopee.vn/user/purchase* | |
// @grant none | |
// @require https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js | |
// ==/UserScript== |
<?php | |
/** | |
* simple method to encrypt or decrypt a plain text string | |
* initialization vector(IV) has to be the same when encrypting and decrypting | |
* | |
* @param string $action: can be 'encrypt' or 'decrypt' | |
* @param string $string: string to encrypt or decrypt | |
* | |
* @return string | |
*/ |
%hook TFSKeychain | |
- (NSString *)providerDefaultAccessGroup { | |
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: | |
(__bridge NSString *)kSecClassGenericPassword, (__bridge NSString *)kSecClass, | |
@"bundleSeedID", kSecAttrAccount, | |
@"", kSecAttrService, | |
(id)kCFBooleanTrue, kSecReturnAttributes, | |
nil]; | |
CFDictionaryRef result = nil; | |
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, (CFTypeRef *)&result); |
%hook SSOKeychain | |
+ (id)accessGroup { | |
NSDictionary *query = [NSDictionary dictionaryWithObjectsAndKeys: | |
(__bridge NSString *)kSecClassGenericPassword, (__bridge NSString *)kSecClass, | |
@"bundleSeedID", kSecAttrAccount, | |
@"", kSecAttrService, | |
(id)kCFBooleanTrue, kSecReturnAttributes, | |
nil]; | |
CFDictionaryRef result = nil; | |
OSStatus status = SecItemCopyMatching((__bridge CFDictionaryRef)query, (CFTypeRef *)&result); |