n0099 / tbclient.protobuf

从 244 个历史版本百度贴吧客户端中提取出的所有 Protocol Buffers 定义文件 `.proto`
https://n0099.net/tbm
23 stars 6 forks source link

对`1.0.0`(11年11月)~`12.51.7.1`(23年12月)内293个历史版本贴吧客户端apk的archive #2

Open n0099 opened 1 year ago

n0099 commented 1 year ago
// run under https://www.wandoujia.com/apps/280375/history
const versionsUrl = $('ul.old-version-list').children().children('a[data-app-id]').map((i,e) => $(e).prop('href')).toArray();
const versions = [];
for (const versionUrl of versionsUrl) { // don't use .map() to reduce RPS
    const appInfoEl=$(jQuery.parseHTML(await (await fetch(versionUrl)).text())).find('div.app-info-wrap');
    const version = appInfoEl.find('p.version-name span').text().replace(/^v/, '')
    const createdAt= appInfoEl.find('p.update-time').text().replace(/^更新时间:/, '');
    const downloadUrl = appInfoEl.find('a.normal-dl-btn').prop('href');
    versions.push({version, createdAt, downloadUrl});
}
console.assert(versionsUrl.length === versions.length, 'some versions are missing, do you have to pass its CAPTCHA?');
console.table(versions);
console.table(JSON.stringify(versions));

Comment is too long (maximum is 65536 characters)

versions.json.gz

版本和时间

versions.map(i => `${i.version}, ${i.createdAt}`).join('\n')
12.34.3.0, 2022年12月27日 17:25
12.34.1.0, 2022年12月16日 17:16
12.32.5.2, 2022年12月02日 17:04
12.32.5.1, 2022年11月24日 20:25
12.32.3.0, 2022年11月18日 11:06
12.32.1.0, 2022年11月17日 11:42
12.31.5.0, 2022年11月03日 11:11
12.30.1.0, 2022年10月26日 14:05
12.29.7.0, 2022年10月10日 15:21
12.29.5.0, 2022年09月27日 15:10
12.29.1.1, 2022年09月15日 17:41
12.28.1.1, 2022年09月01日 14:10
12.28.1.0, 2022年08月31日 15:35
12.27.5.0, 2022年08月18日 14:05
12.27.1.1, 2022年08月12日 11:13
12.27.1.0, 2022年08月10日 12:00
12.26.5.0, 2022年07月26日 12:30
12.26.3.0, 2022年07月22日 15:10
12.26.1.0, 2022年07月15日 16:59
12.25.5.0, 2022年06月20日 15:20
12.25.1.0, 2022年05月31日 15:35
12.24.1.0, 2022年05月13日 18:45
12.23.7.0, 2022年05月05日 15:55
12.23.5.0, 2022年04月19日 16:10
12.23.1.0, 2022年04月07日 16:00
12.22.1.0, 2022年03月23日 15:20
12.21.1.0, 2022年03月08日 15:40
12.20.1.0, 2022年02月23日 18:30
12.19.1.0, 2022年01月27日 16:11
12.18.1.0, 2022年01月14日 16:35
12.17.1.0, 2021年12月29日 16:44
12.16.1.0, 2021年12月16日 18:19
12.15.1.0, 2021年12月01日 12:42
12.14.1.0, 2021年11月22日 16:25
12.13.2.0, 2021年11月10日 11:50
12.13.1.0, 2021年11月03日 12:41
12.12.1.0, 2021年10月20日 14:20
12.11.1.0, 2021年09月24日 12:05
12.10.1.0, 2021年09月10日 12:05
12.9.3.0, 2021年09月01日 11:50
12.9.2.0, 2021年08月31日 11:55
12.9.1.0, 2021年08月26日 15:11
12.8.1.1, 2021年08月11日 17:50
12.8.1.0, 2021年08月11日 14:25
12.7.6.0, 2021年07月26日 12:25
12.7.1.1, 2021年07月09日 12:00
12.7.1.0, 2021年07月08日 15:20
12.6.6.0, 2021年07月05日 15:26
12.6.3.0, 2021年06月22日 12:00
12.6.1.0, 2021年06月11日 12:00
12.5.6.0, 2021年05月25日 16:05
12.5.1.0, 2021年05月18日 16:35
12.4.8.24, 2021年04月27日 11:40
12.4.8.15, 2021年04月22日 12:04
12.4.8.14, 2021年04月20日 14:50
12.4.8.2, 2021年03月30日 15:30
12.4.8.0, 2021年03月25日 12:21
12.3.8.11, 2021年03月09日 11:21
12.3.8.10, 2021年03月08日 12:05
12.3.8.6, 2021年02月22日 11:15
12.3.8.3, 2021年02月04日 18:10
12.3.8.0, 2021年02月01日 16:06
12.2.8.11, 2021年01月19日 11:31
12.2.8.9, 2021年01月13日 11:30
12.2.8.1, 2021年01月07日 12:21
12.2.8.0, 2021年01月05日 12:45
12.1.8.4, 2020年12月15日 12:01
12.1.8.1, 2020年12月08日 15:16
12.1.8.0, 2020年12月07日 13:22
12.0.8.1, 2020年11月19日 17:36
12.0.8.0, 2020年11月18日 14:21
12.0.2.2, 2020年11月12日 11:50
11.10.8.6, 2020年10月27日 15:20
11.10.8.0, 2020年10月19日 15:56
11.9.8.0, 2020年09月21日 15:34
11.8.8.7, 2020年09月04日 17:48
11.8.8.0, 2020年08月25日 14:45
11.7.8.1, 2020年08月04日 14:00
11.7.8.0, 2020年07月31日 15:10
11.6.8.2, 2020年07月13日 16:45
11.6.8.1, 2020年07月07日 12:10
11.6.8.0, 2020年07月03日 11:46
11.5.8.3, 2020年06月04日 18:49
11.5.8.0, 2020年05月22日 11:42
11.4.8.7, 2020年05月12日 11:23
11.4.8.6, 2020年05月08日 14:49
11.4.8.0, 2020年04月17日 16:55
11.3.8.2, 2020年03月25日 12:25
11.3.8.1, 2020年03月19日 16:35
11.3.8.0, 2020年03月18日 12:05
11.2.8.4, 2020年03月13日 15:45
11.2.8.1, 2020年03月03日 12:01
11.2.8.0, 2020年02月28日 17:45
11.1.8.2, 2020年02月10日 09:25
11.1.8.1, 2020年01月15日 13:01
11.1.8.0, 2020年01月13日 12:10
11.0.0.0, 2019年12月25日 14:48
10.3.8.41, 2019年12月09日 16:16
10.3.8.34, 2019年12月02日 12:04
10.3.8.33, 2019年11月29日 10:55
10.3.8.30, 2019年11月22日 14:35
10.3.8.19, 2019年10月30日 10:05
10.3.8.12, 2019年09月20日 18:25
10.3.8.10, 2019年08月23日 15:23
10.3.8.8, 2019年08月13日 11:18
10.3.8.7, 2019年08月07日 14:22
10.3.8.1, 2019年09月25日 12:49
10.3.8.0, 2019年07月23日 15:02
10.2.8.8, 2019年06月21日 11:52
10.2.8.5, 2019年06月03日 15:07
10.2.8.2, 2019年05月29日 09:45
10.2.8.0, 2019年05月17日 10:32
10.1.8.1, 2019年04月09日 15:05
10.1.8.0, 2019年04月08日 10:21
10.0.8.4, 2019年03月15日 10:25
10.0.8.2, 2019年03月11日 11:05
10.0.8.0, 2019年03月08日 12:10
9.9.8.42, 2019年02月22日 10:47
9.9.8.41, 2019年02月18日 11:34
9.9.8.40, 2019年01月28日 10:49
9.9.8.32, 2019年01月22日 11:17
9.9.8.31, 2019年01月17日 11:02
9.9.8.20, 2019年01月03日 11:07
9.9.8.12, 2018年12月28日 12:06
9.9.8.10, 2018年12月18日 16:58
9.9.8.0, 2018年12月06日 14:49
9.8.8.13, 2019年09月02日 12:47
9.8.8.7, 2018年10月26日 11:00
9.8.8.5, 2018年10月23日 11:10
9.8.8.3, 2018年10月17日 11:12
9.8.8.0, 2018年09月27日 10:25
9.7.8.3, 2018年09月03日 17:46
9.7.8.0, 2019年09月11日 12:55
9.6.8.2, 2018年07月13日 18:14
9.6.8.1, 2018年07月03日 17:20
9.6.8.0, 2018年06月29日 10:35
9.5.8.0, 2018年06月08日 15:28
9.4.8.11, 2018年05月18日 17:49
9.4.8.6, 2018年05月04日 11:48
9.4.8.4, 2018年04月20日 16:10
9.4.8.3, 2018年04月19日 17:13
9.4.8.0, 2018年04月13日 13:21
9.3.8.5, 2019年09月10日 13:06
9.3.8.2, 2018年03月01日 11:09
9.3.8.0, 2018年02月07日 14:05
9.2.8.8, 2018年02月05日 11:13
9.2.8.7, 2018年02月01日 16:13
9.2.8.5, 2018年01月19日 15:49
9.2.8.0, 2017年12月29日 18:28
9.2.0.1, 2017年12月22日 15:35
9.1.8.3, 2017年12月21日 10:14
9.1.8.0, 2017年12月15日 19:15
9.0.8.0, 2017年12月01日 10:37
8.9.8.5, 2017年11月16日 10:40
8.9.8.0, 2017年11月01日 14:53
8.8.8.15, 2017年10月24日 16:10
8.8.8.13, 2017年10月16日 18:17
8.8.8.9, 2017年09月29日 14:26
8.8.8.6, 2017年09月19日 16:23
8.8.8.1, 2017年09月18日 18:43
8.8.8.0, 2017年08月31日 19:01
8.7.8.6, 2017年08月15日 18:57
8.7.8.2, 2017年08月04日 10:12
8.7.8.1, 2017年08月03日 10:11
8.7.8.0, 2017年08月01日 09:44
8.6.8.0, 2017年07月24日 14:34
8.5.8.0, 2017年06月01日 21:30
8.5.1.6, 2017年05月19日 18:49
8.4.8.2, 2017年04月21日 19:05
8.4.8.0, 2017年04月14日 18:43
8.3.8.0, 2017年03月07日 19:05
8.2.2, 2017年01月20日 18:08
8.1.0.4, 2016年12月29日 19:01
8.0.0.3, 2016年11月30日 19:32
7.9.2, 2016年12月02日 12:48
7.8.1, 2016年09月01日 14:24
7.7.2, 2016年07月28日 18:51
7.6.2, 2016年06月30日 19:23
7.4.5, 2016年05月16日 17:22
7.4.3, 2016年05月11日 17:49
7.3.4, 2016年03月31日 18:32
7.2.2, 2016年01月29日 15:19
7.1.7, 2016年01月20日 19:11
7.1.4, 2015年12月30日 16:56
7.0.4, 2015年12月04日 15:44
7.0.3, 2015年12月03日 23:58
6.9.9, 2015年12月07日 12:49
6.9.7, 2015年10月30日 18:11
6.9.5, 2015年10月17日 11:04
6.9.2, 2015年09月29日 16:17
6.8.7, 2015年09月08日 15:24
6.8.3, 2015年08月17日 19:39
6.7.2, 2015年06月09日 15:02
6.7.1, 2015年05月29日 17:38
6.6.6, 2015年04月09日 20:24
6.6.2, 2015年03月20日 19:48
6.5.8, 2015年02月08日 07:00
6.5.3, 2015年02月02日 16:01
6.5.2, 2014年12月12日 16:10
6.4.9, 2014年11月03日 16:01
6.4.3, 2014年10月28日 10:13
6.3.3, 2014年09月11日 09:55

所有url

versions.map(i => i.downloadUrl.replace(/\?.*$/, '')).join('\n');
https://android-apps.pp.cn/fs08/2022/12/27/1/110_e1991fa1738f338831fda04c0a050d99.apk
https://android-apps.pp.cn/fs08/2022/12/16/5/2_72c79895ab0b592212afc1b2115db59b.apk
https://android-apps.pp.cn/fs08/2022/12/02/10/106_1e8b7cbaddbd3d2baaf5bf49ee2a7a0a.apk
https://android-apps.pp.cn/fs08/2022/11/24/7/2_0d45d556d3dab102ad431a5cfe8ca17f.apk
https://android-apps.pp.cn/fs08/2022/11/18/11/2_f7c9e962cbf687fafa06c8dca3909d86.apk
https://android-apps.pp.cn/fs08/2022/11/17/5/2_95e2e817fe989638128f0ed58511b6d2.apk
https://android-apps.pp.cn/fs08/2022/11/03/8/110_0138bf81632e1623f29c9c878cc2fb26.apk
https://android-apps.pp.cn/fs08/2022/10/26/2/110_8da8af9e2fb0246824bb6c5fadf8f145.apk
https://android-apps.pp.cn/fs08/2022/10/10/11/123_dfe675cd7219b8894f60295e7ba14a21.apk
https://android-apps.pp.cn/fs08/2022/09/27/8/110_b450926674a4cd8d79b346ac5e900dd9.apk
https://android-apps.pp.cn/fs08/2022/09/15/6/110_1eb9d30b2d0b8849582b513c0bd39dd1.apk
https://android-apps.pp.cn/fs08/2022/09/01/1/110_440c0e31b4edd2c03aa72b7fd6a64bdb.apk
https://android-apps.pp.cn/fs08/2022/08/31/7/110_d86b6def64b806e8c218a094183d9751.apk
https://android-apps.pp.cn/fs08/2022/08/18/11/110_d9f86e30e924fb995c4de46165a995b9.apk
https://android-apps.pp.cn/fs08/2022/08/12/6/123_27a58110a56900a468d2b3dc95cb595b.apk
https://android-apps.pp.cn/fs08/2022/08/10/2/110_581b22bf5316620ca99e410b24709bd3.apk
https://android-apps.pp.cn/fs08/2022/07/26/3/110_c714654425a70eec7dfefcdecc206819.apk
https://android-apps.pp.cn/fs08/2022/07/22/1/110_476491ca5b4396c9d6973f2f4e36a968.apk
https://android-apps.pp.cn/fs08/2022/07/15/7/106_7c235f70c3c7dc70d3c973207edfe30c.apk
https://android-apps.pp.cn/fs08/2022/06/20/7/106_896ce809419ed7a2372bd43d3f5bfcc0.apk
https://android-apps.pp.cn/fs08/2022/05/31/9/110_66cbff071100b99f3befbb4795edd5bd.apk
https://android-apps.pp.cn/fs08/2022/05/13/6/110_9bccd96fd17a8cd20e5987334f4c18a4.apk
https://android-apps.pp.cn/fs08/2022/05/05/2/110_125479d553123fc50c999579fdf6238a.apk
https://android-apps.pp.cn/fs08/2022/04/19/9/110_9aedef29f86bd11c6052cff0038b8ed5.apk
https://android-apps.pp.cn/fs08/2022/04/07/9/110_fd433d9c631c57746452bd4b2ca2ba5b.apk
https://android-apps.pp.cn/fs08/2022/03/23/0/110_f086aa515aeddda447d2b2844db2c0b7.apk
https://android-apps.pp.cn/fs08/2022/03/08/5/110_be72f7096ceea92fbb9c3dae0d3d28ba.apk
https://android-apps.pp.cn/fs08/2022/02/23/7/106_31f3374e894a4f3837ab4af515975a5c.apk
https://android-apps.pp.cn/fs08/2022/01/27/10/123_4dc6a8230acb92ec554ce590269c069e.apk
https://android-apps.pp.cn/fs08/2022/01/14/6/110_50f2bb5578d5ca8ef2d26f7ebb79e5b3.apk
https://android-apps.pp.cn/fs08/2021/12/29/2/123_bb99031697d78bd2a03fa70bc37a61a6.apk
https://android-apps.pp.cn/fs08/2021/12/16/0/106_53d7b913895d622913b05267543833aa.apk
https://android-apps.pp.cn/fs08/2021/12/01/10/106_7c263c63e3d58dc6a7b830c09e56a9b1.apk
https://android-apps.pp.cn/fs08/2021/11/22/2/110_e2f4cd13e6074bcc416bd664e0154dee.apk
https://android-apps.pp.cn/fs08/2021/11/10/11/110_ed15da1430f4b5c694337e658a1cba33.apk
https://android-apps.pp.cn/fs08/2021/11/03/6/110_1ba90336a2df90957130a2ee7a4a2ed4.apk
https://android-apps.pp.cn/fs08/2021/10/20/0/110_f8dda828e3dd8d754e6c22b6c88ccc38.apk
https://android-apps.pp.cn/fs08/2021/09/24/6/110_e7fdaff1434db8b1e23fbe6507880c21.apk
https://android-apps.pp.cn/fs08/2021/09/10/11/110_778b1a0237e4676882ca97aa29fdf4ce.apk
https://android-apps.pp.cn/fs08/2021/09/01/2/110_95c48bc5bdae393ea3c97e74913c65df.apk
https://android-apps.pp.cn/fs08/2021/08/31/1/110_736a86274e7a6ac9c861d688b284e7a2.apk
https://android-apps.pp.cn/fs08/2021/08/26/10/110_4398d04712c8d39f30ed80dc77b6b1ad.apk
https://android-apps.pp.cn/fs08/2021/08/11/11/110_ff21d0c06ad34b553d2f3ab05b0d5b9d.apk
https://android-apps.pp.cn/fs08/2021/08/11/2/110_be2c4b31347ec0a913b29a74ca651bf3.apk
https://android-apps.pp.cn/fs08/2021/07/26/11/110_77fb2592f94a925b605f55490178f359.apk
https://android-apps.pp.cn/fs08/2021/07/09/1/110_261939261092748e0ff513be703eca56.apk
https://android-apps.pp.cn/fs08/2021/07/08/5/110_8b73fcfaade5d55fcd13123d0a89119f.apk
https://android-apps.pp.cn/fs08/2021/07/05/3/110_130da900e08ea3de4d5b55875fc99fdc.apk
https://android-apps.pp.cn/fs08/2021/06/22/4/110_6980e1b176b78fb7e833032a67530af0.apk
https://android-apps.pp.cn/fs08/2021/06/11/9/110_7d8aca083f72630ac6e7a7ea75ae92b1.apk
https://android-apps.pp.cn/fs08/2021/05/25/1/110_02ca7690792c7c7f128109e4dc55e35c.apk
https://android-apps.pp.cn/fs08/2021/05/18/4/110_38b2a5811a935a916f2ede428822a226.apk
https://android-apps.pp.cn/fs08/2021/04/27/10/110_3566cdfa0a5fc085f8a2ed38144fd266.apk
https://android-apps.pp.cn/fs08/2021/04/22/2/122_843b0aeb552305126f91f6804325d013.apk
https://android-apps.pp.cn/fs08/2021/04/20/4/110_1e2576c9753a182bdb09d705ed76c578.apk
https://android-apps.pp.cn/fs08/2021/03/30/3/110_8206299e0f3109f15ec22507d4241d71.apk
https://android-apps.pp.cn/fs08/2021/03/25/11/110_8dc2f7612ce9c4251984062bbcbb21cb.apk
https://android-apps.pp.cn/fs08/2021/03/09/7/110_47219ed64be19b112c9195f2419e1559.apk
https://android-apps.pp.cn/fs08/2021/03/08/9/110_0941a7dd9f68dcf0c512497a7273d1dc.apk
https://android-apps.pp.cn/fs08/2021/02/22/7/110_a8e44873469b6d88d9451395bccd4921.apk
https://android-apps.pp.cn/fs08/2021/02/04/2/110_730bcc0d1a682d2a4752b7f6a3c81d47.apk
https://android-apps.pp.cn/fs08/2021/02/01/5/110_531a730bac1ddad40995ff3e2b3c57aa.apk
https://android-apps.pp.cn/fs08/2021/01/19/5/110_318bf42e98e2143211e977efb05741fa.apk
https://android-apps.pp.cn/fs08/2021/01/13/6/110_8f6f78ba0f309f1a268b6f8690e371d4.apk
https://android-apps.pp.cn/fs08/2021/01/07/1/110_cb43b712fcdcdea597646a1a4bcfad84.apk
https://android-apps.pp.cn/fs08/2021/01/05/9/110_de097b77046f6436f4a9ef46287c69d1.apk
https://android-apps.pp.cn/fs08/2020/12/15/4/110_f1dd5b54a2a8975af25e4a1df5fc4d68.apk
https://android-apps.pp.cn/fs08/2020/12/08/11/110_6d0e820ad96ebdd3bf6e74176a0d3762.apk
https://android-apps.pp.cn/fs08/2020/12/07/1/110_b8c43a6961a8f2073fa23f31a0bdc2d7.apk
https://android-apps.pp.cn/fs08/2020/11/19/5/110_c1c5d00fda1bf4a3ed9f61602c6d7a94.apk
https://android-apps.pp.cn/fs08/2020/11/18/1/110_21f8fd4b461b77b6286dd97554c11714.apk
https://android-apps.pp.cn/fs08/2020/11/12/4/110_11e6517a64c4396a83c8cfdde136953f.apk
https://android-apps.pp.cn/fs08/2020/10/27/5/110_a5281132ba44715578d0a81efb6499fd.apk
https://android-apps.pp.cn/fs08/2020/10/19/4/2_da6df0bf421b0fe2927cf3d07c97b3c4.apk
https://android-apps.pp.cn/fs08/2020/09/21/7/106_4f6ed9e1713198eb710c87e8585dcd3b.apk
https://android-apps.pp.cn/fs08/2020/09/04/6/2_71c50447ad3f08cf4bb2a9544a217289.apk
https://android-apps.pp.cn/fs08/2020/08/25/1/110_aa0bab52bb78f72a7b06708da1e5e672.apk
https://android-apps.pp.cn/fs08/2020/08/04/8/110_eb58694e7c4aca3942c96997055ace84.apk
https://android-apps.pp.cn/fs08/2020/07/31/1/110_721b7a94f6e2383232447eb7dbddba9c.apk
https://android-apps.pp.cn/fs08/2020/07/13/6/110_26191538c56783f696ce288566af3cb1.apk
https://android-apps.pp.cn/fs08/2020/07/07/4/110_2d21e324425b5657ec09867458d79332.apk
https://android-apps.pp.cn/fs08/2020/07/03/0/110_a2aff5e842270d0f9ac478e29969cc07.apk
https://android-apps.pp.cn/fs08/2020/06/04/11/106_0a7353430c6673490939e315fee03ef8.apk
https://android-apps.pp.cn/fs08/2020/05/22/8/123_d0414ecb63a1fbad81a9bcfab1473e8e.apk
https://android-apps.pp.cn/fs08/2020/05/12/0/123_bd872c5bc017993ec7a3b403efa5cf3a.apk
https://android-apps.pp.cn/fs08/2020/05/08/4/123_3178e2c2f3efcfa418302217f1f302a7.apk
https://android-apps.pp.cn/fs08/2020/04/17/2/110_59b19e4018ed069899ff597f285e033d.apk
https://android-apps.pp.cn/fs08/2020/03/25/0/110_8bb1d6a00f3582b5d9b2535ae6c41505.apk
https://android-apps.pp.cn/fs08/2020/03/19/1/110_e79294e55d486eb4f7176173db88c860.apk
https://android-apps.pp.cn/fs08/2020/03/18/11/110_34738bf127941d29799a03fbeef0ccfd.apk
https://android-apps.pp.cn/fs08/2020/03/13/8/110_a2cdb7166b7183af38148ef683b63543.apk
https://android-apps.pp.cn/fs08/2020/03/03/6/110_ec548c705b192c8d6645702781757fc9.apk
https://android-apps.pp.cn/fs08/2020/02/28/2/110_4cf546ab0ec9f82c68dd1fcc7ba726e5.apk
https://android-apps.pp.cn/fs08/2020/02/10/7/110_782abe18dbd70ef47294189ccb06641b.apk
https://android-apps.pp.cn/fs08/2020/01/15/7/110_e13664f824e0fa1012dd8992f0001c93.apk
https://android-apps.pp.cn/fs08/2020/01/13/10/110_43e46ecbcc919d257e9a8afb3aee1e84.apk
https://android-apps.pp.cn/fs08/2019/12/25/1/123_89f4a1069be418db0b528ab3740a9aea.apk
https://android-apps.pp.cn/fs08/2019/12/09/3/110_167920f42879386fc4b66aaa79d368d6.apk
https://android-apps.pp.cn/fs08/2019/12/02/2/106_01fdc90aef4f9fa657eaae177cc1f940.apk
https://android-apps.pp.cn/fs08/2019/11/29/2/110_b04d11d2f27c286f800b3bc98fb3d582.apk
https://android-apps.pp.cn/fs08/2019/11/22/7/106_9f672299ef4a702caa84ae296547d64d.apk
https://android-apps.pp.cn/fs08/2019/10/30/11/106_b4ffae2801c72f456f825de37145fc84.apk
https://android-apps.pp.cn/fs08/2019/09/20/1/122_0a87798ef262c0f5e45e961b75299d8b.apk
https://android-apps.pp.cn/fs08/2019/08/23/10/2_be09042d1260c72932cb823208142a13.apk
https://android-apps.pp.cn/fs08/2019/08/13/2/2_6cece3688f4b17406d40134a8e5a76ae.apk
https://android-apps.pp.cn/fs08/2019/08/07/8/2_cff66845425c23ac83b585c95a1dc60e.apk
https://android-apps.pp.cn/fs08/2019/09/25/7/102_c059cd08752d2e131e2422331f18788c.apk
https://android-apps.pp.cn/fs08/2019/07/23/0/2_ad5c0a66235e7ef759e07a7e7f1a463f.apk
https://android-apps.pp.cn/fs08/2019/06/21/8/2_897a007462dfa86b4bc1a0a92fa71c98.apk
https://android-apps.pp.cn/fs08/2019/06/03/3/106_790351bdbfc523c03c063403f259b8df.apk
https://android-apps.pp.cn/fs08/2019/05/29/0/110_980dcd530bfa657ca22ba2240a2a03c2.apk
https://android-apps.pp.cn/fs08/2019/05/17/5/106_5066db7bd6548b519000632e8e04e289.apk
https://android-apps.pp.cn/fs08/2019/04/09/6/106_bde9c4420b6f78e33bef7d09f5262a46.apk
https://android-apps.pp.cn/fs08/2019/04/08/4/106_09a42d289d86f5662fdaca7f99e5a83d.apk
https://android-apps.pp.cn/fs08/2019/03/15/3/106_fbe698533163f6815c2d24b04280db8e.apk
https://android-apps.pp.cn/fs08/2019/03/11/0/110_cbba8866cbf797b1fe9f49d5a5d72f32.apk
https://android-apps.pp.cn/fs08/2019/03/08/8/106_291edfa611d9dd571c0abd2263ca7892.apk
https://android-apps.pp.cn/fs08/2019/02/22/6/2_205e4375a1b04e71a47a85d2cdb67cbf.apk
https://android-apps.pp.cn/fs08/2019/02/18/2/2_c3985e058e8c013a2b932d3676147928.apk
https://android-apps.pp.cn/fs08/2019/01/28/11/2_ab38a779f1baacbe2a5921115c9da4d1.apk
https://android-apps.pp.cn/fs08/2019/01/22/4/2_d56daf4dca7c4b9ade3a2e75bc8ebb64.apk
https://android-apps.pp.cn/fs08/2019/01/17/1/2_f995688d5a6c209eb3dc63c54cf7ac64.apk
https://android-apps.pp.cn/fs08/2019/01/03/6/2_b102da108d7cc0472837a0fd6142593e.apk
https://android-apps.pp.cn/fs08/2018/12/28/10/2_135f341e0e399230fb6d05918834ddfc.apk
https://android-apps.pp.cn/fs08/2018/12/18/0/2_78fa51f7f53396fc883510aa2bc7a934.apk
https://android-apps.pp.cn/fs08/2018/12/06/1/2_0d634974bd29fa42e00a5e6eff1d0495.apk
https://android-apps.pp.cn/fs08/2019/09/02/3/102_a803b1a66366adad3ba79f5a95f4424d.apk
https://android-apps.pp.cn/fs08/2018/10/26/0/106_f4325c898df5de33cbf778e141405b31.apk
https://android-apps.pp.cn/fs08/2018/10/23/6/110_df7d03566eb4174dc056a09517b08b14.apk
https://android-apps.pp.cn/fs08/2018/10/17/0/2_382cb6a8ef70e765a586fb2076ebc4a0.apk
https://android-apps.pp.cn/fs08/2018/09/27/4/110_13511f945a9467122a94d419fb158927.apk
https://android-apps.pp.cn/fs08/2018/09/03/3/2_9af1985609e570527ef5692ea7839fd2.apk
https://android-apps.pp.cn/fs08/2019/09/11/11/102_53f24a612a35b1f425a1500499a38f7d.apk
https://android-apps.pp.cn/fs08/2018/07/13/1/106_f2e000e5a31b162f118d8e0d2dd8af52.apk
https://android-apps.pp.cn/fs08/2018/07/03/5/106_2a0a8a21f8460747164fe66375c4f1f8.apk
https://android-apps.pp.cn/fs08/2018/06/29/3/110_65b9768992b292373133c47234562bf7.apk
https://android-apps.pp.cn/fs08/2018/06/08/1/2_da359f22e0523c067df72f2d2270575d.apk
https://android-apps.pp.cn/fs08/2018/05/18/0/106_975e0ff7e041f6bf7612c865f4bfeff7.apk
https://android-apps.pp.cn/fs08/2018/05/04/5/2_b6e637ba1ea8a02869217baed2081077.apk
https://android-apps.pp.cn/fs08/2018/04/20/2/2_ba15d33b99b479e59b7c6b3eb05f2a28.apk
https://android-apps.pp.cn/fs08/2018/04/19/8/2_b0b64a36ba7c889b9a3ad6381e5edef3.apk
https://android-apps.pp.cn/fs08/2018/04/13/10/110_3cf8d94384849c06f4b17934acf80cfc.apk
https://android-apps.pp.cn/fs08/2019/09/10/6/102_3669b0da7bf4278424ae273ccff0c82b.apk
https://android-apps.pp.cn/fs08/2018/03/01/7/110_5e8a07d8cdf18639c2c0a21149665481.apk
https://android-apps.pp.cn/fs08/2018/02/07/9/110_b805857e48e0eacb18c6c62c75b80ce7.apk
https://android-apps.pp.cn/fs08/2018/02/05/7/110_7f8d4823d245848f877e219aa55b9b45.apk
https://android-apps.pp.cn/fs08/2018/02/01/1/106_850ad7d3f3f58afe3c5bb259c9e6dcb4.apk
https://android-apps.pp.cn/fs08/2018/01/19/9/110_35c2ddeb0e91b7e58b9b5648aad7b71e.apk
https://android-apps.pp.cn/fs08/2017/12/29/6/110_81f591efa9c20585718b84114710fc9f.apk
https://android-apps.pp.cn/fs08/2017/12/22/10/110_005421553047b8a016cbb339e803e611.apk
https://android-apps.pp.cn/fs08/2017/12/21/11/110_156fcf243d81117f0d6ed1207cb32d88.apk
https://android-apps.pp.cn/fs08/2017/12/15/1/110_955a0ed03fbcbf15905ac08fb9c1d5ee.apk
https://android-apps.pp.cn/fs08/2017/12/01/7/110_10dcb88c14e091e0c1de95728e461a4b.apk
https://android-apps.pp.cn/fs08/2017/11/16/1/110_7a4a552bac758450a0ab8431141c3b21.apk
https://android-apps.pp.cn/fs08/2017/11/01/4/110_1dca784b401d049f26aba4e3ceedd562.apk
https://android-apps.pp.cn/fs08/2017/10/24/2/110_374479e78e9d6c5a97825a52018f527b.apk
https://android-apps.pp.cn/fs08/2017/10/16/11/110_1110e37bbed1d6219f43296e4235febb.apk
https://android-apps.pp.cn/fs08/2017/09/29/7/110_3e3e28edda221bd8440331aac7fca8af.apk
https://android-apps.pp.cn/fs08/2017/09/19/7/110_2fe2ac9258d4497c31643c501107b5e9.apk
https://android-apps.pp.cn/fs08/2017/09/18/9/110_dd4584ae0e15acdefb82fec9d8001f94.apk
https://android-apps.pp.cn/fs08/2017/08/31/2/110_46e9a77b5e68db2b28d8418f42b4c987.apk
https://android-apps.pp.cn/fs08/2017/08/15/5/110_c9bf9186b6340e738436468aed79081d.apk
https://android-apps.pp.cn/fs08/2017/08/04/2/110_0a5c26b41e541e7cf890d5554e51c939.apk
https://android-apps.pp.cn/fs08/2017/08/03/11/110_f0fd7cdcef7a6d9a1cdf40e7ccace2b8.apk
https://android-apps.pp.cn/fs08/2017/08/01/11/110_2cced32e2592604bf51a53fa2b1b6065.apk
https://android-apps.pp.cn/fs08/2017/07/24/9/110_fe66f02444c483bf2828697fd9370c87.apk
https://android-apps.pp.cn/fs08/2017/06/01/5/110_65e7f28fd8cd783c4220dc922c9849e7.apk
https://android-apps.pp.cn/fs08/2017/05/19/3/2_3b7b7d785be890f07a1f166c2baada52.apk
https://android-apps.pp.cn/fs08/2017/04/21/2/115_72c78f5237c6874ad4b1908feae22996.apk
https://android-apps.pp.cn/fs08/2017/04/14/3/2_39504cfb4eb2f35d0a3f3a4b9f798e75.apk
https://android-apps.pp.cn/fs08/2017/03/07/2/115_b62977ed6868412ef9ca57e049eecc5b.apk
https://android-apps.pp.cn/fs08/2017/01/20/1/106_d5c76d925bd3e72b4337b90ec73bb66b.apk
https://android-apps.pp.cn/fs08/2016/12/29/3/115_de190e72ecdd26f06f33493b65c70ae3.apk
https://android-apps.pp.cn/fs08/2016/11/30/1/115_970dccc3c83199711c55f50958f828d8.apk
https://android-apps.pp.cn/fs08/2016/12/02/11/102_9ee1a8bbb49261d3970edb7bdb27af3b.apk
https://android-apps.pp.cn/fs08/2016/09/01/11/2_3970eff76ea094ead72e98a6514b6077.apk
https://android-apps.pp.cn/fs08/2016/07/28/4/106_e5342c3c3e3254d5644868b0b627a55c.apk
https://android-apps.pp.cn/fs08/2016/06/30/2/102_63bd7803a87ebed88f4990b987fe14f3.apk
https://android-apps.pp.cn/fs08/2016/05/16/1/106_70885ce1b92272c816c0b0e6b018960c.apk
https://android-apps.pp.cn/fs08/2016/05/11/3/102_450569f9a8a59bfc05ad933e8180a547.apk
https://android-apps.pp.cn/fs07/2016/03/31/9/106_d925f8198b9d324f5d850096b085b6b6.apk
https://android-apps.pp.cn/fs04/2016/01/29/10/106_c60d791fbbd23f572aebb25f69b04e2e.apk
https://android-apps.pp.cn/fs05/2016/01/20/6/106_ee75d271d9d277054a2c105fc66dfb34.apk
https://android-apps.pp.cn/fs05/2015/12/30/2/2_b531ce1ebdaaa82d9613073aea15fb5f.apk
https://android-apps.pp.cn/fs06/2015/12/04/3/102_71bad41cb1066eeb09db8218dd00eef9.apk
https://android-apps.pp.cn/fs04/2015/12/03/2/102_3a5e67787fb8ec2bee8e2c533a393af0.apk
https://android-apps.pp.cn/fs04/2015/12/07/6/102_a4a54438bb7aabf2a6d369f0e79e4a01.apk
https://android-apps.pp.cn/fs03/2015/10/30/4/2_1f58ff5c223bf13f7aaba4f385c3a660.apk
https://android-apps.pp.cn/fs04/2015/10/17/1/102_741045daa31eb20feda256253c00024f.apk
https://android-apps.pp.cn/fs01/2015/09/29/11/2_1b1da032fadcfaccf883eaee2f6d2de5.apk
https://android-apps.pp.cn/fs04/2015/09/08/1/102_47dfe4af40875ae8a72cb37fcd116455.apk
https://android-apps.pp.cn/fs01/2015/08/17/1/102_fd8ee63aed88a8d3a27d6db65dbbb1ab.apk
https://android-apps.pp.cn/fs03/2015/06/09/9/102_79bdd4811c6675e8056a599607ed503f.apk
https://android-apps.pp.cn/fs04/2015/05/29/0/102_a3a5fbdda8551f6c615203fcfb47296e.apk
https://android-apps.pp.cn/fs03/2015/04/09/3/0_c9734d0393c53710dba60e13b73edb25.apk
https://android-apps.pp.cn/fs03/2015/03/20/9/112_b09646fd662d7e36fbb83e99d2a991c5.apk
https://android-apps.pp.cn/fs03/2015/02/08/7/112_2b7bd37242f7af3dfe6f6a5a387e9247.apk
https://android-apps.pp.cn/fs01/2015/02/02/1/0_0d23e9e7af5a106e2ad9b8a1e2a00cba.apk
https://android-apps.pp.cn/fs01/2014/12/12/1/0_b14aa4d4fc06a064689fd3e68036a26d.apk
https://android-apps.pp.cn/fs01/2014/11/03/0_9d442168e137b302ef9421a735b3ca74.apk
https://android-apps.pp.cn/fs01/2014/10/28/0_01737649b859cbeee78d3aa86b7c132e.apk
https://android-apps.pp.cn/fs01/2014/09/03/102_20b5132f325d8a9b6df58c2ef91f7cfd.apk
n0099 commented 1 year ago

一键下载并设置文件m/atime bash

versions.map(i => `wget2 -O ${i.version}.apk ${i.downloadUrl.replace(/\?.*$/, '')} && touch -c -t ${i.createdAt.replace(/年|月|日|:| /g, '')} ${i.version}.apk`).join('\n');
wget2 -O 12.34.3.0.apk https://android-apps.pp.cn/fs08/2022/12/27/1/110_e1991fa1738f338831fda04c0a050d99.apk && touch -c -t 202212271725 12.34.3.0.apk
wget2 -O 12.34.1.0.apk https://android-apps.pp.cn/fs08/2022/12/16/5/2_72c79895ab0b592212afc1b2115db59b.apk && touch -c -t 202212161716 12.34.1.0.apk
wget2 -O 12.32.5.2.apk https://android-apps.pp.cn/fs08/2022/12/02/10/106_1e8b7cbaddbd3d2baaf5bf49ee2a7a0a.apk && touch -c -t 202212021704 12.32.5.2.apk
wget2 -O 12.32.5.1.apk https://android-apps.pp.cn/fs08/2022/11/24/7/2_0d45d556d3dab102ad431a5cfe8ca17f.apk && touch -c -t 202211242025 12.32.5.1.apk
wget2 -O 12.32.3.0.apk https://android-apps.pp.cn/fs08/2022/11/18/11/2_f7c9e962cbf687fafa06c8dca3909d86.apk && touch -c -t 202211181106 12.32.3.0.apk
wget2 -O 12.32.1.0.apk https://android-apps.pp.cn/fs08/2022/11/17/5/2_95e2e817fe989638128f0ed58511b6d2.apk && touch -c -t 202211171142 12.32.1.0.apk
wget2 -O 12.31.5.0.apk https://android-apps.pp.cn/fs08/2022/11/03/8/110_0138bf81632e1623f29c9c878cc2fb26.apk && touch -c -t 202211031111 12.31.5.0.apk
wget2 -O 12.30.1.0.apk https://android-apps.pp.cn/fs08/2022/10/26/2/110_8da8af9e2fb0246824bb6c5fadf8f145.apk && touch -c -t 202210261405 12.30.1.0.apk
wget2 -O 12.29.7.0.apk https://android-apps.pp.cn/fs08/2022/10/10/11/123_dfe675cd7219b8894f60295e7ba14a21.apk && touch -c -t 202210101521 12.29.7.0.apk
wget2 -O 12.29.5.0.apk https://android-apps.pp.cn/fs08/2022/09/27/8/110_b450926674a4cd8d79b346ac5e900dd9.apk && touch -c -t 202209271510 12.29.5.0.apk
wget2 -O 12.29.1.1.apk https://android-apps.pp.cn/fs08/2022/09/15/6/110_1eb9d30b2d0b8849582b513c0bd39dd1.apk && touch -c -t 202209151741 12.29.1.1.apk
wget2 -O 12.28.1.1.apk https://android-apps.pp.cn/fs08/2022/09/01/1/110_440c0e31b4edd2c03aa72b7fd6a64bdb.apk && touch -c -t 202209011410 12.28.1.1.apk
wget2 -O 12.28.1.0.apk https://android-apps.pp.cn/fs08/2022/08/31/7/110_d86b6def64b806e8c218a094183d9751.apk && touch -c -t 202208311535 12.28.1.0.apk
wget2 -O 12.27.5.0.apk https://android-apps.pp.cn/fs08/2022/08/18/11/110_d9f86e30e924fb995c4de46165a995b9.apk && touch -c -t 202208181405 12.27.5.0.apk
wget2 -O 12.27.1.1.apk https://android-apps.pp.cn/fs08/2022/08/12/6/123_27a58110a56900a468d2b3dc95cb595b.apk && touch -c -t 202208121113 12.27.1.1.apk
wget2 -O 12.27.1.0.apk https://android-apps.pp.cn/fs08/2022/08/10/2/110_581b22bf5316620ca99e410b24709bd3.apk && touch -c -t 202208101200 12.27.1.0.apk
wget2 -O 12.26.5.0.apk https://android-apps.pp.cn/fs08/2022/07/26/3/110_c714654425a70eec7dfefcdecc206819.apk && touch -c -t 202207261230 12.26.5.0.apk
wget2 -O 12.26.3.0.apk https://android-apps.pp.cn/fs08/2022/07/22/1/110_476491ca5b4396c9d6973f2f4e36a968.apk && touch -c -t 202207221510 12.26.3.0.apk
wget2 -O 12.26.1.0.apk https://android-apps.pp.cn/fs08/2022/07/15/7/106_7c235f70c3c7dc70d3c973207edfe30c.apk && touch -c -t 202207151659 12.26.1.0.apk
wget2 -O 12.25.5.0.apk https://android-apps.pp.cn/fs08/2022/06/20/7/106_896ce809419ed7a2372bd43d3f5bfcc0.apk && touch -c -t 202206201520 12.25.5.0.apk
wget2 -O 12.25.1.0.apk https://android-apps.pp.cn/fs08/2022/05/31/9/110_66cbff071100b99f3befbb4795edd5bd.apk && touch -c -t 202205311535 12.25.1.0.apk
wget2 -O 12.24.1.0.apk https://android-apps.pp.cn/fs08/2022/05/13/6/110_9bccd96fd17a8cd20e5987334f4c18a4.apk && touch -c -t 202205131845 12.24.1.0.apk
wget2 -O 12.23.7.0.apk https://android-apps.pp.cn/fs08/2022/05/05/2/110_125479d553123fc50c999579fdf6238a.apk && touch -c -t 202205051555 12.23.7.0.apk
wget2 -O 12.23.5.0.apk https://android-apps.pp.cn/fs08/2022/04/19/9/110_9aedef29f86bd11c6052cff0038b8ed5.apk && touch -c -t 202204191610 12.23.5.0.apk
wget2 -O 12.23.1.0.apk https://android-apps.pp.cn/fs08/2022/04/07/9/110_fd433d9c631c57746452bd4b2ca2ba5b.apk && touch -c -t 202204071600 12.23.1.0.apk
wget2 -O 12.22.1.0.apk https://android-apps.pp.cn/fs08/2022/03/23/0/110_f086aa515aeddda447d2b2844db2c0b7.apk && touch -c -t 202203231520 12.22.1.0.apk
wget2 -O 12.21.1.0.apk https://android-apps.pp.cn/fs08/2022/03/08/5/110_be72f7096ceea92fbb9c3dae0d3d28ba.apk && touch -c -t 202203081540 12.21.1.0.apk
wget2 -O 12.20.1.0.apk https://android-apps.pp.cn/fs08/2022/02/23/7/106_31f3374e894a4f3837ab4af515975a5c.apk && touch -c -t 202202231830 12.20.1.0.apk
wget2 -O 12.19.1.0.apk https://android-apps.pp.cn/fs08/2022/01/27/10/123_4dc6a8230acb92ec554ce590269c069e.apk && touch -c -t 202201271611 12.19.1.0.apk
wget2 -O 12.18.1.0.apk https://android-apps.pp.cn/fs08/2022/01/14/6/110_50f2bb5578d5ca8ef2d26f7ebb79e5b3.apk && touch -c -t 202201141635 12.18.1.0.apk
wget2 -O 12.17.1.0.apk https://android-apps.pp.cn/fs08/2021/12/29/2/123_bb99031697d78bd2a03fa70bc37a61a6.apk && touch -c -t 202112291644 12.17.1.0.apk
wget2 -O 12.16.1.0.apk https://android-apps.pp.cn/fs08/2021/12/16/0/106_53d7b913895d622913b05267543833aa.apk && touch -c -t 202112161819 12.16.1.0.apk
wget2 -O 12.15.1.0.apk https://android-apps.pp.cn/fs08/2021/12/01/10/106_7c263c63e3d58dc6a7b830c09e56a9b1.apk && touch -c -t 202112011242 12.15.1.0.apk
wget2 -O 12.14.1.0.apk https://android-apps.pp.cn/fs08/2021/11/22/2/110_e2f4cd13e6074bcc416bd664e0154dee.apk && touch -c -t 202111221625 12.14.1.0.apk
wget2 -O 12.13.2.0.apk https://android-apps.pp.cn/fs08/2021/11/10/11/110_ed15da1430f4b5c694337e658a1cba33.apk && touch -c -t 202111101150 12.13.2.0.apk
wget2 -O 12.13.1.0.apk https://android-apps.pp.cn/fs08/2021/11/03/6/110_1ba90336a2df90957130a2ee7a4a2ed4.apk && touch -c -t 202111031241 12.13.1.0.apk
wget2 -O 12.12.1.0.apk https://android-apps.pp.cn/fs08/2021/10/20/0/110_f8dda828e3dd8d754e6c22b6c88ccc38.apk && touch -c -t 202110201420 12.12.1.0.apk
wget2 -O 12.11.1.0.apk https://android-apps.pp.cn/fs08/2021/09/24/6/110_e7fdaff1434db8b1e23fbe6507880c21.apk && touch -c -t 202109241205 12.11.1.0.apk
wget2 -O 12.10.1.0.apk https://android-apps.pp.cn/fs08/2021/09/10/11/110_778b1a0237e4676882ca97aa29fdf4ce.apk && touch -c -t 202109101205 12.10.1.0.apk
wget2 -O 12.9.3.0.apk https://android-apps.pp.cn/fs08/2021/09/01/2/110_95c48bc5bdae393ea3c97e74913c65df.apk && touch -c -t 202109011150 12.9.3.0.apk
wget2 -O 12.9.2.0.apk https://android-apps.pp.cn/fs08/2021/08/31/1/110_736a86274e7a6ac9c861d688b284e7a2.apk && touch -c -t 202108311155 12.9.2.0.apk
wget2 -O 12.9.1.0.apk https://android-apps.pp.cn/fs08/2021/08/26/10/110_4398d04712c8d39f30ed80dc77b6b1ad.apk && touch -c -t 202108261511 12.9.1.0.apk
wget2 -O 12.8.1.1.apk https://android-apps.pp.cn/fs08/2021/08/11/11/110_ff21d0c06ad34b553d2f3ab05b0d5b9d.apk && touch -c -t 202108111750 12.8.1.1.apk
wget2 -O 12.8.1.0.apk https://android-apps.pp.cn/fs08/2021/08/11/2/110_be2c4b31347ec0a913b29a74ca651bf3.apk && touch -c -t 202108111425 12.8.1.0.apk
wget2 -O 12.7.6.0.apk https://android-apps.pp.cn/fs08/2021/07/26/11/110_77fb2592f94a925b605f55490178f359.apk && touch -c -t 202107261225 12.7.6.0.apk
wget2 -O 12.7.1.1.apk https://android-apps.pp.cn/fs08/2021/07/09/1/110_261939261092748e0ff513be703eca56.apk && touch -c -t 202107091200 12.7.1.1.apk
wget2 -O 12.7.1.0.apk https://android-apps.pp.cn/fs08/2021/07/08/5/110_8b73fcfaade5d55fcd13123d0a89119f.apk && touch -c -t 202107081520 12.7.1.0.apk
wget2 -O 12.6.6.0.apk https://android-apps.pp.cn/fs08/2021/07/05/3/110_130da900e08ea3de4d5b55875fc99fdc.apk && touch -c -t 202107051526 12.6.6.0.apk
wget2 -O 12.6.3.0.apk https://android-apps.pp.cn/fs08/2021/06/22/4/110_6980e1b176b78fb7e833032a67530af0.apk && touch -c -t 202106221200 12.6.3.0.apk
wget2 -O 12.6.1.0.apk https://android-apps.pp.cn/fs08/2021/06/11/9/110_7d8aca083f72630ac6e7a7ea75ae92b1.apk && touch -c -t 202106111200 12.6.1.0.apk
wget2 -O 12.5.6.0.apk https://android-apps.pp.cn/fs08/2021/05/25/1/110_02ca7690792c7c7f128109e4dc55e35c.apk && touch -c -t 202105251605 12.5.6.0.apk
wget2 -O 12.5.1.0.apk https://android-apps.pp.cn/fs08/2021/05/18/4/110_38b2a5811a935a916f2ede428822a226.apk && touch -c -t 202105181635 12.5.1.0.apk
wget2 -O 12.4.8.24.apk https://android-apps.pp.cn/fs08/2021/04/27/10/110_3566cdfa0a5fc085f8a2ed38144fd266.apk && touch -c -t 202104271140 12.4.8.24.apk
wget2 -O 12.4.8.15.apk https://android-apps.pp.cn/fs08/2021/04/22/2/122_843b0aeb552305126f91f6804325d013.apk && touch -c -t 202104221204 12.4.8.15.apk
wget2 -O 12.4.8.14.apk https://android-apps.pp.cn/fs08/2021/04/20/4/110_1e2576c9753a182bdb09d705ed76c578.apk && touch -c -t 202104201450 12.4.8.14.apk
wget2 -O 12.4.8.2.apk https://android-apps.pp.cn/fs08/2021/03/30/3/110_8206299e0f3109f15ec22507d4241d71.apk && touch -c -t 202103301530 12.4.8.2.apk
wget2 -O 12.4.8.0.apk https://android-apps.pp.cn/fs08/2021/03/25/11/110_8dc2f7612ce9c4251984062bbcbb21cb.apk && touch -c -t 202103251221 12.4.8.0.apk
wget2 -O 12.3.8.11.apk https://android-apps.pp.cn/fs08/2021/03/09/7/110_47219ed64be19b112c9195f2419e1559.apk && touch -c -t 202103091121 12.3.8.11.apk
wget2 -O 12.3.8.10.apk https://android-apps.pp.cn/fs08/2021/03/08/9/110_0941a7dd9f68dcf0c512497a7273d1dc.apk && touch -c -t 202103081205 12.3.8.10.apk
wget2 -O 12.3.8.6.apk https://android-apps.pp.cn/fs08/2021/02/22/7/110_a8e44873469b6d88d9451395bccd4921.apk && touch -c -t 202102221115 12.3.8.6.apk
wget2 -O 12.3.8.3.apk https://android-apps.pp.cn/fs08/2021/02/04/2/110_730bcc0d1a682d2a4752b7f6a3c81d47.apk && touch -c -t 202102041810 12.3.8.3.apk
wget2 -O 12.3.8.0.apk https://android-apps.pp.cn/fs08/2021/02/01/5/110_531a730bac1ddad40995ff3e2b3c57aa.apk && touch -c -t 202102011606 12.3.8.0.apk
wget2 -O 12.2.8.11.apk https://android-apps.pp.cn/fs08/2021/01/19/5/110_318bf42e98e2143211e977efb05741fa.apk && touch -c -t 202101191131 12.2.8.11.apk
wget2 -O 12.2.8.9.apk https://android-apps.pp.cn/fs08/2021/01/13/6/110_8f6f78ba0f309f1a268b6f8690e371d4.apk && touch -c -t 202101131130 12.2.8.9.apk
wget2 -O 12.2.8.1.apk https://android-apps.pp.cn/fs08/2021/01/07/1/110_cb43b712fcdcdea597646a1a4bcfad84.apk && touch -c -t 202101071221 12.2.8.1.apk
wget2 -O 12.2.8.0.apk https://android-apps.pp.cn/fs08/2021/01/05/9/110_de097b77046f6436f4a9ef46287c69d1.apk && touch -c -t 202101051245 12.2.8.0.apk
wget2 -O 12.1.8.4.apk https://android-apps.pp.cn/fs08/2020/12/15/4/110_f1dd5b54a2a8975af25e4a1df5fc4d68.apk && touch -c -t 202012151201 12.1.8.4.apk
wget2 -O 12.1.8.1.apk https://android-apps.pp.cn/fs08/2020/12/08/11/110_6d0e820ad96ebdd3bf6e74176a0d3762.apk && touch -c -t 202012081516 12.1.8.1.apk
wget2 -O 12.1.8.0.apk https://android-apps.pp.cn/fs08/2020/12/07/1/110_b8c43a6961a8f2073fa23f31a0bdc2d7.apk && touch -c -t 202012071322 12.1.8.0.apk
wget2 -O 12.0.8.1.apk https://android-apps.pp.cn/fs08/2020/11/19/5/110_c1c5d00fda1bf4a3ed9f61602c6d7a94.apk && touch -c -t 202011191736 12.0.8.1.apk
wget2 -O 12.0.8.0.apk https://android-apps.pp.cn/fs08/2020/11/18/1/110_21f8fd4b461b77b6286dd97554c11714.apk && touch -c -t 202011181421 12.0.8.0.apk
wget2 -O 12.0.2.2.apk https://android-apps.pp.cn/fs08/2020/11/12/4/110_11e6517a64c4396a83c8cfdde136953f.apk && touch -c -t 202011121150 12.0.2.2.apk
wget2 -O 11.10.8.6.apk https://android-apps.pp.cn/fs08/2020/10/27/5/110_a5281132ba44715578d0a81efb6499fd.apk && touch -c -t 202010271520 11.10.8.6.apk
wget2 -O 11.10.8.0.apk https://android-apps.pp.cn/fs08/2020/10/19/4/2_da6df0bf421b0fe2927cf3d07c97b3c4.apk && touch -c -t 202010191556 11.10.8.0.apk
wget2 -O 11.9.8.0.apk https://android-apps.pp.cn/fs08/2020/09/21/7/106_4f6ed9e1713198eb710c87e8585dcd3b.apk && touch -c -t 202009211534 11.9.8.0.apk
wget2 -O 11.8.8.7.apk https://android-apps.pp.cn/fs08/2020/09/04/6/2_71c50447ad3f08cf4bb2a9544a217289.apk && touch -c -t 202009041748 11.8.8.7.apk
wget2 -O 11.8.8.0.apk https://android-apps.pp.cn/fs08/2020/08/25/1/110_aa0bab52bb78f72a7b06708da1e5e672.apk && touch -c -t 202008251445 11.8.8.0.apk
wget2 -O 11.7.8.1.apk https://android-apps.pp.cn/fs08/2020/08/04/8/110_eb58694e7c4aca3942c96997055ace84.apk && touch -c -t 202008041400 11.7.8.1.apk
wget2 -O 11.7.8.0.apk https://android-apps.pp.cn/fs08/2020/07/31/1/110_721b7a94f6e2383232447eb7dbddba9c.apk && touch -c -t 202007311510 11.7.8.0.apk
wget2 -O 11.6.8.2.apk https://android-apps.pp.cn/fs08/2020/07/13/6/110_26191538c56783f696ce288566af3cb1.apk && touch -c -t 202007131645 11.6.8.2.apk
wget2 -O 11.6.8.1.apk https://android-apps.pp.cn/fs08/2020/07/07/4/110_2d21e324425b5657ec09867458d79332.apk && touch -c -t 202007071210 11.6.8.1.apk
wget2 -O 11.6.8.0.apk https://android-apps.pp.cn/fs08/2020/07/03/0/110_a2aff5e842270d0f9ac478e29969cc07.apk && touch -c -t 202007031146 11.6.8.0.apk
wget2 -O 11.5.8.3.apk https://android-apps.pp.cn/fs08/2020/06/04/11/106_0a7353430c6673490939e315fee03ef8.apk && touch -c -t 202006041849 11.5.8.3.apk
wget2 -O 11.5.8.0.apk https://android-apps.pp.cn/fs08/2020/05/22/8/123_d0414ecb63a1fbad81a9bcfab1473e8e.apk && touch -c -t 202005221142 11.5.8.0.apk
wget2 -O 11.4.8.7.apk https://android-apps.pp.cn/fs08/2020/05/12/0/123_bd872c5bc017993ec7a3b403efa5cf3a.apk && touch -c -t 202005121123 11.4.8.7.apk
wget2 -O 11.4.8.6.apk https://android-apps.pp.cn/fs08/2020/05/08/4/123_3178e2c2f3efcfa418302217f1f302a7.apk && touch -c -t 202005081449 11.4.8.6.apk
wget2 -O 11.4.8.0.apk https://android-apps.pp.cn/fs08/2020/04/17/2/110_59b19e4018ed069899ff597f285e033d.apk && touch -c -t 202004171655 11.4.8.0.apk
wget2 -O 11.3.8.2.apk https://android-apps.pp.cn/fs08/2020/03/25/0/110_8bb1d6a00f3582b5d9b2535ae6c41505.apk && touch -c -t 202003251225 11.3.8.2.apk
wget2 -O 11.3.8.1.apk https://android-apps.pp.cn/fs08/2020/03/19/1/110_e79294e55d486eb4f7176173db88c860.apk && touch -c -t 202003191635 11.3.8.1.apk
wget2 -O 11.3.8.0.apk https://android-apps.pp.cn/fs08/2020/03/18/11/110_34738bf127941d29799a03fbeef0ccfd.apk && touch -c -t 202003181205 11.3.8.0.apk
wget2 -O 11.2.8.4.apk https://android-apps.pp.cn/fs08/2020/03/13/8/110_a2cdb7166b7183af38148ef683b63543.apk && touch -c -t 202003131545 11.2.8.4.apk
wget2 -O 11.2.8.1.apk https://android-apps.pp.cn/fs08/2020/03/03/6/110_ec548c705b192c8d6645702781757fc9.apk && touch -c -t 202003031201 11.2.8.1.apk
wget2 -O 11.2.8.0.apk https://android-apps.pp.cn/fs08/2020/02/28/2/110_4cf546ab0ec9f82c68dd1fcc7ba726e5.apk && touch -c -t 202002281745 11.2.8.0.apk
wget2 -O 11.1.8.2.apk https://android-apps.pp.cn/fs08/2020/02/10/7/110_782abe18dbd70ef47294189ccb06641b.apk && touch -c -t 202002100925 11.1.8.2.apk
wget2 -O 11.1.8.1.apk https://android-apps.pp.cn/fs08/2020/01/15/7/110_e13664f824e0fa1012dd8992f0001c93.apk && touch -c -t 202001151301 11.1.8.1.apk
wget2 -O 11.1.8.0.apk https://android-apps.pp.cn/fs08/2020/01/13/10/110_43e46ecbcc919d257e9a8afb3aee1e84.apk && touch -c -t 202001131210 11.1.8.0.apk
wget2 -O 11.0.0.0.apk https://android-apps.pp.cn/fs08/2019/12/25/1/123_89f4a1069be418db0b528ab3740a9aea.apk && touch -c -t 201912251448 11.0.0.0.apk
wget2 -O 10.3.8.41.apk https://android-apps.pp.cn/fs08/2019/12/09/3/110_167920f42879386fc4b66aaa79d368d6.apk && touch -c -t 201912091616 10.3.8.41.apk
wget2 -O 10.3.8.34.apk https://android-apps.pp.cn/fs08/2019/12/02/2/106_01fdc90aef4f9fa657eaae177cc1f940.apk && touch -c -t 201912021204 10.3.8.34.apk
wget2 -O 10.3.8.33.apk https://android-apps.pp.cn/fs08/2019/11/29/2/110_b04d11d2f27c286f800b3bc98fb3d582.apk && touch -c -t 201911291055 10.3.8.33.apk
wget2 -O 10.3.8.30.apk https://android-apps.pp.cn/fs08/2019/11/22/7/106_9f672299ef4a702caa84ae296547d64d.apk && touch -c -t 201911221435 10.3.8.30.apk
wget2 -O 10.3.8.19.apk https://android-apps.pp.cn/fs08/2019/10/30/11/106_b4ffae2801c72f456f825de37145fc84.apk && touch -c -t 201910301005 10.3.8.19.apk
wget2 -O 10.3.8.12.apk https://android-apps.pp.cn/fs08/2019/09/20/1/122_0a87798ef262c0f5e45e961b75299d8b.apk && touch -c -t 201909201825 10.3.8.12.apk
wget2 -O 10.3.8.10.apk https://android-apps.pp.cn/fs08/2019/08/23/10/2_be09042d1260c72932cb823208142a13.apk && touch -c -t 201908231523 10.3.8.10.apk
wget2 -O 10.3.8.8.apk https://android-apps.pp.cn/fs08/2019/08/13/2/2_6cece3688f4b17406d40134a8e5a76ae.apk && touch -c -t 201908131118 10.3.8.8.apk
wget2 -O 10.3.8.7.apk https://android-apps.pp.cn/fs08/2019/08/07/8/2_cff66845425c23ac83b585c95a1dc60e.apk && touch -c -t 201908071422 10.3.8.7.apk
wget2 -O 10.3.8.1.apk https://android-apps.pp.cn/fs08/2019/09/25/7/102_c059cd08752d2e131e2422331f18788c.apk && touch -c -t 201909251249 10.3.8.1.apk
wget2 -O 10.3.8.0.apk https://android-apps.pp.cn/fs08/2019/07/23/0/2_ad5c0a66235e7ef759e07a7e7f1a463f.apk && touch -c -t 201907231502 10.3.8.0.apk
wget2 -O 10.2.8.8.apk https://android-apps.pp.cn/fs08/2019/06/21/8/2_897a007462dfa86b4bc1a0a92fa71c98.apk && touch -c -t 201906211152 10.2.8.8.apk
wget2 -O 10.2.8.5.apk https://android-apps.pp.cn/fs08/2019/06/03/3/106_790351bdbfc523c03c063403f259b8df.apk && touch -c -t 201906031507 10.2.8.5.apk
wget2 -O 10.2.8.2.apk https://android-apps.pp.cn/fs08/2019/05/29/0/110_980dcd530bfa657ca22ba2240a2a03c2.apk && touch -c -t 201905290945 10.2.8.2.apk
wget2 -O 10.2.8.0.apk https://android-apps.pp.cn/fs08/2019/05/17/5/106_5066db7bd6548b519000632e8e04e289.apk && touch -c -t 201905171032 10.2.8.0.apk
wget2 -O 10.1.8.1.apk https://android-apps.pp.cn/fs08/2019/04/09/6/106_bde9c4420b6f78e33bef7d09f5262a46.apk && touch -c -t 201904091505 10.1.8.1.apk
wget2 -O 10.1.8.0.apk https://android-apps.pp.cn/fs08/2019/04/08/4/106_09a42d289d86f5662fdaca7f99e5a83d.apk && touch -c -t 201904081021 10.1.8.0.apk
wget2 -O 10.0.8.4.apk https://android-apps.pp.cn/fs08/2019/03/15/3/106_fbe698533163f6815c2d24b04280db8e.apk && touch -c -t 201903151025 10.0.8.4.apk
wget2 -O 10.0.8.2.apk https://android-apps.pp.cn/fs08/2019/03/11/0/110_cbba8866cbf797b1fe9f49d5a5d72f32.apk && touch -c -t 201903111105 10.0.8.2.apk
wget2 -O 10.0.8.0.apk https://android-apps.pp.cn/fs08/2019/03/08/8/106_291edfa611d9dd571c0abd2263ca7892.apk && touch -c -t 201903081210 10.0.8.0.apk
wget2 -O 9.9.8.42.apk https://android-apps.pp.cn/fs08/2019/02/22/6/2_205e4375a1b04e71a47a85d2cdb67cbf.apk && touch -c -t 201902221047 9.9.8.42.apk
wget2 -O 9.9.8.41.apk https://android-apps.pp.cn/fs08/2019/02/18/2/2_c3985e058e8c013a2b932d3676147928.apk && touch -c -t 201902181134 9.9.8.41.apk
wget2 -O 9.9.8.40.apk https://android-apps.pp.cn/fs08/2019/01/28/11/2_ab38a779f1baacbe2a5921115c9da4d1.apk && touch -c -t 201901281049 9.9.8.40.apk
wget2 -O 9.9.8.32.apk https://android-apps.pp.cn/fs08/2019/01/22/4/2_d56daf4dca7c4b9ade3a2e75bc8ebb64.apk && touch -c -t 201901221117 9.9.8.32.apk
wget2 -O 9.9.8.31.apk https://android-apps.pp.cn/fs08/2019/01/17/1/2_f995688d5a6c209eb3dc63c54cf7ac64.apk && touch -c -t 201901171102 9.9.8.31.apk
wget2 -O 9.9.8.20.apk https://android-apps.pp.cn/fs08/2019/01/03/6/2_b102da108d7cc0472837a0fd6142593e.apk && touch -c -t 201901031107 9.9.8.20.apk
wget2 -O 9.9.8.12.apk https://android-apps.pp.cn/fs08/2018/12/28/10/2_135f341e0e399230fb6d05918834ddfc.apk && touch -c -t 201812281206 9.9.8.12.apk
wget2 -O 9.9.8.10.apk https://android-apps.pp.cn/fs08/2018/12/18/0/2_78fa51f7f53396fc883510aa2bc7a934.apk && touch -c -t 201812181658 9.9.8.10.apk
wget2 -O 9.9.8.0.apk https://android-apps.pp.cn/fs08/2018/12/06/1/2_0d634974bd29fa42e00a5e6eff1d0495.apk && touch -c -t 201812061449 9.9.8.0.apk
wget2 -O 9.8.8.13.apk https://android-apps.pp.cn/fs08/2019/09/02/3/102_a803b1a66366adad3ba79f5a95f4424d.apk && touch -c -t 201909021247 9.8.8.13.apk
wget2 -O 9.8.8.7.apk https://android-apps.pp.cn/fs08/2018/10/26/0/106_f4325c898df5de33cbf778e141405b31.apk && touch -c -t 201810261100 9.8.8.7.apk
wget2 -O 9.8.8.5.apk https://android-apps.pp.cn/fs08/2018/10/23/6/110_df7d03566eb4174dc056a09517b08b14.apk && touch -c -t 201810231110 9.8.8.5.apk
wget2 -O 9.8.8.3.apk https://android-apps.pp.cn/fs08/2018/10/17/0/2_382cb6a8ef70e765a586fb2076ebc4a0.apk && touch -c -t 201810171112 9.8.8.3.apk
wget2 -O 9.8.8.0.apk https://android-apps.pp.cn/fs08/2018/09/27/4/110_13511f945a9467122a94d419fb158927.apk && touch -c -t 201809271025 9.8.8.0.apk
wget2 -O 9.7.8.3.apk https://android-apps.pp.cn/fs08/2018/09/03/3/2_9af1985609e570527ef5692ea7839fd2.apk && touch -c -t 201809031746 9.7.8.3.apk
wget2 -O 9.7.8.0.apk https://android-apps.pp.cn/fs08/2019/09/11/11/102_53f24a612a35b1f425a1500499a38f7d.apk && touch -c -t 201909111255 9.7.8.0.apk
wget2 -O 9.6.8.2.apk https://android-apps.pp.cn/fs08/2018/07/13/1/106_f2e000e5a31b162f118d8e0d2dd8af52.apk && touch -c -t 201807131814 9.6.8.2.apk
wget2 -O 9.6.8.1.apk https://android-apps.pp.cn/fs08/2018/07/03/5/106_2a0a8a21f8460747164fe66375c4f1f8.apk && touch -c -t 201807031720 9.6.8.1.apk
wget2 -O 9.6.8.0.apk https://android-apps.pp.cn/fs08/2018/06/29/3/110_65b9768992b292373133c47234562bf7.apk && touch -c -t 201806291035 9.6.8.0.apk
wget2 -O 9.5.8.0.apk https://android-apps.pp.cn/fs08/2018/06/08/1/2_da359f22e0523c067df72f2d2270575d.apk && touch -c -t 201806081528 9.5.8.0.apk
wget2 -O 9.4.8.11.apk https://android-apps.pp.cn/fs08/2018/05/18/0/106_975e0ff7e041f6bf7612c865f4bfeff7.apk && touch -c -t 201805181749 9.4.8.11.apk
wget2 -O 9.4.8.6.apk https://android-apps.pp.cn/fs08/2018/05/04/5/2_b6e637ba1ea8a02869217baed2081077.apk && touch -c -t 201805041148 9.4.8.6.apk
wget2 -O 9.4.8.4.apk https://android-apps.pp.cn/fs08/2018/04/20/2/2_ba15d33b99b479e59b7c6b3eb05f2a28.apk && touch -c -t 201804201610 9.4.8.4.apk
wget2 -O 9.4.8.3.apk https://android-apps.pp.cn/fs08/2018/04/19/8/2_b0b64a36ba7c889b9a3ad6381e5edef3.apk && touch -c -t 201804191713 9.4.8.3.apk
wget2 -O 9.4.8.0.apk https://android-apps.pp.cn/fs08/2018/04/13/10/110_3cf8d94384849c06f4b17934acf80cfc.apk && touch -c -t 201804131321 9.4.8.0.apk
wget2 -O 9.3.8.5.apk https://android-apps.pp.cn/fs08/2019/09/10/6/102_3669b0da7bf4278424ae273ccff0c82b.apk && touch -c -t 201909101306 9.3.8.5.apk
wget2 -O 9.3.8.2.apk https://android-apps.pp.cn/fs08/2018/03/01/7/110_5e8a07d8cdf18639c2c0a21149665481.apk && touch -c -t 201803011109 9.3.8.2.apk
wget2 -O 9.3.8.0.apk https://android-apps.pp.cn/fs08/2018/02/07/9/110_b805857e48e0eacb18c6c62c75b80ce7.apk && touch -c -t 201802071405 9.3.8.0.apk
wget2 -O 9.2.8.8.apk https://android-apps.pp.cn/fs08/2018/02/05/7/110_7f8d4823d245848f877e219aa55b9b45.apk && touch -c -t 201802051113 9.2.8.8.apk
wget2 -O 9.2.8.7.apk https://android-apps.pp.cn/fs08/2018/02/01/1/106_850ad7d3f3f58afe3c5bb259c9e6dcb4.apk && touch -c -t 201802011613 9.2.8.7.apk
wget2 -O 9.2.8.5.apk https://android-apps.pp.cn/fs08/2018/01/19/9/110_35c2ddeb0e91b7e58b9b5648aad7b71e.apk && touch -c -t 201801191549 9.2.8.5.apk
wget2 -O 9.2.8.0.apk https://android-apps.pp.cn/fs08/2017/12/29/6/110_81f591efa9c20585718b84114710fc9f.apk && touch -c -t 201712291828 9.2.8.0.apk
wget2 -O 9.2.0.1.apk https://android-apps.pp.cn/fs08/2017/12/22/10/110_005421553047b8a016cbb339e803e611.apk && touch -c -t 201712221535 9.2.0.1.apk
wget2 -O 9.1.8.3.apk https://android-apps.pp.cn/fs08/2017/12/21/11/110_156fcf243d81117f0d6ed1207cb32d88.apk && touch -c -t 201712211014 9.1.8.3.apk
wget2 -O 9.1.8.0.apk https://android-apps.pp.cn/fs08/2017/12/15/1/110_955a0ed03fbcbf15905ac08fb9c1d5ee.apk && touch -c -t 201712151915 9.1.8.0.apk
wget2 -O 9.0.8.0.apk https://android-apps.pp.cn/fs08/2017/12/01/7/110_10dcb88c14e091e0c1de95728e461a4b.apk && touch -c -t 201712011037 9.0.8.0.apk
wget2 -O 8.9.8.5.apk https://android-apps.pp.cn/fs08/2017/11/16/1/110_7a4a552bac758450a0ab8431141c3b21.apk && touch -c -t 201711161040 8.9.8.5.apk
wget2 -O 8.9.8.0.apk https://android-apps.pp.cn/fs08/2017/11/01/4/110_1dca784b401d049f26aba4e3ceedd562.apk && touch -c -t 201711011453 8.9.8.0.apk
wget2 -O 8.8.8.15.apk https://android-apps.pp.cn/fs08/2017/10/24/2/110_374479e78e9d6c5a97825a52018f527b.apk && touch -c -t 201710241610 8.8.8.15.apk
wget2 -O 8.8.8.13.apk https://android-apps.pp.cn/fs08/2017/10/16/11/110_1110e37bbed1d6219f43296e4235febb.apk && touch -c -t 201710161817 8.8.8.13.apk
wget2 -O 8.8.8.9.apk https://android-apps.pp.cn/fs08/2017/09/29/7/110_3e3e28edda221bd8440331aac7fca8af.apk && touch -c -t 201709291426 8.8.8.9.apk
wget2 -O 8.8.8.6.apk https://android-apps.pp.cn/fs08/2017/09/19/7/110_2fe2ac9258d4497c31643c501107b5e9.apk && touch -c -t 201709191623 8.8.8.6.apk
wget2 -O 8.8.8.1.apk https://android-apps.pp.cn/fs08/2017/09/18/9/110_dd4584ae0e15acdefb82fec9d8001f94.apk && touch -c -t 201709181843 8.8.8.1.apk
wget2 -O 8.8.8.0.apk https://android-apps.pp.cn/fs08/2017/08/31/2/110_46e9a77b5e68db2b28d8418f42b4c987.apk && touch -c -t 201708311901 8.8.8.0.apk
wget2 -O 8.7.8.6.apk https://android-apps.pp.cn/fs08/2017/08/15/5/110_c9bf9186b6340e738436468aed79081d.apk && touch -c -t 201708151857 8.7.8.6.apk
wget2 -O 8.7.8.2.apk https://android-apps.pp.cn/fs08/2017/08/04/2/110_0a5c26b41e541e7cf890d5554e51c939.apk && touch -c -t 201708041012 8.7.8.2.apk
wget2 -O 8.7.8.1.apk https://android-apps.pp.cn/fs08/2017/08/03/11/110_f0fd7cdcef7a6d9a1cdf40e7ccace2b8.apk && touch -c -t 201708031011 8.7.8.1.apk
wget2 -O 8.7.8.0.apk https://android-apps.pp.cn/fs08/2017/08/01/11/110_2cced32e2592604bf51a53fa2b1b6065.apk && touch -c -t 201708010944 8.7.8.0.apk
wget2 -O 8.6.8.0.apk https://android-apps.pp.cn/fs08/2017/07/24/9/110_fe66f02444c483bf2828697fd9370c87.apk && touch -c -t 201707241434 8.6.8.0.apk
wget2 -O 8.5.8.0.apk https://android-apps.pp.cn/fs08/2017/06/01/5/110_65e7f28fd8cd783c4220dc922c9849e7.apk && touch -c -t 201706012130 8.5.8.0.apk
wget2 -O 8.5.1.6.apk https://android-apps.pp.cn/fs08/2017/05/19/3/2_3b7b7d785be890f07a1f166c2baada52.apk && touch -c -t 201705191849 8.5.1.6.apk
wget2 -O 8.4.8.2.apk https://android-apps.pp.cn/fs08/2017/04/21/2/115_72c78f5237c6874ad4b1908feae22996.apk && touch -c -t 201704211905 8.4.8.2.apk
wget2 -O 8.4.8.0.apk https://android-apps.pp.cn/fs08/2017/04/14/3/2_39504cfb4eb2f35d0a3f3a4b9f798e75.apk && touch -c -t 201704141843 8.4.8.0.apk
wget2 -O 8.3.8.0.apk https://android-apps.pp.cn/fs08/2017/03/07/2/115_b62977ed6868412ef9ca57e049eecc5b.apk && touch -c -t 201703071905 8.3.8.0.apk
wget2 -O 8.2.2.apk https://android-apps.pp.cn/fs08/2017/01/20/1/106_d5c76d925bd3e72b4337b90ec73bb66b.apk && touch -c -t 201701201808 8.2.2.apk
wget2 -O 8.1.0.4.apk https://android-apps.pp.cn/fs08/2016/12/29/3/115_de190e72ecdd26f06f33493b65c70ae3.apk && touch -c -t 201612291901 8.1.0.4.apk
wget2 -O 8.0.0.3.apk https://android-apps.pp.cn/fs08/2016/11/30/1/115_970dccc3c83199711c55f50958f828d8.apk && touch -c -t 201611301932 8.0.0.3.apk
wget2 -O 7.9.2.apk https://android-apps.pp.cn/fs08/2016/12/02/11/102_9ee1a8bbb49261d3970edb7bdb27af3b.apk && touch -c -t 201612021248 7.9.2.apk
wget2 -O 7.8.1.apk https://android-apps.pp.cn/fs08/2016/09/01/11/2_3970eff76ea094ead72e98a6514b6077.apk && touch -c -t 201609011424 7.8.1.apk
wget2 -O 7.7.2.apk https://android-apps.pp.cn/fs08/2016/07/28/4/106_e5342c3c3e3254d5644868b0b627a55c.apk && touch -c -t 201607281851 7.7.2.apk
wget2 -O 7.6.2.apk https://android-apps.pp.cn/fs08/2016/06/30/2/102_63bd7803a87ebed88f4990b987fe14f3.apk && touch -c -t 201606301923 7.6.2.apk
wget2 -O 7.4.5.apk https://android-apps.pp.cn/fs08/2016/05/16/1/106_70885ce1b92272c816c0b0e6b018960c.apk && touch -c -t 201605161722 7.4.5.apk
wget2 -O 7.4.3.apk https://android-apps.pp.cn/fs08/2016/05/11/3/102_450569f9a8a59bfc05ad933e8180a547.apk && touch -c -t 201605111749 7.4.3.apk
wget2 -O 7.3.4.apk https://android-apps.pp.cn/fs07/2016/03/31/9/106_d925f8198b9d324f5d850096b085b6b6.apk && touch -c -t 201603311832 7.3.4.apk
wget2 -O 7.2.2.apk https://android-apps.pp.cn/fs04/2016/01/29/10/106_c60d791fbbd23f572aebb25f69b04e2e.apk && touch -c -t 201601291519 7.2.2.apk
wget2 -O 7.1.7.apk https://android-apps.pp.cn/fs05/2016/01/20/6/106_ee75d271d9d277054a2c105fc66dfb34.apk && touch -c -t 201601201911 7.1.7.apk
wget2 -O 7.1.4.apk https://android-apps.pp.cn/fs05/2015/12/30/2/2_b531ce1ebdaaa82d9613073aea15fb5f.apk && touch -c -t 201512301656 7.1.4.apk
wget2 -O 7.0.4.apk https://android-apps.pp.cn/fs06/2015/12/04/3/102_71bad41cb1066eeb09db8218dd00eef9.apk && touch -c -t 201512041544 7.0.4.apk
wget2 -O 7.0.3.apk https://android-apps.pp.cn/fs04/2015/12/03/2/102_3a5e67787fb8ec2bee8e2c533a393af0.apk && touch -c -t 201512032358 7.0.3.apk
wget2 -O 6.9.9.apk https://android-apps.pp.cn/fs04/2015/12/07/6/102_a4a54438bb7aabf2a6d369f0e79e4a01.apk && touch -c -t 201512071249 6.9.9.apk
wget2 -O 6.9.7.apk https://android-apps.pp.cn/fs03/2015/10/30/4/2_1f58ff5c223bf13f7aaba4f385c3a660.apk && touch -c -t 201510301811 6.9.7.apk
wget2 -O 6.9.5.apk https://android-apps.pp.cn/fs04/2015/10/17/1/102_741045daa31eb20feda256253c00024f.apk && touch -c -t 201510171104 6.9.5.apk
wget2 -O 6.9.2.apk https://android-apps.pp.cn/fs01/2015/09/29/11/2_1b1da032fadcfaccf883eaee2f6d2de5.apk && touch -c -t 201509291617 6.9.2.apk
wget2 -O 6.8.7.apk https://android-apps.pp.cn/fs04/2015/09/08/1/102_47dfe4af40875ae8a72cb37fcd116455.apk && touch -c -t 201509081524 6.8.7.apk
wget2 -O 6.8.3.apk https://android-apps.pp.cn/fs01/2015/08/17/1/102_fd8ee63aed88a8d3a27d6db65dbbb1ab.apk && touch -c -t 201508171939 6.8.3.apk
wget2 -O 6.7.2.apk https://android-apps.pp.cn/fs03/2015/06/09/9/102_79bdd4811c6675e8056a599607ed503f.apk && touch -c -t 201506091502 6.7.2.apk
wget2 -O 6.7.1.apk https://android-apps.pp.cn/fs04/2015/05/29/0/102_a3a5fbdda8551f6c615203fcfb47296e.apk && touch -c -t 201505291738 6.7.1.apk
wget2 -O 6.6.6.apk https://android-apps.pp.cn/fs03/2015/04/09/3/0_c9734d0393c53710dba60e13b73edb25.apk && touch -c -t 201504092024 6.6.6.apk
wget2 -O 6.6.2.apk https://android-apps.pp.cn/fs03/2015/03/20/9/112_b09646fd662d7e36fbb83e99d2a991c5.apk && touch -c -t 201503201948 6.6.2.apk
wget2 -O 6.5.8.apk https://android-apps.pp.cn/fs03/2015/02/08/7/112_2b7bd37242f7af3dfe6f6a5a387e9247.apk && touch -c -t 201502080700 6.5.8.apk
wget2 -O 6.5.3.apk https://android-apps.pp.cn/fs01/2015/02/02/1/0_0d23e9e7af5a106e2ad9b8a1e2a00cba.apk && touch -c -t 201502021601 6.5.3.apk
wget2 -O 6.5.2.apk https://android-apps.pp.cn/fs01/2014/12/12/1/0_b14aa4d4fc06a064689fd3e68036a26d.apk && touch -c -t 201412121610 6.5.2.apk
wget2 -O 6.4.9.apk https://android-apps.pp.cn/fs01/2014/11/03/0_9d442168e137b302ef9421a735b3ca74.apk && touch -c -t 201411031601 6.4.9.apk
wget2 -O 6.4.3.apk https://android-apps.pp.cn/fs01/2014/10/28/0_01737649b859cbeee78d3aa86b7c132e.apk && touch -c -t 201410281013 6.4.3.apk
wget2 -O 6.3.3.apk https://android-apps.pp.cn/fs01/2014/09/03/102_20b5132f325d8a9b6df58c2ef91f7cfd.apk && touch -c -t 201409110955 6.3.3.apk
n0099 commented 1 year ago

验证apk文件大小是否对应每url的http response header Content-Length的值

versions.map(i => `[[ $(curl -sIL ${i.downloadUrl.replace(/\?.*$/, '')} | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\\r') -eq $(stat -c '%s' ${i.version}.apk | tr -d '\\r') ]] || echo '${i.version} not match'`).join('\n');
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/12/27/1/110_e1991fa1738f338831fda04c0a050d99.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.34.3.0.apk | tr -d '\r') ]] || echo '12.34.3.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/12/16/5/2_72c79895ab0b592212afc1b2115db59b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.34.1.0.apk | tr -d '\r') ]] || echo '12.34.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/12/02/10/106_1e8b7cbaddbd3d2baaf5bf49ee2a7a0a.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.32.5.2.apk | tr -d '\r') ]] || echo '12.32.5.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/11/24/7/2_0d45d556d3dab102ad431a5cfe8ca17f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.32.5.1.apk | tr -d '\r') ]] || echo '12.32.5.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/11/18/11/2_f7c9e962cbf687fafa06c8dca3909d86.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.32.3.0.apk | tr -d '\r') ]] || echo '12.32.3.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/11/17/5/2_95e2e817fe989638128f0ed58511b6d2.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.32.1.0.apk | tr -d '\r') ]] || echo '12.32.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/11/03/8/110_0138bf81632e1623f29c9c878cc2fb26.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.31.5.0.apk | tr -d '\r') ]] || echo '12.31.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/10/26/2/110_8da8af9e2fb0246824bb6c5fadf8f145.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.30.1.0.apk | tr -d '\r') ]] || echo '12.30.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/10/10/11/123_dfe675cd7219b8894f60295e7ba14a21.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.29.7.0.apk | tr -d '\r') ]] || echo '12.29.7.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/09/27/8/110_b450926674a4cd8d79b346ac5e900dd9.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.29.5.0.apk | tr -d '\r') ]] || echo '12.29.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/09/15/6/110_1eb9d30b2d0b8849582b513c0bd39dd1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.29.1.1.apk | tr -d '\r') ]] || echo '12.29.1.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/09/01/1/110_440c0e31b4edd2c03aa72b7fd6a64bdb.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.28.1.1.apk | tr -d '\r') ]] || echo '12.28.1.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/08/31/7/110_d86b6def64b806e8c218a094183d9751.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.28.1.0.apk | tr -d '\r') ]] || echo '12.28.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/08/18/11/110_d9f86e30e924fb995c4de46165a995b9.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.27.5.0.apk | tr -d '\r') ]] || echo '12.27.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/08/12/6/123_27a58110a56900a468d2b3dc95cb595b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.27.1.1.apk | tr -d '\r') ]] || echo '12.27.1.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/08/10/2/110_581b22bf5316620ca99e410b24709bd3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.27.1.0.apk | tr -d '\r') ]] || echo '12.27.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/07/26/3/110_c714654425a70eec7dfefcdecc206819.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.26.5.0.apk | tr -d '\r') ]] || echo '12.26.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/07/22/1/110_476491ca5b4396c9d6973f2f4e36a968.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.26.3.0.apk | tr -d '\r') ]] || echo '12.26.3.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/07/15/7/106_7c235f70c3c7dc70d3c973207edfe30c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.26.1.0.apk | tr -d '\r') ]] || echo '12.26.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/06/20/7/106_896ce809419ed7a2372bd43d3f5bfcc0.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.25.5.0.apk | tr -d '\r') ]] || echo '12.25.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/05/31/9/110_66cbff071100b99f3befbb4795edd5bd.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.25.1.0.apk | tr -d '\r') ]] || echo '12.25.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/05/13/6/110_9bccd96fd17a8cd20e5987334f4c18a4.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.24.1.0.apk | tr -d '\r') ]] || echo '12.24.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/05/05/2/110_125479d553123fc50c999579fdf6238a.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.23.7.0.apk | tr -d '\r') ]] || echo '12.23.7.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/04/19/9/110_9aedef29f86bd11c6052cff0038b8ed5.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.23.5.0.apk | tr -d '\r') ]] || echo '12.23.5.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/04/07/9/110_fd433d9c631c57746452bd4b2ca2ba5b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.23.1.0.apk | tr -d '\r') ]] || echo '12.23.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/03/23/0/110_f086aa515aeddda447d2b2844db2c0b7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.22.1.0.apk | tr -d '\r') ]] || echo '12.22.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/03/08/5/110_be72f7096ceea92fbb9c3dae0d3d28ba.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.21.1.0.apk | tr -d '\r') ]] || echo '12.21.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/02/23/7/106_31f3374e894a4f3837ab4af515975a5c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.20.1.0.apk | tr -d '\r') ]] || echo '12.20.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/01/27/10/123_4dc6a8230acb92ec554ce590269c069e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.19.1.0.apk | tr -d '\r') ]] || echo '12.19.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2022/01/14/6/110_50f2bb5578d5ca8ef2d26f7ebb79e5b3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.18.1.0.apk | tr -d '\r') ]] || echo '12.18.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/12/29/2/123_bb99031697d78bd2a03fa70bc37a61a6.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.17.1.0.apk | tr -d '\r') ]] || echo '12.17.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/12/16/0/106_53d7b913895d622913b05267543833aa.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.16.1.0.apk | tr -d '\r') ]] || echo '12.16.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/12/01/10/106_7c263c63e3d58dc6a7b830c09e56a9b1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.15.1.0.apk | tr -d '\r') ]] || echo '12.15.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/11/22/2/110_e2f4cd13e6074bcc416bd664e0154dee.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.14.1.0.apk | tr -d '\r') ]] || echo '12.14.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/11/10/11/110_ed15da1430f4b5c694337e658a1cba33.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.13.2.0.apk | tr -d '\r') ]] || echo '12.13.2.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/11/03/6/110_1ba90336a2df90957130a2ee7a4a2ed4.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.13.1.0.apk | tr -d '\r') ]] || echo '12.13.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/10/20/0/110_f8dda828e3dd8d754e6c22b6c88ccc38.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.12.1.0.apk | tr -d '\r') ]] || echo '12.12.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/09/24/6/110_e7fdaff1434db8b1e23fbe6507880c21.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.11.1.0.apk | tr -d '\r') ]] || echo '12.11.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/09/10/11/110_778b1a0237e4676882ca97aa29fdf4ce.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.10.1.0.apk | tr -d '\r') ]] || echo '12.10.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/09/01/2/110_95c48bc5bdae393ea3c97e74913c65df.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.9.3.0.apk | tr -d '\r') ]] || echo '12.9.3.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/08/31/1/110_736a86274e7a6ac9c861d688b284e7a2.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.9.2.0.apk | tr -d '\r') ]] || echo '12.9.2.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/08/26/10/110_4398d04712c8d39f30ed80dc77b6b1ad.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.9.1.0.apk | tr -d '\r') ]] || echo '12.9.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/08/11/11/110_ff21d0c06ad34b553d2f3ab05b0d5b9d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.8.1.1.apk | tr -d '\r') ]] || echo '12.8.1.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/08/11/2/110_be2c4b31347ec0a913b29a74ca651bf3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.8.1.0.apk | tr -d '\r') ]] || echo '12.8.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/07/26/11/110_77fb2592f94a925b605f55490178f359.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.7.6.0.apk | tr -d '\r') ]] || echo '12.7.6.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/07/09/1/110_261939261092748e0ff513be703eca56.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.7.1.1.apk | tr -d '\r') ]] || echo '12.7.1.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/07/08/5/110_8b73fcfaade5d55fcd13123d0a89119f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.7.1.0.apk | tr -d '\r') ]] || echo '12.7.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/07/05/3/110_130da900e08ea3de4d5b55875fc99fdc.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.6.6.0.apk | tr -d '\r') ]] || echo '12.6.6.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/06/22/4/110_6980e1b176b78fb7e833032a67530af0.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.6.3.0.apk | tr -d '\r') ]] || echo '12.6.3.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/06/11/9/110_7d8aca083f72630ac6e7a7ea75ae92b1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.6.1.0.apk | tr -d '\r') ]] || echo '12.6.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/05/25/1/110_02ca7690792c7c7f128109e4dc55e35c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.5.6.0.apk | tr -d '\r') ]] || echo '12.5.6.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/05/18/4/110_38b2a5811a935a916f2ede428822a226.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.5.1.0.apk | tr -d '\r') ]] || echo '12.5.1.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/04/27/10/110_3566cdfa0a5fc085f8a2ed38144fd266.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.4.8.24.apk | tr -d '\r') ]] || echo '12.4.8.24 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/04/22/2/122_843b0aeb552305126f91f6804325d013.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.4.8.15.apk | tr -d '\r') ]] || echo '12.4.8.15 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/04/20/4/110_1e2576c9753a182bdb09d705ed76c578.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.4.8.14.apk | tr -d '\r') ]] || echo '12.4.8.14 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/03/30/3/110_8206299e0f3109f15ec22507d4241d71.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.4.8.2.apk | tr -d '\r') ]] || echo '12.4.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/03/25/11/110_8dc2f7612ce9c4251984062bbcbb21cb.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.4.8.0.apk | tr -d '\r') ]] || echo '12.4.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/03/09/7/110_47219ed64be19b112c9195f2419e1559.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.3.8.11.apk | tr -d '\r') ]] || echo '12.3.8.11 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/03/08/9/110_0941a7dd9f68dcf0c512497a7273d1dc.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.3.8.10.apk | tr -d '\r') ]] || echo '12.3.8.10 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/02/22/7/110_a8e44873469b6d88d9451395bccd4921.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.3.8.6.apk | tr -d '\r') ]] || echo '12.3.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/02/04/2/110_730bcc0d1a682d2a4752b7f6a3c81d47.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.3.8.3.apk | tr -d '\r') ]] || echo '12.3.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/02/01/5/110_531a730bac1ddad40995ff3e2b3c57aa.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.3.8.0.apk | tr -d '\r') ]] || echo '12.3.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/01/19/5/110_318bf42e98e2143211e977efb05741fa.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.2.8.11.apk | tr -d '\r') ]] || echo '12.2.8.11 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/01/13/6/110_8f6f78ba0f309f1a268b6f8690e371d4.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.2.8.9.apk | tr -d '\r') ]] || echo '12.2.8.9 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/01/07/1/110_cb43b712fcdcdea597646a1a4bcfad84.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.2.8.1.apk | tr -d '\r') ]] || echo '12.2.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2021/01/05/9/110_de097b77046f6436f4a9ef46287c69d1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.2.8.0.apk | tr -d '\r') ]] || echo '12.2.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/12/15/4/110_f1dd5b54a2a8975af25e4a1df5fc4d68.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.1.8.4.apk | tr -d '\r') ]] || echo '12.1.8.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/12/08/11/110_6d0e820ad96ebdd3bf6e74176a0d3762.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.1.8.1.apk | tr -d '\r') ]] || echo '12.1.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/12/07/1/110_b8c43a6961a8f2073fa23f31a0bdc2d7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.1.8.0.apk | tr -d '\r') ]] || echo '12.1.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/11/19/5/110_c1c5d00fda1bf4a3ed9f61602c6d7a94.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.0.8.1.apk | tr -d '\r') ]] || echo '12.0.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/11/18/1/110_21f8fd4b461b77b6286dd97554c11714.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.0.8.0.apk | tr -d '\r') ]] || echo '12.0.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/11/12/4/110_11e6517a64c4396a83c8cfdde136953f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 12.0.2.2.apk | tr -d '\r') ]] || echo '12.0.2.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/10/27/5/110_a5281132ba44715578d0a81efb6499fd.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.10.8.6.apk | tr -d '\r') ]] || echo '11.10.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/10/19/4/2_da6df0bf421b0fe2927cf3d07c97b3c4.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.10.8.0.apk | tr -d '\r') ]] || echo '11.10.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/09/21/7/106_4f6ed9e1713198eb710c87e8585dcd3b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.9.8.0.apk | tr -d '\r') ]] || echo '11.9.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/09/04/6/2_71c50447ad3f08cf4bb2a9544a217289.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.8.8.7.apk | tr -d '\r') ]] || echo '11.8.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/08/25/1/110_aa0bab52bb78f72a7b06708da1e5e672.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.8.8.0.apk | tr -d '\r') ]] || echo '11.8.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/08/04/8/110_eb58694e7c4aca3942c96997055ace84.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.7.8.1.apk | tr -d '\r') ]] || echo '11.7.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/07/31/1/110_721b7a94f6e2383232447eb7dbddba9c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.7.8.0.apk | tr -d '\r') ]] || echo '11.7.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/07/13/6/110_26191538c56783f696ce288566af3cb1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.6.8.2.apk | tr -d '\r') ]] || echo '11.6.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/07/07/4/110_2d21e324425b5657ec09867458d79332.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.6.8.1.apk | tr -d '\r') ]] || echo '11.6.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/07/03/0/110_a2aff5e842270d0f9ac478e29969cc07.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.6.8.0.apk | tr -d '\r') ]] || echo '11.6.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/06/04/11/106_0a7353430c6673490939e315fee03ef8.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.5.8.3.apk | tr -d '\r') ]] || echo '11.5.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/05/22/8/123_d0414ecb63a1fbad81a9bcfab1473e8e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.5.8.0.apk | tr -d '\r') ]] || echo '11.5.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/05/12/0/123_bd872c5bc017993ec7a3b403efa5cf3a.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.4.8.7.apk | tr -d '\r') ]] || echo '11.4.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/05/08/4/123_3178e2c2f3efcfa418302217f1f302a7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.4.8.6.apk | tr -d '\r') ]] || echo '11.4.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/04/17/2/110_59b19e4018ed069899ff597f285e033d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.4.8.0.apk | tr -d '\r') ]] || echo '11.4.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/03/25/0/110_8bb1d6a00f3582b5d9b2535ae6c41505.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.3.8.2.apk | tr -d '\r') ]] || echo '11.3.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/03/19/1/110_e79294e55d486eb4f7176173db88c860.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.3.8.1.apk | tr -d '\r') ]] || echo '11.3.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/03/18/11/110_34738bf127941d29799a03fbeef0ccfd.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.3.8.0.apk | tr -d '\r') ]] || echo '11.3.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/03/13/8/110_a2cdb7166b7183af38148ef683b63543.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.2.8.4.apk | tr -d '\r') ]] || echo '11.2.8.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/03/03/6/110_ec548c705b192c8d6645702781757fc9.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.2.8.1.apk | tr -d '\r') ]] || echo '11.2.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/02/28/2/110_4cf546ab0ec9f82c68dd1fcc7ba726e5.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.2.8.0.apk | tr -d '\r') ]] || echo '11.2.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/02/10/7/110_782abe18dbd70ef47294189ccb06641b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.1.8.2.apk | tr -d '\r') ]] || echo '11.1.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/01/15/7/110_e13664f824e0fa1012dd8992f0001c93.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.1.8.1.apk | tr -d '\r') ]] || echo '11.1.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2020/01/13/10/110_43e46ecbcc919d257e9a8afb3aee1e84.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.1.8.0.apk | tr -d '\r') ]] || echo '11.1.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/12/25/1/123_89f4a1069be418db0b528ab3740a9aea.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 11.0.0.0.apk | tr -d '\r') ]] || echo '11.0.0.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/12/09/3/110_167920f42879386fc4b66aaa79d368d6.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.41.apk | tr -d '\r') ]] || echo '10.3.8.41 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/12/02/2/106_01fdc90aef4f9fa657eaae177cc1f940.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.34.apk | tr -d '\r') ]] || echo '10.3.8.34 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/11/29/2/110_b04d11d2f27c286f800b3bc98fb3d582.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.33.apk | tr -d '\r') ]] || echo '10.3.8.33 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/11/22/7/106_9f672299ef4a702caa84ae296547d64d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.30.apk | tr -d '\r') ]] || echo '10.3.8.30 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/10/30/11/106_b4ffae2801c72f456f825de37145fc84.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.19.apk | tr -d '\r') ]] || echo '10.3.8.19 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/09/20/1/122_0a87798ef262c0f5e45e961b75299d8b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.12.apk | tr -d '\r') ]] || echo '10.3.8.12 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/08/23/10/2_be09042d1260c72932cb823208142a13.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.10.apk | tr -d '\r') ]] || echo '10.3.8.10 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/08/13/2/2_6cece3688f4b17406d40134a8e5a76ae.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.8.apk | tr -d '\r') ]] || echo '10.3.8.8 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/08/07/8/2_cff66845425c23ac83b585c95a1dc60e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.7.apk | tr -d '\r') ]] || echo '10.3.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/09/25/7/102_c059cd08752d2e131e2422331f18788c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.1.apk | tr -d '\r') ]] || echo '10.3.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/07/23/0/2_ad5c0a66235e7ef759e07a7e7f1a463f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.3.8.0.apk | tr -d '\r') ]] || echo '10.3.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/06/21/8/2_897a007462dfa86b4bc1a0a92fa71c98.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.2.8.8.apk | tr -d '\r') ]] || echo '10.2.8.8 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/06/03/3/106_790351bdbfc523c03c063403f259b8df.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.2.8.5.apk | tr -d '\r') ]] || echo '10.2.8.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/05/29/0/110_980dcd530bfa657ca22ba2240a2a03c2.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.2.8.2.apk | tr -d '\r') ]] || echo '10.2.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/05/17/5/106_5066db7bd6548b519000632e8e04e289.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.2.8.0.apk | tr -d '\r') ]] || echo '10.2.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/04/09/6/106_bde9c4420b6f78e33bef7d09f5262a46.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.1.8.1.apk | tr -d '\r') ]] || echo '10.1.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/04/08/4/106_09a42d289d86f5662fdaca7f99e5a83d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.1.8.0.apk | tr -d '\r') ]] || echo '10.1.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/03/15/3/106_fbe698533163f6815c2d24b04280db8e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.0.8.4.apk | tr -d '\r') ]] || echo '10.0.8.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/03/11/0/110_cbba8866cbf797b1fe9f49d5a5d72f32.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.0.8.2.apk | tr -d '\r') ]] || echo '10.0.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/03/08/8/106_291edfa611d9dd571c0abd2263ca7892.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 10.0.8.0.apk | tr -d '\r') ]] || echo '10.0.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/02/22/6/2_205e4375a1b04e71a47a85d2cdb67cbf.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.42.apk | tr -d '\r') ]] || echo '9.9.8.42 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/02/18/2/2_c3985e058e8c013a2b932d3676147928.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.41.apk | tr -d '\r') ]] || echo '9.9.8.41 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/01/28/11/2_ab38a779f1baacbe2a5921115c9da4d1.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.40.apk | tr -d '\r') ]] || echo '9.9.8.40 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/01/22/4/2_d56daf4dca7c4b9ade3a2e75bc8ebb64.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.32.apk | tr -d '\r') ]] || echo '9.9.8.32 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/01/17/1/2_f995688d5a6c209eb3dc63c54cf7ac64.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.31.apk | tr -d '\r') ]] || echo '9.9.8.31 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/01/03/6/2_b102da108d7cc0472837a0fd6142593e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.20.apk | tr -d '\r') ]] || echo '9.9.8.20 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/12/28/10/2_135f341e0e399230fb6d05918834ddfc.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.12.apk | tr -d '\r') ]] || echo '9.9.8.12 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/12/18/0/2_78fa51f7f53396fc883510aa2bc7a934.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.10.apk | tr -d '\r') ]] || echo '9.9.8.10 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/12/06/1/2_0d634974bd29fa42e00a5e6eff1d0495.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.9.8.0.apk | tr -d '\r') ]] || echo '9.9.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/09/02/3/102_a803b1a66366adad3ba79f5a95f4424d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.8.8.13.apk | tr -d '\r') ]] || echo '9.8.8.13 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/10/26/0/106_f4325c898df5de33cbf778e141405b31.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.8.8.7.apk | tr -d '\r') ]] || echo '9.8.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/10/23/6/110_df7d03566eb4174dc056a09517b08b14.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.8.8.5.apk | tr -d '\r') ]] || echo '9.8.8.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/10/17/0/2_382cb6a8ef70e765a586fb2076ebc4a0.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.8.8.3.apk | tr -d '\r') ]] || echo '9.8.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/09/27/4/110_13511f945a9467122a94d419fb158927.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.8.8.0.apk | tr -d '\r') ]] || echo '9.8.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/09/03/3/2_9af1985609e570527ef5692ea7839fd2.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.7.8.3.apk | tr -d '\r') ]] || echo '9.7.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/09/11/11/102_53f24a612a35b1f425a1500499a38f7d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.7.8.0.apk | tr -d '\r') ]] || echo '9.7.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/07/13/1/106_f2e000e5a31b162f118d8e0d2dd8af52.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.6.8.2.apk | tr -d '\r') ]] || echo '9.6.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/07/03/5/106_2a0a8a21f8460747164fe66375c4f1f8.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.6.8.1.apk | tr -d '\r') ]] || echo '9.6.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/06/29/3/110_65b9768992b292373133c47234562bf7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.6.8.0.apk | tr -d '\r') ]] || echo '9.6.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/06/08/1/2_da359f22e0523c067df72f2d2270575d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.5.8.0.apk | tr -d '\r') ]] || echo '9.5.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/05/18/0/106_975e0ff7e041f6bf7612c865f4bfeff7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.4.8.11.apk | tr -d '\r') ]] || echo '9.4.8.11 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/05/04/5/2_b6e637ba1ea8a02869217baed2081077.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.4.8.6.apk | tr -d '\r') ]] || echo '9.4.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/04/20/2/2_ba15d33b99b479e59b7c6b3eb05f2a28.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.4.8.4.apk | tr -d '\r') ]] || echo '9.4.8.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/04/19/8/2_b0b64a36ba7c889b9a3ad6381e5edef3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.4.8.3.apk | tr -d '\r') ]] || echo '9.4.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/04/13/10/110_3cf8d94384849c06f4b17934acf80cfc.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.4.8.0.apk | tr -d '\r') ]] || echo '9.4.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2019/09/10/6/102_3669b0da7bf4278424ae273ccff0c82b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.3.8.5.apk | tr -d '\r') ]] || echo '9.3.8.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/03/01/7/110_5e8a07d8cdf18639c2c0a21149665481.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.3.8.2.apk | tr -d '\r') ]] || echo '9.3.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/02/07/9/110_b805857e48e0eacb18c6c62c75b80ce7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.3.8.0.apk | tr -d '\r') ]] || echo '9.3.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/02/05/7/110_7f8d4823d245848f877e219aa55b9b45.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.2.8.8.apk | tr -d '\r') ]] || echo '9.2.8.8 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/02/01/1/106_850ad7d3f3f58afe3c5bb259c9e6dcb4.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.2.8.7.apk | tr -d '\r') ]] || echo '9.2.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2018/01/19/9/110_35c2ddeb0e91b7e58b9b5648aad7b71e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.2.8.5.apk | tr -d '\r') ]] || echo '9.2.8.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/12/29/6/110_81f591efa9c20585718b84114710fc9f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.2.8.0.apk | tr -d '\r') ]] || echo '9.2.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/12/22/10/110_005421553047b8a016cbb339e803e611.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.2.0.1.apk | tr -d '\r') ]] || echo '9.2.0.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/12/21/11/110_156fcf243d81117f0d6ed1207cb32d88.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.1.8.3.apk | tr -d '\r') ]] || echo '9.1.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/12/15/1/110_955a0ed03fbcbf15905ac08fb9c1d5ee.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.1.8.0.apk | tr -d '\r') ]] || echo '9.1.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/12/01/7/110_10dcb88c14e091e0c1de95728e461a4b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 9.0.8.0.apk | tr -d '\r') ]] || echo '9.0.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/11/16/1/110_7a4a552bac758450a0ab8431141c3b21.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.9.8.5.apk | tr -d '\r') ]] || echo '8.9.8.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/11/01/4/110_1dca784b401d049f26aba4e3ceedd562.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.9.8.0.apk | tr -d '\r') ]] || echo '8.9.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/10/24/2/110_374479e78e9d6c5a97825a52018f527b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.15.apk | tr -d '\r') ]] || echo '8.8.8.15 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/10/16/11/110_1110e37bbed1d6219f43296e4235febb.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.13.apk | tr -d '\r') ]] || echo '8.8.8.13 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/09/29/7/110_3e3e28edda221bd8440331aac7fca8af.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.9.apk | tr -d '\r') ]] || echo '8.8.8.9 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/09/19/7/110_2fe2ac9258d4497c31643c501107b5e9.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.6.apk | tr -d '\r') ]] || echo '8.8.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/09/18/9/110_dd4584ae0e15acdefb82fec9d8001f94.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.1.apk | tr -d '\r') ]] || echo '8.8.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/08/31/2/110_46e9a77b5e68db2b28d8418f42b4c987.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.8.8.0.apk | tr -d '\r') ]] || echo '8.8.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/08/15/5/110_c9bf9186b6340e738436468aed79081d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.7.8.6.apk | tr -d '\r') ]] || echo '8.7.8.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/08/04/2/110_0a5c26b41e541e7cf890d5554e51c939.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.7.8.2.apk | tr -d '\r') ]] || echo '8.7.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/08/03/11/110_f0fd7cdcef7a6d9a1cdf40e7ccace2b8.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.7.8.1.apk | tr -d '\r') ]] || echo '8.7.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/08/01/11/110_2cced32e2592604bf51a53fa2b1b6065.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.7.8.0.apk | tr -d '\r') ]] || echo '8.7.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/07/24/9/110_fe66f02444c483bf2828697fd9370c87.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.6.8.0.apk | tr -d '\r') ]] || echo '8.6.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/06/01/5/110_65e7f28fd8cd783c4220dc922c9849e7.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.5.8.0.apk | tr -d '\r') ]] || echo '8.5.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/05/19/3/2_3b7b7d785be890f07a1f166c2baada52.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.5.1.6.apk | tr -d '\r') ]] || echo '8.5.1.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/04/21/2/115_72c78f5237c6874ad4b1908feae22996.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.4.8.2.apk | tr -d '\r') ]] || echo '8.4.8.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/04/14/3/2_39504cfb4eb2f35d0a3f3a4b9f798e75.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.4.8.0.apk | tr -d '\r') ]] || echo '8.4.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/03/07/2/115_b62977ed6868412ef9ca57e049eecc5b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.3.8.0.apk | tr -d '\r') ]] || echo '8.3.8.0 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2017/01/20/1/106_d5c76d925bd3e72b4337b90ec73bb66b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.2.2.apk | tr -d '\r') ]] || echo '8.2.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/12/29/3/115_de190e72ecdd26f06f33493b65c70ae3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.1.0.4.apk | tr -d '\r') ]] || echo '8.1.0.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/11/30/1/115_970dccc3c83199711c55f50958f828d8.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 8.0.0.3.apk | tr -d '\r') ]] || echo '8.0.0.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/12/02/11/102_9ee1a8bbb49261d3970edb7bdb27af3b.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.9.2.apk | tr -d '\r') ]] || echo '7.9.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/09/01/11/2_3970eff76ea094ead72e98a6514b6077.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.8.1.apk | tr -d '\r') ]] || echo '7.8.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/07/28/4/106_e5342c3c3e3254d5644868b0b627a55c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.7.2.apk | tr -d '\r') ]] || echo '7.7.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/06/30/2/102_63bd7803a87ebed88f4990b987fe14f3.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.6.2.apk | tr -d '\r') ]] || echo '7.6.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/05/16/1/106_70885ce1b92272c816c0b0e6b018960c.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.4.5.apk | tr -d '\r') ]] || echo '7.4.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs08/2016/05/11/3/102_450569f9a8a59bfc05ad933e8180a547.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.4.3.apk | tr -d '\r') ]] || echo '7.4.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs07/2016/03/31/9/106_d925f8198b9d324f5d850096b085b6b6.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.3.4.apk | tr -d '\r') ]] || echo '7.3.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2016/01/29/10/106_c60d791fbbd23f572aebb25f69b04e2e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.2.2.apk | tr -d '\r') ]] || echo '7.2.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs05/2016/01/20/6/106_ee75d271d9d277054a2c105fc66dfb34.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.1.7.apk | tr -d '\r') ]] || echo '7.1.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs05/2015/12/30/2/2_b531ce1ebdaaa82d9613073aea15fb5f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.1.4.apk | tr -d '\r') ]] || echo '7.1.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs06/2015/12/04/3/102_71bad41cb1066eeb09db8218dd00eef9.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.0.4.apk | tr -d '\r') ]] || echo '7.0.4 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2015/12/03/2/102_3a5e67787fb8ec2bee8e2c533a393af0.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 7.0.3.apk | tr -d '\r') ]] || echo '7.0.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2015/12/07/6/102_a4a54438bb7aabf2a6d369f0e79e4a01.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.9.9.apk | tr -d '\r') ]] || echo '6.9.9 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs03/2015/10/30/4/2_1f58ff5c223bf13f7aaba4f385c3a660.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.9.7.apk | tr -d '\r') ]] || echo '6.9.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2015/10/17/1/102_741045daa31eb20feda256253c00024f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.9.5.apk | tr -d '\r') ]] || echo '6.9.5 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2015/09/29/11/2_1b1da032fadcfaccf883eaee2f6d2de5.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.9.2.apk | tr -d '\r') ]] || echo '6.9.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2015/09/08/1/102_47dfe4af40875ae8a72cb37fcd116455.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.8.7.apk | tr -d '\r') ]] || echo '6.8.7 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2015/08/17/1/102_fd8ee63aed88a8d3a27d6db65dbbb1ab.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.8.3.apk | tr -d '\r') ]] || echo '6.8.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs03/2015/06/09/9/102_79bdd4811c6675e8056a599607ed503f.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.7.2.apk | tr -d '\r') ]] || echo '6.7.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs04/2015/05/29/0/102_a3a5fbdda8551f6c615203fcfb47296e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.7.1.apk | tr -d '\r') ]] || echo '6.7.1 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs03/2015/04/09/3/0_c9734d0393c53710dba60e13b73edb25.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.6.6.apk | tr -d '\r') ]] || echo '6.6.6 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs03/2015/03/20/9/112_b09646fd662d7e36fbb83e99d2a991c5.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.6.2.apk | tr -d '\r') ]] || echo '6.6.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs03/2015/02/08/7/112_2b7bd37242f7af3dfe6f6a5a387e9247.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.5.8.apk | tr -d '\r') ]] || echo '6.5.8 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2015/02/02/1/0_0d23e9e7af5a106e2ad9b8a1e2a00cba.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.5.3.apk | tr -d '\r') ]] || echo '6.5.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2014/12/12/1/0_b14aa4d4fc06a064689fd3e68036a26d.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.5.2.apk | tr -d '\r') ]] || echo '6.5.2 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2014/11/03/0_9d442168e137b302ef9421a735b3ca74.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.4.9.apk | tr -d '\r') ]] || echo '6.4.9 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2014/10/28/0_01737649b859cbeee78d3aa86b7c132e.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.4.3.apk | tr -d '\r') ]] || echo '6.4.3 not match'
[[ $(curl -sIL https://android-apps.pp.cn/fs01/2014/09/03/102_20b5132f325d8a9b6df58c2ef91f7cfd.apk | grep content-length | tail -n 1 | awk '{print $2}' | tr -d '\r') -eq $(stat -c '%s' 6.3.3.apk | tr -d '\r') ]] || echo '6.3.3 not match'
n0099 commented 1 year ago

验证apk文件的md5是否对应下载url querystring md5的值

versions.map(i => `${i.downloadUrl.replace(/.*&md5=([0-9a-z]{32}).*/, '$1')} ${i.version}.apk`).join('\n');
ddffa58db4c4e5895d034244953aa9fa 12.34.3.0.apk
e81742d27412c8ade9c32e751f8cd615 12.34.1.0.apk
85b02a3ae73c364423655eeb5e7b01a0 12.32.5.2.apk
ef3f2a277de20d9e24dc45ab2be4d02f 12.32.5.1.apk
a755120a4ab003a2aa1cad5793173fa4 12.32.3.0.apk
7d0c73693507a756d21389ec8c086ca9 12.32.1.0.apk
25a8597e6cb110e020711a1484b67c96 12.31.5.0.apk
3b3d263fe9e58c97c32893c4b6f585b4 12.30.1.0.apk
9d8c5ad667e4f35739f6c9eecc1a316a 12.29.7.0.apk
f85974a225915aebf692c8da4c8de2f3 12.29.5.0.apk
e04578be4a55c07cb960c8f1c9d7e8b5 12.29.1.1.apk
a22c1facc260e8f8d0d5ddbb04bdffc8 12.28.1.1.apk
f902b5432bfe0586fddefb8c9435ada0 12.28.1.0.apk
fa4453461eee33f4b19ae9a4ee99e86e 12.27.5.0.apk
ed3b712fa2b12b8032a24071aeeedd1a 12.27.1.1.apk
1239b7dc41223415faf554b83e662fd2 12.27.1.0.apk
48cfcc779f871268c8b1fe82fe948e23 12.26.5.0.apk
9e863015d29a73b9c274db63a32974f7 12.26.3.0.apk
1ab2382a71aa7dd194d1d2bfa75b8b05 12.26.1.0.apk
d1664b8079f02f52074bb1c500a7216b 12.25.5.0.apk
bc92c686ccbfb0d63db63b50c551496d 12.25.1.0.apk
bf41edc066dcf989c49ed0eee048c2ed 12.24.1.0.apk
b147bbdf4eb43dc2f44bf511f55c724b 12.23.7.0.apk
d69158fcf19b6a578137462ac1ee039a 12.23.5.0.apk
2f26d724ef5db3cc938b3c0baf59104f 12.23.1.0.apk
71d7de31422d0840388220212fd4f41a 12.22.1.0.apk
508c564f31632481d74bcfc5e84d1aae 12.21.1.0.apk
f08e4e15a47a9b585eeb354bc070af07 12.20.1.0.apk
8a27f89d883fc838492ac429a2ebe290 12.19.1.0.apk
7e0d114234cab086c4bd714ad41c5ba4 12.18.1.0.apk
fae614797cd15aa3161ab38681ded00f 12.17.1.0.apk
13ba8b0d9c9ee7522282e9293a87a7ba 12.16.1.0.apk
2ac94e70051272799e016207fda4d044 12.15.1.0.apk
985e962a4efdd4c446bcfe0f0631c77b 12.14.1.0.apk
c4d45342f96e05bf6102fde9e6516b49 12.13.2.0.apk
16845c3bf1e16b4b6468e06b7cf40844 12.13.1.0.apk
abdaff1c4240b8c7011e74180632ee9d 12.12.1.0.apk
9be882e3e1915d7395760c4eb898a90a 12.11.1.0.apk
50cd96ceb5ce500c0db1a4d655ec126e 12.10.1.0.apk
c1b5cfbfa3026528f52e02bef16b37fb 12.9.3.0.apk
71dd86f764beb380895475b617e3acae 12.9.2.0.apk
a15e3a4219fdfaf7f72d5346e81ae216 12.9.1.0.apk
9f025fe33db7e2ef7a9a281c05e4b548 12.8.1.1.apk
0dea22dc1ba6fd7488e809a6ce5fe14e 12.8.1.0.apk
a64811fe28a0cb5d2f219e5e98a6e6c4 12.7.6.0.apk
6823425795ca9be71b43a7e001082638 12.7.1.1.apk
bbd968c16816af7c4661b7f2c9880e77 12.7.1.0.apk
62aa2f7fc6b558dd4496784465d447e5 12.6.6.0.apk
920f297a253896bd54e4de0190b1c0af 12.6.3.0.apk
d79a9ea6fb6f253201308a186f4fb703 12.6.1.0.apk
b93781fad184dbe60c709e7477c0c4f1 12.5.6.0.apk
e053885489d0d17ed9e40a2872d5eca6 12.5.1.0.apk
5825c1a4ff5636d6635f5c5d369ce648 12.4.8.24.apk
d5766c59b29425dfa401a1168119ec22 12.4.8.15.apk
e0d8fccb32604cd5ee8d66fa5f264c33 12.4.8.14.apk
f0218cb9819256b99fc24dfe2b8da2d0 12.4.8.2.apk
ac9ed7c32df8b6253320074300f9c328 12.4.8.0.apk
73a300daeba742cdf9fb41ca3f09b57b 12.3.8.11.apk
ac4c7d3733245ac391925ac97ea73bf3 12.3.8.10.apk
6432d51d722549a30a074687f1a73f6b 12.3.8.6.apk
388d240d1e6b24fd709e88e4010f6e88 12.3.8.3.apk
76503780a1b4d9507d4620287ee72712 12.3.8.0.apk
6c3c23e394a5dfb3f2823dc9320ec54f 12.2.8.11.apk
18327606e4b37982c62ca6003d7194bc 12.2.8.9.apk
56b074616f13407c3008dfd55e395fbb 12.2.8.1.apk
8ad8fba55710724e08bc0efecd5fedfb 12.2.8.0.apk
b859017ccdd2828cf868a601ec40659c 12.1.8.4.apk
f0bdcddee0b220287b2270df33afd941 12.1.8.1.apk
338834f69160e7c267762c21fc29c2ab 12.1.8.0.apk
6585c90d61c04cb528a2fca4ac0cfbc6 12.0.8.1.apk
12b9867bfcc90b928176aab95edeae1a 12.0.8.0.apk
8e6015cc0930b11506206743cc3b32a5 12.0.2.2.apk
61073a6e6c7ca626b4771a9be5455788 11.10.8.6.apk
ac323aec2a1c7338f9e0a072f99e1693 11.10.8.0.apk
596b1d27e707f0ead73a020b669a55b6 11.9.8.0.apk
e7bff22b969f245e183b0980a4d1c293 11.8.8.7.apk
2c6d9443c478bcb6b92bfc0b10510b9a 11.8.8.0.apk
ed3bcc9c728a3f80feb8e0372bb6cac4 11.7.8.1.apk
7ca653a0fb8b5b8837f2426641d27ab4 11.7.8.0.apk
f36cece5152e7a85faebea879b7baf1a 11.6.8.2.apk
4f1cfdb5ac63ce4529e909e3adb0d224 11.6.8.1.apk
41bb167a38bf8ef209cc28ab7e2fdd6f 11.6.8.0.apk
a3b81c6f19b1af39b90e0dc1a432a760 11.5.8.3.apk
55f0eaacfc94999ff89ebf88792850a9 11.5.8.0.apk
dea2465a9619dcb62b1777232c794c57 11.4.8.7.apk
39acf1aa74c08c08789ba98446efdbb0 11.4.8.6.apk
b1a419cb94d2b7db5edb2b40e0122f5e 11.4.8.0.apk
e3201af9308f788c4bb9b5e81985815f 11.3.8.2.apk
d16c334f88b21689b512bb07f3ead817 11.3.8.1.apk
f6c5850cb8eb323106be70531faca988 11.3.8.0.apk
12524e28e43af62e718a121173d87bba 11.2.8.4.apk
4ff808b344cb31bdc3fca2bdc692888e 11.2.8.1.apk
3f2405d139ea0a983f67fafa9bc690bb 11.2.8.0.apk
ec64e72bbd3392e0376c99a5a9011fda 11.1.8.2.apk
549091318b1689d6ac1cd2be8963e0af 11.1.8.1.apk
8210f365461c4794d2ae437a309815c3 11.1.8.0.apk
646c2987283afd8ca1448a10eae2258c 11.0.0.0.apk
34b9faeae883771f97f8166fd508eba0 10.3.8.41.apk
61bdfba71541941642a6326d8fa057ce 10.3.8.34.apk
44fbff69c3794ff0a6d33d830c76fa02 10.3.8.33.apk
0e692726c40924b48f622456798812c3 10.3.8.30.apk
7065e8585c572e100f4a147a37e29113 10.3.8.19.apk
71de38151d0cb2fc6e68305c957d7ab8 10.3.8.12.apk
8c55a3afedc143fbe3b23c702084027a 10.3.8.10.apk
e342d7becfa539900ec56d7d963c5ad8 10.3.8.8.apk
057a21412c8c482a1a2342c55b1f692c 10.3.8.7.apk
2680e9433e4930977429726afc5e32f1 10.3.8.1.apk
fb6027e99b26d21b76e9669d999b51c5 10.3.8.0.apk
3116b9aa3cf423bc8d06ddeae8f8048b 10.2.8.8.apk
eb29d20fed1eb8d19f7f3ea15242123b 10.2.8.5.apk
4ef568f5875987833bc606210fdaeede 10.2.8.2.apk
044e43abb452d4b4118a4fb7e7447b26 10.2.8.0.apk
29a24bd07f80027efd3f4ed0a508ed14 10.1.8.1.apk
cc029d4b0be6b6cc5166ea0c87357c02 10.1.8.0.apk
1fa2899ca942cd60ec8f157e6943f6ff 10.0.8.4.apk
dd2bcdd2ff8f59ea3d9cd1a8b3233768 10.0.8.2.apk
986d6857d234e79db7e109df40dedf76 10.0.8.0.apk
236c9327e5c65d67441531b9aa0669e0 9.9.8.42.apk
c4b27e3001dafcb9d331a911fd0f21aa 9.9.8.41.apk
fa01101995b10723cbffe23a9680f0ac 9.9.8.40.apk
9f3011dbfc22aacb5f8de3fc419e9610 9.9.8.32.apk
edadf7bb24142ef79b9aff70ce7987bd 9.9.8.31.apk
b0676e03231951716db88a9e4a9a4946 9.9.8.20.apk
735c154cc1e463cca9d190308e945cf0 9.9.8.12.apk
0fd6251ab478a1d533de64b9e247912b 9.9.8.10.apk
de95ac351f70c52b381cc40e9ec2a1f8 9.9.8.0.apk
8a5d12840d2a6005f3312965a22de359 9.8.8.13.apk
8b874480430617c35db4a2e878f1b9ce 9.8.8.7.apk
4f18d5d9b84f3bcf21fab6826d329d92 9.8.8.5.apk
1a995b2d5e675d714a2b5086664869e3 9.8.8.3.apk
6737f05b01b4d82aaec8e4df0ca8f83f 9.8.8.0.apk
a903efd9ea457c7d53bf8c0fe9ece0b4 9.7.8.3.apk
9f6a3924b5ce931e2850853b15f092d5 9.7.8.0.apk
192b5e6822b64696d9953ee2ed5cb273 9.6.8.2.apk
32150e0116b2248655c23940d4d45db0 9.6.8.1.apk
c29c91ec47cd2b834292f81e3cac0652 9.6.8.0.apk
9eaab5f52b9304957e0396746a086d94 9.5.8.0.apk
15c6f46416297839e0bdf35b451b9e98 9.4.8.11.apk
100a2d1c29964b341c066b1fb6e06b0e 9.4.8.6.apk
c197154e8bc3cb84f66439dd46b572ee 9.4.8.4.apk
aa0834717a5715d871c7fb533ee30535 9.4.8.3.apk
fc6e9b7fc759e7cf9e585bd5e889b662 9.4.8.0.apk
ba19350e456b8bd99424d14f83769775 9.3.8.5.apk
373d6aca72e70d9222324a89343ed09c 9.3.8.2.apk
8d0721ef6b854dd75a123e21d2bb1047 9.3.8.0.apk
cd96a7b2f8ad9fa71e6063de6f007f18 9.2.8.8.apk
77b6c5716844b4b74bc8801dd5b7685f 9.2.8.7.apk
e0bdeae96cbd95695eaa819337cce5ef 9.2.8.5.apk
2678465a507c96750b235f35121cda8d 9.2.8.0.apk
a779a4cbdb2c2aecaad36b2a3fb53d8c 9.2.0.1.apk
cb9faa33d2cab1d1a7b31857621f02c0 9.1.8.3.apk
ef1c227e094ddacb7a15f125257a1dbb 9.1.8.0.apk
2d6cee9ed434b00acf750bdcf00faffe 9.0.8.0.apk
f0195e323de4566250e28c01cb392194 8.9.8.5.apk
c748383042671e043502e0f803fc0d28 8.9.8.0.apk
4ec93438b4828f80622f7325444f4aec 8.8.8.15.apk
6cdd9738c116845407e1599c4dd27d8b 8.8.8.13.apk
a0e338f2a6294bb04d5ad05666f24e50 8.8.8.9.apk
d12ba2b980bd25fe4a123a2217841516 8.8.8.6.apk
0ed53cd3300cb21f2df0b26d486a2837 8.8.8.1.apk
464e7a1bda7c81b5835762b472ad1eeb 8.8.8.0.apk
b18c57bc4d57f35f9f8538b9b6e388c1 8.7.8.6.apk
edd4bf3f65a15181ada9e9284dcadb6f 8.7.8.2.apk
c14e7e39af0ca3c61d5e2856d07b3c4e 8.7.8.1.apk
875c7c2f95711cee334f2cae930df104 8.7.8.0.apk
938531838a855770e1acdac87de27ee0 8.6.8.0.apk
b3be744a8de129825815a9cb2eba3492 8.5.8.0.apk
6e804d8703f905b6d61ac13456f19906 8.5.1.6.apk
4f58cc2f54f93a2534e84ac96107bfa7 8.4.8.2.apk
22eacb43e943b869deafa43ae9accbcd 8.4.8.0.apk
4c4e19dbee901ca10ae42bee28c42ebb 8.3.8.0.apk
711d502e976d650afb158a758b28fbe4 8.2.2.apk
6747b20b3c53f906e2cdd3ee33701478 8.1.0.4.apk
9543de3c171ecaba412b44d6a0a30bd2 8.0.0.3.apk
89af814d9d247ee9d3b81e156220b79a 7.9.2.apk
0293c4d2ba714c62359e05646713cf0e 7.8.1.apk
b592de482f08f4974317590874283ea0 7.7.2.apk
2f40ddeccc1c35418376d0ef06de5f47 7.6.2.apk
915f07c17d7452eda5567238976f332c 7.4.5.apk
f94128c8a2393d13d39ba8cebeefad19 7.4.3.apk
709e38b5355d669bd4b2a94382e60ea2 7.3.4.apk
7ddc9186283eb6aaa888c44fdf54e38a 7.2.2.apk
c668fd15aae7a82134b063e53347d1be 7.1.7.apk
5a96b409b8d5e1898ca3d53665eb7cb3 7.1.4.apk
0e75f40cf5add1ada98022006891b35e 7.0.4.apk
72b908a7983b2166d24c99980e6c729f 7.0.3.apk
6a34ffe061d328eba55b5b7dfdca06cc 6.9.9.apk
77e96cc47fb81a4c3b09172bc128b5e8 6.9.7.apk
abddec4e31efaa5355d151a5be7e0220 6.9.5.apk
9d979967ab0619d2271e21dd03d96345 6.9.2.apk
5e7f1e42b278e65f1608826cf45e26c9 6.8.7.apk
77ef392f5335781fce318a8c9b20bf4f 6.8.3.apk
f36d4368055b5c36d01c5595c7f8dd1c 6.7.2.apk
f15afd7792654c338331b7afd60df6fe 6.7.1.apk
93bc9c9ac4b6858e4472c154b7e4ac7a 6.6.6.apk
e4b6f38f6d87f8e57a51efcf7370b606 6.6.2.apk
1e19265a8821cd5be0d878fcce2106a4 6.5.8.apk
ace8972d4abfae49e0765f1e73855092 6.5.3.apk
34f6e41a737b4f2ceb519154ec76431e 6.5.2.apk
9ac794c33caa6f507db9b58a13fee33d 6.4.9.apk
bf79b61780a5c9d881ace20b53960b2e 6.4.3.apk
153c1271d76c0541357b86f2e951d3c5 6.3.3.apk

保存于md5.tsv

md5sum --check --quiet md5.tsv
n0099 commented 1 year ago

@BANKA2017 建议立即上传 archive.org 永久归档 https://n0099-my.sharepoint.cn/:f:/g/personal/n_n0099_partner_onmschina_cn/EolZx_WzrVRBm-jPm6O_030BX0hO1EzNgK3IiNeM2VfnGA?e=340ee5

BANKA2017 commented 1 year ago

翻了一圈 archive.org,可以通过枚举 http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk 补齐官网版1.x到4.x的版本

5.x 没救,2014年一整年都没有任何记录

n0099 commented 1 year ago

翻了一圈 archive.org,可以通过枚举 http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk 补齐官网版1.x到4.x的版本

  1. 建议立即开始dex2jar

5.x 没救,2014年一整年都没有任何记录

  1. 5.x应该是13年的,您问问云南贵族id吃miss吧候选吧主556神

  2. 您还在四叶qq分部之贴吧研究所群吗?请您把我在17还是18年收集的提供历史版本客户端下载的网站群公告复制粘贴一下

n0099 commented 1 year ago
[...Array(6).keys()]
    .filter(i => i !== 0)
    .reduce((vers, major) => {
        vers.push(...[...Array(10).keys()]
            .map(minor => `${major}.${minor}`)
            .reduce((vers, majminor) => {
                vers.push(...[...Array(10).keys()].map(rev => `${majminor}.${rev}`));
                return vers;
            }, [])
        );
        return vers;
    }, [])
    .map(ver => `wget2 -O ${ver}.apk http://static.tieba.baidu.com/client/android/tbclient_${ver.replaceAll('.', '_')}.apk`)
    .join('\n');
wget2 -O 1.0.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk
wget2 -O 1.0.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_1.apk
wget2 -O 1.0.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_2.apk
wget2 -O 1.0.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_3.apk
wget2 -O 1.0.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_4.apk
wget2 -O 1.0.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_5.apk
wget2 -O 1.0.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_6.apk
wget2 -O 1.0.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_7.apk
wget2 -O 1.0.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_8.apk
wget2 -O 1.0.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_0_9.apk
wget2 -O 1.1.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_0.apk
wget2 -O 1.1.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_1.apk
wget2 -O 1.1.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_2.apk
wget2 -O 1.1.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_3.apk
wget2 -O 1.1.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_4.apk
wget2 -O 1.1.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_5.apk
wget2 -O 1.1.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_6.apk
wget2 -O 1.1.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_7.apk
wget2 -O 1.1.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_8.apk
wget2 -O 1.1.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_1_9.apk
wget2 -O 1.2.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_0.apk
wget2 -O 1.2.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_1.apk
wget2 -O 1.2.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_2.apk
wget2 -O 1.2.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_3.apk
wget2 -O 1.2.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_4.apk
wget2 -O 1.2.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_5.apk
wget2 -O 1.2.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_6.apk
wget2 -O 1.2.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_7.apk
wget2 -O 1.2.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_8.apk
wget2 -O 1.2.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_2_9.apk
wget2 -O 1.3.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_0.apk
wget2 -O 1.3.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_1.apk
wget2 -O 1.3.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_2.apk
wget2 -O 1.3.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_3.apk
wget2 -O 1.3.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_4.apk
wget2 -O 1.3.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_5.apk
wget2 -O 1.3.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_6.apk
wget2 -O 1.3.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_7.apk
wget2 -O 1.3.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_8.apk
wget2 -O 1.3.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_3_9.apk
wget2 -O 1.4.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_0.apk
wget2 -O 1.4.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_1.apk
wget2 -O 1.4.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_2.apk
wget2 -O 1.4.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_3.apk
wget2 -O 1.4.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_4.apk
wget2 -O 1.4.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_5.apk
wget2 -O 1.4.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_6.apk
wget2 -O 1.4.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_7.apk
wget2 -O 1.4.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_8.apk
wget2 -O 1.4.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_4_9.apk
wget2 -O 1.5.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_0.apk
wget2 -O 1.5.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_1.apk
wget2 -O 1.5.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_2.apk
wget2 -O 1.5.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_3.apk
wget2 -O 1.5.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_4.apk
wget2 -O 1.5.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_5.apk
wget2 -O 1.5.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_6.apk
wget2 -O 1.5.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_7.apk
wget2 -O 1.5.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_8.apk
wget2 -O 1.5.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_5_9.apk
wget2 -O 1.6.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_0.apk
wget2 -O 1.6.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_1.apk
wget2 -O 1.6.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_2.apk
wget2 -O 1.6.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_3.apk
wget2 -O 1.6.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_4.apk
wget2 -O 1.6.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_5.apk
wget2 -O 1.6.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_6.apk
wget2 -O 1.6.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_7.apk
wget2 -O 1.6.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_8.apk
wget2 -O 1.6.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_6_9.apk
wget2 -O 1.7.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_0.apk
wget2 -O 1.7.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_1.apk
wget2 -O 1.7.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_2.apk
wget2 -O 1.7.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_3.apk
wget2 -O 1.7.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_4.apk
wget2 -O 1.7.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_5.apk
wget2 -O 1.7.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_6.apk
wget2 -O 1.7.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_7.apk
wget2 -O 1.7.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_8.apk
wget2 -O 1.7.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_7_9.apk
wget2 -O 1.8.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_0.apk
wget2 -O 1.8.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_1.apk
wget2 -O 1.8.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_2.apk
wget2 -O 1.8.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_3.apk
wget2 -O 1.8.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_4.apk
wget2 -O 1.8.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_5.apk
wget2 -O 1.8.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_6.apk
wget2 -O 1.8.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_7.apk
wget2 -O 1.8.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_8.apk
wget2 -O 1.8.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_8_9.apk
wget2 -O 1.9.0.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_0.apk
wget2 -O 1.9.1.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_1.apk
wget2 -O 1.9.2.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_2.apk
wget2 -O 1.9.3.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_3.apk
wget2 -O 1.9.4.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_4.apk
wget2 -O 1.9.5.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_5.apk
wget2 -O 1.9.6.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_6.apk
wget2 -O 1.9.7.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_7.apk
wget2 -O 1.9.8.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_8.apk
wget2 -O 1.9.9.apk http://static.tieba.baidu.com/client/android/tbclient_1_9_9.apk
wget2 -O 2.0.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_0.apk
wget2 -O 2.0.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_1.apk
wget2 -O 2.0.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_2.apk
wget2 -O 2.0.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_3.apk
wget2 -O 2.0.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_4.apk
wget2 -O 2.0.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_5.apk
wget2 -O 2.0.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_6.apk
wget2 -O 2.0.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_7.apk
wget2 -O 2.0.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_8.apk
wget2 -O 2.0.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_0_9.apk
wget2 -O 2.1.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_0.apk
wget2 -O 2.1.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_1.apk
wget2 -O 2.1.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_2.apk
wget2 -O 2.1.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_3.apk
wget2 -O 2.1.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_4.apk
wget2 -O 2.1.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_5.apk
wget2 -O 2.1.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_6.apk
wget2 -O 2.1.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_7.apk
wget2 -O 2.1.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_8.apk
wget2 -O 2.1.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_1_9.apk
wget2 -O 2.2.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_0.apk
wget2 -O 2.2.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_1.apk
wget2 -O 2.2.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_2.apk
wget2 -O 2.2.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_3.apk
wget2 -O 2.2.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_4.apk
wget2 -O 2.2.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_5.apk
wget2 -O 2.2.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_6.apk
wget2 -O 2.2.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_7.apk
wget2 -O 2.2.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_8.apk
wget2 -O 2.2.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_2_9.apk
wget2 -O 2.3.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_0.apk
wget2 -O 2.3.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_1.apk
wget2 -O 2.3.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_2.apk
wget2 -O 2.3.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_3.apk
wget2 -O 2.3.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_4.apk
wget2 -O 2.3.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_5.apk
wget2 -O 2.3.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_6.apk
wget2 -O 2.3.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_7.apk
wget2 -O 2.3.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_8.apk
wget2 -O 2.3.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_3_9.apk
wget2 -O 2.4.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_0.apk
wget2 -O 2.4.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_1.apk
wget2 -O 2.4.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_2.apk
wget2 -O 2.4.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_3.apk
wget2 -O 2.4.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_4.apk
wget2 -O 2.4.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_5.apk
wget2 -O 2.4.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_6.apk
wget2 -O 2.4.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_7.apk
wget2 -O 2.4.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_8.apk
wget2 -O 2.4.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_4_9.apk
wget2 -O 2.5.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_0.apk
wget2 -O 2.5.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_1.apk
wget2 -O 2.5.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_2.apk
wget2 -O 2.5.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_3.apk
wget2 -O 2.5.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_4.apk
wget2 -O 2.5.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_5.apk
wget2 -O 2.5.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_6.apk
wget2 -O 2.5.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_7.apk
wget2 -O 2.5.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_8.apk
wget2 -O 2.5.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_5_9.apk
wget2 -O 2.6.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_0.apk
wget2 -O 2.6.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_1.apk
wget2 -O 2.6.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_2.apk
wget2 -O 2.6.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_3.apk
wget2 -O 2.6.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_4.apk
wget2 -O 2.6.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_5.apk
wget2 -O 2.6.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_6.apk
wget2 -O 2.6.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_7.apk
wget2 -O 2.6.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_8.apk
wget2 -O 2.6.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_6_9.apk
wget2 -O 2.7.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_0.apk
wget2 -O 2.7.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_1.apk
wget2 -O 2.7.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_2.apk
wget2 -O 2.7.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_3.apk
wget2 -O 2.7.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_4.apk
wget2 -O 2.7.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_5.apk
wget2 -O 2.7.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_6.apk
wget2 -O 2.7.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_7.apk
wget2 -O 2.7.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_8.apk
wget2 -O 2.7.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_7_9.apk
wget2 -O 2.8.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_0.apk
wget2 -O 2.8.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_1.apk
wget2 -O 2.8.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_2.apk
wget2 -O 2.8.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_3.apk
wget2 -O 2.8.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_4.apk
wget2 -O 2.8.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_5.apk
wget2 -O 2.8.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_6.apk
wget2 -O 2.8.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_7.apk
wget2 -O 2.8.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_8.apk
wget2 -O 2.8.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_8_9.apk
wget2 -O 2.9.0.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_0.apk
wget2 -O 2.9.1.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_1.apk
wget2 -O 2.9.2.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_2.apk
wget2 -O 2.9.3.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_3.apk
wget2 -O 2.9.4.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_4.apk
wget2 -O 2.9.5.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_5.apk
wget2 -O 2.9.6.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_6.apk
wget2 -O 2.9.7.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_7.apk
wget2 -O 2.9.8.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_8.apk
wget2 -O 2.9.9.apk http://static.tieba.baidu.com/client/android/tbclient_2_9_9.apk
wget2 -O 3.0.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_0.apk
wget2 -O 3.0.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_1.apk
wget2 -O 3.0.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_2.apk
wget2 -O 3.0.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_3.apk
wget2 -O 3.0.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_4.apk
wget2 -O 3.0.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_5.apk
wget2 -O 3.0.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_6.apk
wget2 -O 3.0.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_7.apk
wget2 -O 3.0.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_8.apk
wget2 -O 3.0.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_0_9.apk
wget2 -O 3.1.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_0.apk
wget2 -O 3.1.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_1.apk
wget2 -O 3.1.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_2.apk
wget2 -O 3.1.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_3.apk
wget2 -O 3.1.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_4.apk
wget2 -O 3.1.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_5.apk
wget2 -O 3.1.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_6.apk
wget2 -O 3.1.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_7.apk
wget2 -O 3.1.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_8.apk
wget2 -O 3.1.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_1_9.apk
wget2 -O 3.2.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_0.apk
wget2 -O 3.2.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_1.apk
wget2 -O 3.2.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_2.apk
wget2 -O 3.2.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_3.apk
wget2 -O 3.2.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_4.apk
wget2 -O 3.2.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_5.apk
wget2 -O 3.2.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_6.apk
wget2 -O 3.2.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_7.apk
wget2 -O 3.2.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_8.apk
wget2 -O 3.2.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_2_9.apk
wget2 -O 3.3.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_0.apk
wget2 -O 3.3.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_1.apk
wget2 -O 3.3.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_2.apk
wget2 -O 3.3.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_3.apk
wget2 -O 3.3.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_4.apk
wget2 -O 3.3.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_5.apk
wget2 -O 3.3.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_6.apk
wget2 -O 3.3.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_7.apk
wget2 -O 3.3.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_8.apk
wget2 -O 3.3.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_3_9.apk
wget2 -O 3.4.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_0.apk
wget2 -O 3.4.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_1.apk
wget2 -O 3.4.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_2.apk
wget2 -O 3.4.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_3.apk
wget2 -O 3.4.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_4.apk
wget2 -O 3.4.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_5.apk
wget2 -O 3.4.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_6.apk
wget2 -O 3.4.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_7.apk
wget2 -O 3.4.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_8.apk
wget2 -O 3.4.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_4_9.apk
wget2 -O 3.5.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_0.apk
wget2 -O 3.5.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_1.apk
wget2 -O 3.5.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_2.apk
wget2 -O 3.5.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_3.apk
wget2 -O 3.5.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_4.apk
wget2 -O 3.5.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_5.apk
wget2 -O 3.5.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_6.apk
wget2 -O 3.5.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_7.apk
wget2 -O 3.5.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_8.apk
wget2 -O 3.5.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_5_9.apk
wget2 -O 3.6.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_0.apk
wget2 -O 3.6.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_1.apk
wget2 -O 3.6.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_2.apk
wget2 -O 3.6.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_3.apk
wget2 -O 3.6.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_4.apk
wget2 -O 3.6.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_5.apk
wget2 -O 3.6.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_6.apk
wget2 -O 3.6.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_7.apk
wget2 -O 3.6.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_8.apk
wget2 -O 3.6.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_6_9.apk
wget2 -O 3.7.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_0.apk
wget2 -O 3.7.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_1.apk
wget2 -O 3.7.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_2.apk
wget2 -O 3.7.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_3.apk
wget2 -O 3.7.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_4.apk
wget2 -O 3.7.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_5.apk
wget2 -O 3.7.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_6.apk
wget2 -O 3.7.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_7.apk
wget2 -O 3.7.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_8.apk
wget2 -O 3.7.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_7_9.apk
wget2 -O 3.8.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_0.apk
wget2 -O 3.8.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_1.apk
wget2 -O 3.8.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_2.apk
wget2 -O 3.8.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_3.apk
wget2 -O 3.8.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_4.apk
wget2 -O 3.8.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_5.apk
wget2 -O 3.8.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_6.apk
wget2 -O 3.8.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_7.apk
wget2 -O 3.8.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_8.apk
wget2 -O 3.8.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_8_9.apk
wget2 -O 3.9.0.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_0.apk
wget2 -O 3.9.1.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_1.apk
wget2 -O 3.9.2.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_2.apk
wget2 -O 3.9.3.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_3.apk
wget2 -O 3.9.4.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_4.apk
wget2 -O 3.9.5.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_5.apk
wget2 -O 3.9.6.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_6.apk
wget2 -O 3.9.7.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_7.apk
wget2 -O 3.9.8.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_8.apk
wget2 -O 3.9.9.apk http://static.tieba.baidu.com/client/android/tbclient_3_9_9.apk
wget2 -O 4.0.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_0.apk
wget2 -O 4.0.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_1.apk
wget2 -O 4.0.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_2.apk
wget2 -O 4.0.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_3.apk
wget2 -O 4.0.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_4.apk
wget2 -O 4.0.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_5.apk
wget2 -O 4.0.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_6.apk
wget2 -O 4.0.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_7.apk
wget2 -O 4.0.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_8.apk
wget2 -O 4.0.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_0_9.apk
wget2 -O 4.1.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_0.apk
wget2 -O 4.1.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_1.apk
wget2 -O 4.1.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_2.apk
wget2 -O 4.1.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_3.apk
wget2 -O 4.1.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_4.apk
wget2 -O 4.1.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_5.apk
wget2 -O 4.1.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_6.apk
wget2 -O 4.1.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_7.apk
wget2 -O 4.1.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_8.apk
wget2 -O 4.1.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_1_9.apk
wget2 -O 4.2.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_0.apk
wget2 -O 4.2.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_1.apk
wget2 -O 4.2.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_2.apk
wget2 -O 4.2.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_3.apk
wget2 -O 4.2.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_4.apk
wget2 -O 4.2.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_5.apk
wget2 -O 4.2.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_6.apk
wget2 -O 4.2.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_7.apk
wget2 -O 4.2.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_8.apk
wget2 -O 4.2.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_2_9.apk
wget2 -O 4.3.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_0.apk
wget2 -O 4.3.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_1.apk
wget2 -O 4.3.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_2.apk
wget2 -O 4.3.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_3.apk
wget2 -O 4.3.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_4.apk
wget2 -O 4.3.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_5.apk
wget2 -O 4.3.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_6.apk
wget2 -O 4.3.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_7.apk
wget2 -O 4.3.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_8.apk
wget2 -O 4.3.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_3_9.apk
wget2 -O 4.4.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_0.apk
wget2 -O 4.4.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_1.apk
wget2 -O 4.4.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_2.apk
wget2 -O 4.4.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_3.apk
wget2 -O 4.4.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_4.apk
wget2 -O 4.4.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_5.apk
wget2 -O 4.4.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_6.apk
wget2 -O 4.4.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_7.apk
wget2 -O 4.4.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_8.apk
wget2 -O 4.4.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_4_9.apk
wget2 -O 4.5.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_0.apk
wget2 -O 4.5.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_1.apk
wget2 -O 4.5.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_2.apk
wget2 -O 4.5.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_3.apk
wget2 -O 4.5.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_4.apk
wget2 -O 4.5.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_5.apk
wget2 -O 4.5.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_6.apk
wget2 -O 4.5.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_7.apk
wget2 -O 4.5.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_8.apk
wget2 -O 4.5.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_5_9.apk
wget2 -O 4.6.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_0.apk
wget2 -O 4.6.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_1.apk
wget2 -O 4.6.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_2.apk
wget2 -O 4.6.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_3.apk
wget2 -O 4.6.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_4.apk
wget2 -O 4.6.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_5.apk
wget2 -O 4.6.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_6.apk
wget2 -O 4.6.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_7.apk
wget2 -O 4.6.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_8.apk
wget2 -O 4.6.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_6_9.apk
wget2 -O 4.7.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_0.apk
wget2 -O 4.7.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_1.apk
wget2 -O 4.7.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_2.apk
wget2 -O 4.7.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_3.apk
wget2 -O 4.7.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_4.apk
wget2 -O 4.7.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_5.apk
wget2 -O 4.7.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_6.apk
wget2 -O 4.7.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_7.apk
wget2 -O 4.7.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_8.apk
wget2 -O 4.7.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_7_9.apk
wget2 -O 4.8.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_0.apk
wget2 -O 4.8.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_1.apk
wget2 -O 4.8.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_2.apk
wget2 -O 4.8.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_3.apk
wget2 -O 4.8.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_4.apk
wget2 -O 4.8.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_5.apk
wget2 -O 4.8.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_6.apk
wget2 -O 4.8.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_7.apk
wget2 -O 4.8.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_8.apk
wget2 -O 4.8.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_8_9.apk
wget2 -O 4.9.0.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_0.apk
wget2 -O 4.9.1.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_1.apk
wget2 -O 4.9.2.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_2.apk
wget2 -O 4.9.3.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_3.apk
wget2 -O 4.9.4.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_4.apk
wget2 -O 4.9.5.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_5.apk
wget2 -O 4.9.6.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_6.apk
wget2 -O 4.9.7.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_7.apk
wget2 -O 4.9.8.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_8.apk
wget2 -O 4.9.9.apk http://static.tieba.baidu.com/client/android/tbclient_4_9_9.apk
wget2 -O 5.0.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_0.apk
wget2 -O 5.0.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_1.apk
wget2 -O 5.0.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_2.apk
wget2 -O 5.0.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_3.apk
wget2 -O 5.0.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_4.apk
wget2 -O 5.0.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_5.apk
wget2 -O 5.0.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_6.apk
wget2 -O 5.0.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_7.apk
wget2 -O 5.0.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_8.apk
wget2 -O 5.0.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_0_9.apk
wget2 -O 5.1.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_0.apk
wget2 -O 5.1.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_1.apk
wget2 -O 5.1.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_2.apk
wget2 -O 5.1.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_3.apk
wget2 -O 5.1.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_4.apk
wget2 -O 5.1.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_5.apk
wget2 -O 5.1.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_6.apk
wget2 -O 5.1.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_7.apk
wget2 -O 5.1.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_8.apk
wget2 -O 5.1.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_1_9.apk
wget2 -O 5.2.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_0.apk
wget2 -O 5.2.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_1.apk
wget2 -O 5.2.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_2.apk
wget2 -O 5.2.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_3.apk
wget2 -O 5.2.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_4.apk
wget2 -O 5.2.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_5.apk
wget2 -O 5.2.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_6.apk
wget2 -O 5.2.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_7.apk
wget2 -O 5.2.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_8.apk
wget2 -O 5.2.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_2_9.apk
wget2 -O 5.3.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_0.apk
wget2 -O 5.3.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_1.apk
wget2 -O 5.3.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_2.apk
wget2 -O 5.3.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_3.apk
wget2 -O 5.3.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_4.apk
wget2 -O 5.3.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_5.apk
wget2 -O 5.3.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_6.apk
wget2 -O 5.3.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_7.apk
wget2 -O 5.3.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_8.apk
wget2 -O 5.3.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_3_9.apk
wget2 -O 5.4.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_0.apk
wget2 -O 5.4.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_1.apk
wget2 -O 5.4.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_2.apk
wget2 -O 5.4.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_3.apk
wget2 -O 5.4.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_4.apk
wget2 -O 5.4.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_5.apk
wget2 -O 5.4.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_6.apk
wget2 -O 5.4.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_7.apk
wget2 -O 5.4.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_8.apk
wget2 -O 5.4.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_4_9.apk
wget2 -O 5.5.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_0.apk
wget2 -O 5.5.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_1.apk
wget2 -O 5.5.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_2.apk
wget2 -O 5.5.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_3.apk
wget2 -O 5.5.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_4.apk
wget2 -O 5.5.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_5.apk
wget2 -O 5.5.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_6.apk
wget2 -O 5.5.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_7.apk
wget2 -O 5.5.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_8.apk
wget2 -O 5.5.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_5_9.apk
wget2 -O 5.6.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_0.apk
wget2 -O 5.6.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_1.apk
wget2 -O 5.6.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_2.apk
wget2 -O 5.6.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_3.apk
wget2 -O 5.6.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_4.apk
wget2 -O 5.6.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_5.apk
wget2 -O 5.6.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_6.apk
wget2 -O 5.6.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_7.apk
wget2 -O 5.6.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_8.apk
wget2 -O 5.6.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_6_9.apk
wget2 -O 5.7.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_0.apk
wget2 -O 5.7.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_1.apk
wget2 -O 5.7.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_2.apk
wget2 -O 5.7.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_3.apk
wget2 -O 5.7.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_4.apk
wget2 -O 5.7.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_5.apk
wget2 -O 5.7.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_6.apk
wget2 -O 5.7.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_7.apk
wget2 -O 5.7.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_8.apk
wget2 -O 5.7.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_7_9.apk
wget2 -O 5.8.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_0.apk
wget2 -O 5.8.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_1.apk
wget2 -O 5.8.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_2.apk
wget2 -O 5.8.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_3.apk
wget2 -O 5.8.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_4.apk
wget2 -O 5.8.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_5.apk
wget2 -O 5.8.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_6.apk
wget2 -O 5.8.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_7.apk
wget2 -O 5.8.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_8.apk
wget2 -O 5.8.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_8_9.apk
wget2 -O 5.9.0.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_0.apk
wget2 -O 5.9.1.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_1.apk
wget2 -O 5.9.2.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_2.apk
wget2 -O 5.9.3.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_3.apk
wget2 -O 5.9.4.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_4.apk
wget2 -O 5.9.5.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_5.apk
wget2 -O 5.9.6.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_6.apk
wget2 -O 5.9.7.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_7.apk
wget2 -O 5.9.8.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_8.apk
wget2 -O 5.9.9.apk http://static.tieba.baidu.com/client/android/tbclient_5_9_9.apk
BANKA2017 commented 1 year ago

您还在四叶qq分部之贴吧研究所群吗?请您把我在17还是18年收集的提供历史版本客户端下载的网站群公告复制粘贴一下

n0099 commented 1 year ago

http://static.tieba.baidu.com/client/android/tbclient_*.apk中没有任何0.x.x版本

1.0.0
1.0.1
1.0.2
1.0.3
1.0.4
1.1.0
2.0.0
2.0.1
2.0.2
2.0.3
2.1.0
2.5.0
2.5.1
3.0.1
3.0.2
3.1.0
3.2.0
3.2.2
3.3.0
3.3.1
3.4.0
4.0.0
4.1.0
4.1.1
4.1.2
4.2.0
4.2.2
4.3.0
4.3.1
4.4.1
4.4.2
4.5.3
5.0.8
5.1.2
5.1.3
5.2.2
5.6.2
n0099 commented 1 year ago

您还在四叶qq分部之贴吧研究所群吗?请您把我在17还是18年收集的提供历史版本客户端下载的网站群公告复制粘贴一下

https://tieba.baidu.com/p/5008810954 image https://pan.baidu.com/share/link?shareid=4215848229&uk=4080398260 image https://pan.baidu.com/share/link?shareid=2178084026&uk=4080398260 image https://pan.baidu.com/share/link?shareid=2555595519&uk=4080398260 image

您能帮我拖下来吗,我没百度盘会员

BANKA2017 commented 1 year ago

您能帮我拖下来吗,我没百度盘会员

我也没有会员,甚至没有稳定的网络能用

n0099 commented 1 year ago

https://soft.shouji.com.cn/down/22020.html

$('li.sne span.adown a').text().replaceAll('百度贴吧 v', '\n');
12.7.6.0
7.1.4
12.7.1.1
12.6.6.0
12.6.3.0
12.6.1.0
12.5.6.0
12.5.1.0
12.4.8.24
12.4.8.15
12.4.8.2
12.4.8.0
12.3.8.11
12.3.8.6
12.3.8.3
12.3.8.0
12.2.8.11
12.2.8.9
12.2.8.1
12.2.8.0
12.1.8.4
12.1.8.1
12.0.8.1
11.10.8.6
11.9.8.0
11.8.8.7
11.8.8.0
11.7.8.1
11.6.8.2
11.6.8.0
11.5.8.3
11.5.8.0
11.4.8.7
11.4.8.0
11.3.8.2
11.3.8.1
11.2.8.4
11.2.8.1
11.2.8.0
11.1.8.2
11.1.8.1
11.1.8.0
11.0.0.0
10.3.8.41
10.3.8.34
10.3.8.33
10.3.8.30
10.3.8.19
10.3.8.12
10.3.8.10
10.3.8.8
10.3.8.1
10.3.8.0
10.2.8.8
10.2.8.0
10.0.8.2
9.0.8.0
8.9.8.0
8.8.8.15
8.8.8.13
8.8.8.6
8.8.8.1
8.7.8.9
8.7.8.2
8.6.8.0
8.5.1.6
8.4.8.2
8.4.8.0
8.3.8.0
8.2.2
8.1.0.4
8.0.0.3
7.9.2
7.8.1
7.7.2
7.6.2
7.4.5
7.4.3
7.3.4
7.2.2
7.1.7
7.1.4
7.0.4
7.0.3
6.9.9
6.9.7
6.9.5
6.9.2
6.8.7
6.8.4
6.8.3
6.7.2
6.7.1
6.6.6
6.6.2
6.5.8
6.5.3
6.5.2
6.4.9
6.4.9
6.4.3
6.3.3
6.3.2
6.2.2
6.2.1
6.1.3
6.1.2
6.0.1
6.0.0
5.6.3
5.6.2
5.6.1
5.5.2
5.5.1
5.4.2
5.3.1
5.2.2
5.2.1
5.1.5
5.1.3
5.1.2
5.1.1
5.0.8
6.2.0
4.5.3
4.4.2
4.4.1
4.3.1
4.3.0
4.2.2
4.2.0
4.1.2
4.1.1
4.1.0
4.0.0
3.4.0
3.3.1
3.3.0
3.2.0
3.1.0
3.0.2
3.0.1
2.5.1
2.5.0
2.1.0
2.0.3
2.0.2
2.0.1
2.0.0
1.1.0
1.0.4
1.0.3
1.0.1
1.0.0

置于shouji.com.cn

comm -23 <(sort shouji.com.cn) <(ls -1 | sed 's/.apk//' | sort)
5.1.1
5.1.5
5.2.1
5.3.1
5.4.2
5.5.1
5.5.2
5.6.1
5.6.3
6.0.0
6.0.1
6.1.2
6.1.3
6.2.0
6.2.1
6.2.2
6.3.2
6.4.9
6.8.4
7.1.4
8.7.8.9
$('li.sne span.adown a')
    .filter((i, e) => versions.indexOf(e.innerText.replace('百度贴吧 v', '')) !== -1)
    .toArray()
    .map(e => `wget2 -O ${e.innerText.replace('百度贴吧 v', '')}.apk ${$(e).prop('href')}`)
    .join('\n');
wget2 -O 7.1.4.apk https://down1.shouji.com.cn/cdn/shouji/xmm/tiebajjb_V7.1.4.apk
wget2 -O 8.7.8.9.apk https://down1.shouji.com.cn/cdn/soft/2017/20170825/sp3227776601.apk
wget2 -O 7.1.4.apk https://down1.shouji.com.cn/cdn/soft/2015/20160108/6140607557.apk
wget2 -O 6.8.4.apk https://down1.shouji.com.cn/cdn/soft/2015/20150907/9209004884.apk
wget2 -O 6.4.9.apk https://down1.shouji.com.cn/cdn/soft/20141226/6916696861.apk
wget2 -O 6.4.9.apk https://down1.shouji.com.cn/cdn/soft/20141104/4509412486.apk
wget2 -O 6.3.2.apk https://down1.shouji.com.cn/cdn/soft/20140822/1044811553.apk
wget2 -O 6.2.2.apk https://down1.shouji.com.cn/cdn/soft/20140816/9117414874.apk
wget2 -O 6.2.1.apk https://down1.shouji.com.cn/cdn/soft/20140710/1888643190.apk
wget2 -O 6.1.3.apk https://down1.shouji.com.cn/cdn/soft/20140622/1682275039.apk
wget2 -O 6.1.2.apk https://down1.shouji.com.cn/cdn/soft/20140530/4779612900.apk
wget2 -O 6.0.1.apk https://down1.shouji.com.cn/cdn/soft/20140417/0763019965.apk
wget2 -O 6.0.0.apk https://down1.shouji.com.cn/cdn/soft/20140409/6299268564.apk
wget2 -O 5.6.3.apk https://down1.shouji.com.cn/cdn/soft/20140402/2800704719.apk
wget2 -O 5.6.1.apk https://down1.shouji.com.cn/cdn/soft/20140301/5479176818.apk
wget2 -O 5.5.2.apk https://down1.shouji.com.cn/cdn/soft/20140124/2364379944.apk
wget2 -O 5.5.1.apk https://down1.shouji.com.cn/cdn/soft/20140123/6550052996.apk
wget2 -O 5.4.2.apk https://down1.shouji.com.cn/cdn/soft/20140107/7938164492.apk
wget2 -O 5.3.1.apk https://down1.shouji.com.cn/cdn/soft/20131225/0031099664.apk
wget2 -O 5.2.1.apk https://down1.shouji.com.cn/cdn/soft/20131209/5229715762.apk
wget2 -O 5.1.5.apk https://down1.shouji.com.cn/cdn/soft/20131202/3198415526.apk
wget2 -O 5.1.1.apk https://down1.shouji.com.cn/cdn/soft/20131118/6540840889.apk
wget2 -O 6.2.0.apk https://down1.shouji.com.cn/cdn/soft/20130727/7822969878.apk

人生自古谁无死,不幸地:

HTTP ERROR response 404 Not Found [https://down1.shouji.com.cn/cdn/shouji/xmm/tiebajjb_V7.1.4.apk]
HTTP ERROR response 404 Not Found [https://down1.shouji.com.cn/cdn/soft/2015/20160108/6140607557.apk]
HTTP ERROR response 404 Not Found [https://down1.shouji.com.cn/cdn/soft/2015/20150907/9209004884.apk]

而且6.4.9是跟豌豆荚源重复的:

$ comm -12 <(ls -1 shouji.com.cn | sort) <(ls -1 wandoujia | sort)
6.4.9.apk
$ md5sum {shouji.com.cn,wandoujia}/6.4.9.apk
9ac794c33caa6f507db9b58a13fee33d  shouji.com.cn/6.4.9.apk
9ac794c33caa6f507db9b58a13fee33d  wandoujia/6.4.9.apk
n0099 commented 1 year ago

static.tieba.baidu.com

$ curl -I http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk
HTTP/1.1 200 OK
Accept-Ranges: bytes
Connection: keep-alive
Content-Length: 2716368
Content-Type: application/vnd.android.package-archive
Date: Sat, 28 Jan 2023 20:14:12 GMT
Etag: "516e053a-2972d0"
Last-Modified: Wed, 17 Apr 2013 02:13:14 GMT
Server: Apache

shouji.com.cn

$ curl -I https://down1.shouji.com.cn/cdn/soft/20141226/6916696861.apk
HTTP/1.1 200 OK
Server: Tengine
Content-Type: application/vnd.android.package-archive
Content-Length: 20651581
Connection: keep-alive
Last-Modified: Mon, 28 Mar 2016 21:03:36 GMT
Accept-Ranges: bytes
ETag: "044c4b3589d11:0"
Date: Sat, 28 Jan 2023 20:07:24 GMT
Ali-Swift-Global-Savetime: 1674936454
Via: cache27.l2cn2647[12,21,200-0,H], cache57.l2cn2647[23,0], vcache4.cn4757[0,0,200-0,H], vcache4.cn4757[1,0]
Age: 461
X-Cache: HIT TCP_MEM_HIT dirn:9:399015042
X-Swift-SaveTime: Sat, 28 Jan 2023 20:07:34 GMT
X-Swift-CacheTime: 3600
Timing-Allow-Origin: *
EagleId: 65e21c9816749369154361675e

都有着http response header之Last-Modified

5.x 没救,2014年一整年都没有任何记录

  1. 5.x应该是13年的,您问问云南贵族id吃miss吧候选吧主556神

所以5.x的确是13年的 image

n0099 commented 1 year ago

https://tieba.baidu.com/p/5008810954 https://pan.baidu.com/share/link?shareid=4215848229&uk=4080398260 https://pan.baidu.com/share/link?shareid=2178084026&uk=4080398260 https://pan.baidu.com/share/link?shareid=2555595519&uk=4080398260

$('a.filename').text().replaceAll(/(贴吧客户端|\.apk)/g, '\n').replaceAll('\n\n', '\n').trim('\n');
n0099 commented 1 year ago

您能帮我拖下来吗,我没百度盘会员

我也没有会员,甚至没有稳定的网络能用

其实就仨个

$ comm -23 <(sort shareId2178084026/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
5.6.0
$ comm -23 <(sort shareId2555595519/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
6.1.0
6.1.1

image https://pan.baidu.com/s/1-ENjudLPVp_OCbNpjVb4oA?pwd=siye 有无百度云pcs直链解析

n0099 commented 1 year ago

基于 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407303213

versions.map(i => `${i.version} ${i.createdAt.replace(/年|月/g, '-').replace('日', '').replace(' ', 'T')}`).join('\n');

置于mtime

针对 https://github.com/n0099/tbclient.protobuf/issues/3#issuecomment-1415041368jadx 结果进行事实核查:

贴吧客户端架构师早在14年的远古版本6.1.2中就开始使用square/wire将java类转换为.proto

join <(sort ../mtime) <(comm -12 <(awk '{print $1}' ../mtime | sort) <(ls -1 | xargs -I {} bash -c '7z l {} | grep -m 1 tbclient' | awk -F' +|/' '{print $6}' | sort)) | sort -V
6.3.3 2014-09-11T09:55
6.4.3 2014-10-28T10:13
6.4.9 2014-11-03T16:01
6.5.2 2014-12-12T16:10
6.5.3 2015-02-02T16:01
6.5.8 2015-02-08T07:00
6.6.2 2015-03-20T19:48
6.6.6 2015-04-09T20:24
6.7.1 2015-05-29T17:38
6.7.2 2015-06-09T15:02
6.8.3 2015-08-17T19:39
6.8.7 2015-09-08T15:24
6.9.2 2015-09-29T16:17
6.9.5 2015-10-17T11:04
6.9.7 2015-10-30T18:11
6.9.9 2015-12-07T12:49
7.0.3 2015-12-03T23:58
7.0.4 2015-12-04T15:44
7.1.4 2015-12-30T16:56
7.1.7 2016-01-20T19:11
7.2.2 2016-01-29T15:19
7.3.4 2016-03-31T18:32
7.4.3 2016-05-11T17:49
7.4.5 2016-05-16T17:22
7.6.2 2016-06-30T19:23
7.7.2 2016-07-28T18:51
7.8.1 2016-09-01T14:24
7.9.2 2016-12-02T12:48
8.0.0.3 2016-11-30T19:32
8.1.0.4 2016-12-29T19:01
8.2.2 2017-01-20T18:08
8.3.8.0 2017-03-07T19:05
8.4.8.0 2017-04-14T18:43
8.4.8.2 2017-04-21T19:05
8.5.1.6 2017-05-19T18:49
8.5.8.0 2017-06-01T21:30
8.6.8.0 2017-07-24T14:34
8.7.8.0 2017-08-01T09:44
8.7.8.1 2017-08-03T10:11
8.7.8.2 2017-08-04T10:12
8.7.8.6 2017-08-15T18:57
8.8.8.0 2017-08-31T19:01
8.8.8.1 2017-09-18T18:43
8.8.8.6 2017-09-19T16:23
8.8.8.9 2017-09-29T14:26
8.8.8.13 2017-10-16T18:17
8.8.8.15 2017-10-24T16:10
8.9.8.0 2017-11-01T14:53
8.9.8.5 2017-11-16T10:40
9.0.8.0 2017-12-01T10:37
9.1.8.0 2017-12-15T19:15
9.1.8.3 2017-12-21T10:14
9.2.0.1 2017-12-22T15:35
9.2.8.0 2017-12-29T18:28
9.2.8.5 2018-01-19T15:49
9.2.8.7 2018-02-01T16:13
9.2.8.8 2018-02-05T11:13
9.3.8.0 2018-02-07T14:05
9.3.8.2 2018-03-01T11:09
9.3.8.5 2019-09-10T13:06
9.4.8.0 2018-04-13T13:21
9.4.8.3 2018-04-19T17:13
9.4.8.4 2018-04-20T16:10
9.4.8.6 2018-05-04T11:48
9.4.8.11 2018-05-18T17:49
9.5.8.0 2018-06-08T15:28
9.6.8.0 2018-06-29T10:35
9.6.8.1 2018-07-03T17:20
9.6.8.2 2018-07-13T18:14
9.7.8.0 2019-09-11T12:55
9.7.8.3 2018-09-03T17:46
9.8.8.0 2018-09-27T10:25
9.8.8.3 2018-10-17T11:12
9.8.8.5 2018-10-23T11:10
9.8.8.7 2018-10-26T11:00
9.8.8.13 2019-09-02T12:47
9.9.8.0 2018-12-06T14:49
9.9.8.10 2018-12-18T16:58
9.9.8.12 2018-12-28T12:06
9.9.8.20 2019-01-03T11:07
9.9.8.31 2019-01-17T11:02
9.9.8.32 2019-01-22T11:17
9.9.8.40 2019-01-28T10:49
9.9.8.41 2019-02-18T11:34
9.9.8.42 2019-02-22T10:47
10.0.8.0 2019-03-08T12:10
10.0.8.2 2019-03-11T11:05
10.0.8.4 2019-03-15T10:25
10.1.8.0 2019-04-08T10:21
10.1.8.1 2019-04-09T15:05
10.2.8.0 2019-05-17T10:32
10.2.8.2 2019-05-29T09:45
10.2.8.5 2019-06-03T15:07
10.2.8.8 2019-06-21T11:52
10.3.8.0 2019-07-23T15:02
10.3.8.1 2019-09-25T12:49
10.3.8.7 2019-08-07T14:22
10.3.8.8 2019-08-13T11:18
10.3.8.10 2019-08-23T15:23
10.3.8.12 2019-09-20T18:25
10.3.8.19 2019-10-30T10:05
10.3.8.30 2019-11-22T14:35
10.3.8.33 2019-11-29T10:55
10.3.8.34 2019-12-02T12:04
10.3.8.41 2019-12-09T16:16
11.0.0.0 2019-12-25T14:48
11.1.8.0 2020-01-13T12:10
11.1.8.1 2020-01-15T13:01
11.1.8.2 2020-02-10T09:25
11.2.8.0 2020-02-28T17:45
11.2.8.1 2020-03-03T12:01
11.2.8.4 2020-03-13T15:45
11.3.8.0 2020-03-18T12:05
11.3.8.1 2020-03-19T16:35
11.3.8.2 2020-03-25T12:25
11.4.8.0 2020-04-17T16:55
11.4.8.6 2020-05-08T14:49
11.4.8.7 2020-05-12T11:23
11.5.8.0 2020-05-22T11:42
11.5.8.3 2020-06-04T18:49
11.6.8.0 2020-07-03T11:46
11.6.8.1 2020-07-07T12:10
11.6.8.2 2020-07-13T16:45
11.7.8.0 2020-07-31T15:10
11.7.8.1 2020-08-04T14:00
11.8.8.0 2020-08-25T14:45
11.8.8.7 2020-09-04T17:48
11.9.8.0 2020-09-21T15:34
11.10.8.0 2020-10-19T15:56
11.10.8.6 2020-10-27T15:20
12.0.2.2 2020-11-12T11:50
12.0.8.0 2020-11-18T14:21
12.0.8.1 2020-11-19T17:36
12.1.8.0 2020-12-07T13:22
12.1.8.1 2020-12-08T15:16
12.1.8.4 2020-12-15T12:01
12.2.8.0 2021-01-05T12:45
12.2.8.1 2021-01-07T12:21
12.2.8.9 2021-01-13T11:30
12.2.8.11 2021-01-19T11:31
12.3.8.0 2021-02-01T16:06
12.3.8.3 2021-02-04T18:10
12.3.8.6 2021-02-22T11:15
12.3.8.10 2021-03-08T12:05
12.3.8.11 2021-03-09T11:21
12.4.8.0 2021-03-25T12:21
12.4.8.2 2021-03-30T15:30
12.4.8.14 2021-04-20T14:50
12.4.8.15 2021-04-22T12:04
12.4.8.24 2021-04-27T11:40
12.5.1.0 2021-05-18T16:35
12.5.6.0 2021-05-25T16:05
12.6.1.0 2021-06-11T12:00
12.6.3.0 2021-06-22T12:00
12.6.6.0 2021-07-05T15:26
12.7.1.0 2021-07-08T15:20
12.7.1.1 2021-07-09T12:00
12.7.6.0 2021-07-26T12:25
12.8.1.0 2021-08-11T14:25
12.8.1.1 2021-08-11T17:50
12.9.1.0 2021-08-26T15:11
12.9.2.0 2021-08-31T11:55
12.9.3.0 2021-09-01T11:50
12.10.1.0 2021-09-10T12:05
12.11.1.0 2021-09-24T12:05
12.12.1.0 2021-10-20T14:20
12.13.1.0 2021-11-03T12:41
12.13.2.0 2021-11-10T11:50
12.14.1.0 2021-11-22T16:25
12.15.1.0 2021-12-01T12:42
12.16.1.0 2021-12-16T18:19
12.17.1.0 2021-12-29T16:44
12.18.1.0 2022-01-14T16:35
12.19.1.0 2022-01-27T16:11
12.20.1.0 2022-02-23T18:30
12.21.1.0 2022-03-08T15:40
12.22.1.0 2022-03-23T15:20
12.23.1.0 2022-04-07T16:00
12.23.5.0 2022-04-19T16:10
12.23.7.0 2022-05-05T15:55
12.24.1.0 2022-05-13T18:45
12.25.1.0 2022-05-31T15:35
12.25.5.0 2022-06-20T15:20
12.26.1.0 2022-07-15T16:59
12.26.3.0 2022-07-22T15:10
12.26.5.0 2022-07-26T12:30
12.27.1.0 2022-08-10T12:00
12.27.1.1 2022-08-12T11:13
12.27.5.0 2022-08-18T14:05
12.28.1.0 2022-08-31T15:35
12.28.1.1 2022-09-01T14:10
12.29.1.1 2022-09-15T17:41
12.29.5.0 2022-09-27T15:10
12.29.7.0 2022-10-10T15:21
12.30.1.0 2022-10-26T14:05
12.31.5.0 2022-11-03T11:11
12.32.1.0 2022-11-17T11:42
12.32.3.0 2022-11-18T11:06
12.32.5.1 2022-11-24T20:25
12.32.5.2 2022-12-02T17:04
12.34.1.0 2022-12-16T17:16
12.34.3.0 2022-12-27T17:25

shouji.com.cn源的文件时间:

echo -n 6.1.2 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/20140530/4779612900.apk | grep Last-Modified | sed 's/Last-Modified: //'
echo -n 6.1.3 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/20140622/1682275039.apk | grep Last-Modified | sed 's/Last-Modified: //'
echo -n 6.2.1 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/20140710/1888643190.apk | grep Last-Modified | sed 's/Last-Modified: //'
echo -n 6.2.2 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/20140816/9117414874.apk | grep Last-Modified | sed 's/Last-Modified: //'
echo -n 6.3.2 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/20140822/1044811553.apk | grep Last-Modified | sed 's/Last-Modified: //'
echo -n 8.7.8.9 ' '; curl -sI https://down1.shouji.com.cn/cdn/soft/2017/20170825/sp3227776601.apk | grep Last-Modified | sed 's/Last-Modified: //'
6.1.2  Mon, 28 Mar 2016 18:30:38 GMT
6.1.3  Mon, 28 Mar 2016 21:07:12 GMT
6.2.1  Mon, 28 Mar 2016 19:11:44 GMT
6.2.2  Mon, 28 Mar 2016 18:39:48 GMT
6.3.2  Mon, 28 Mar 2016 19:47:38 GMT
8.7.8.9  Fri, 25 Aug 2017 02:59:54 GMT

路径中包含tbclient的文件数量

ls -1 | xargs -I {} bash -c 'filename={}; echo ${filename/.7z/} $(7z l {} | grep tbclient | wc -l)'
6.0.1   0
6.1.2   89
6.1.3   89
6.2.0   0
6.2.1   144
6.2.2   222
6.3.2   222
6.3.3   222
6.4.3   321
6.4.9   325
6.5.2   373
6.5.3   374
6.5.8   374
6.6.2   426
6.6.6   431
6.7.1   459
6.7.2   459
6.8.3   382
6.8.7   393
6.9.2   479
6.9.5   502
6.9.7   502
6.9.9   503
7.0.3   684
7.0.4   684
7.1.4   607
7.1.7   607
7.2.2   605
7.3.4   582
7.4.3   583
7.4.5   583
7.6.2   602
7.7.2   596
7.8.1   615
7.9.2   625
8.0.0.3 619
8.1.0.4 628
8.2.2   633
8.3.8.0 636
8.4.8.0 637
8.4.8.2 637
8.5.1.6 653
8.5.8.0 675
8.6.8.0 690
8.7.8.0 711
8.7.8.1 711
8.7.8.2 711
8.7.8.6 711
8.7.8.9 711
8.8.8.0 721
8.8.8.1 721
8.8.8.6 721
8.8.8.9 732
8.8.8.13    732
8.8.8.15    732
8.9.8.0 709
8.9.8.5 709
9.0.8.0 702
9.1.8.0 704
9.1.8.3 704
9.2.0.1 704
9.2.8.0 707
9.2.8.5 709
9.2.8.7 709
9.2.8.8 709
9.3.8.0 919
9.3.8.2 919
9.3.8.5 923
9.4.8.0 938
9.4.8.3 938
9.4.8.4 938
9.4.8.6 938
9.4.8.11    938
9.5.8.0 965
9.6.8.0 982
9.6.8.1 982
9.6.8.2 982
9.7.8.0 1006
9.7.8.3 1006
9.8.8.0 1025
9.8.8.3 1030
9.8.8.5 1030
9.8.8.7 1030
9.8.8.13    1030
9.9.8.0 1037
9.9.8.10    1037
9.9.8.12    1038
9.9.8.20    1038
9.9.8.31    1038
9.9.8.32    1038
9.9.8.40    1038
9.9.8.41    1038
9.9.8.42    1038
10.0.8.0    848
10.0.8.2    848
10.0.8.4    1055
10.1.8.0    1055
10.1.8.1    1055
10.2.8.0    1098
10.2.8.2    1098
10.2.8.5    1098
10.2.8.8    1098
10.3.8.0    1107
10.3.8.1    1107
10.3.8.7    1110
10.3.8.8    1110
10.3.8.10   1110
10.3.8.12   1110
10.3.8.19   1146
10.3.8.30   1146
10.3.8.33   1146
10.3.8.34   1146
10.3.8.41   1146
11.0.0.0    1156
11.1.8.0    1156
11.1.8.1    1156
11.1.8.2    1156
11.2.8.0    1157
11.2.8.1    1157
11.2.8.4    1157
11.3.8.0    1158
11.3.8.1    1158
11.3.8.2    1158
11.4.8.0    1180
11.4.8.6    1180
11.4.8.7    1180
11.5.8.0    1187
11.5.8.3    1188
11.6.8.0    1258
11.6.8.1    1258
11.6.8.2    1258
11.7.8.0    1265
11.7.8.1    1265
11.8.8.0    1276
11.8.8.7    1276
11.9.8.0    1286
11.10.8.0   1289
11.10.8.6   1289
12.0.2.2    1289
12.0.8.0    1289
12.0.8.1    1289
12.1.8.0    1299
12.1.8.1    1299
12.1.8.4    1299
12.2.8.0    1302
12.2.8.1    1562
12.2.8.9    1562
12.2.8.11   1562
12.3.8.0    1576
12.3.8.3    1576
12.3.8.6    1576
12.3.8.10   1576
12.3.8.11   1576
12.4.8.0    1594
12.4.8.2    1594
12.4.8.14   1600
12.4.8.15   1600
12.4.8.24   1604
12.5.1.0    1610
12.5.6.0    1610
12.6.1.0    1616
12.6.3.0    1616
12.6.6.0    1644
12.7.1.0    1644
12.7.1.1    1644
12.7.6.0    1652
12.8.1.0    1665
12.8.1.1    1665
12.9.1.0    1667
12.9.2.0    1667
12.9.3.0    1667
12.10.1.0   1674
12.11.1.0   1670
12.12.1.0   1675
12.13.1.0   1677
12.13.2.0   1677
12.14.1.0   1683
12.15.1.0   1645
12.16.1.0   1646
12.17.1.0   1648
12.18.1.0   1649
12.19.1.0   1644
12.20.1.0   1646
12.21.1.0   1647
12.22.1.0   1665
12.23.1.0   1659
12.23.5.0   1659
12.23.7.0   1661
12.24.1.0   1648
12.25.1.0   1631
12.25.5.0   1633
12.26.1.0   1660
12.26.3.0   1664
12.26.5.0   1666
12.27.1.0   1679
12.27.1.1   1679
12.27.5.0   1679
12.28.1.0   1680
12.28.1.1   1680
12.29.1.1   1676
12.29.5.0   1676
12.29.7.0   1677
12.30.1.0   1803
12.31.5.0   1686
12.32.1.0   1686
12.32.3.0   1686
12.32.5.1   1811
12.32.5.2   1811
12.34.1.0   1697
12.34.3.0   1825
n0099 commented 1 year ago

解压所有src/tbclient/**/*

mkdir ../tbclient
cd ../tbclient
ls -1 jadx | xargs -I {} bash -c '7z x jadx/{} -otbclient $(echo {} | sed s/\.7z//)/src/tbclient'

移出$ver/src/tbclient$ver/java

ls -1 | xargs -I {} bash -c 'mkdir {}/java && mv {}/src/tbclient/* {}/java && rm -rv {}/src'

使用本repo中的squareWireProtoBufJavaGeneratedClassesDecompiler.php.java类转换回.proto文件

ls -1 | xargs -I {} php /home/www/tbm/tbclient/squareWireProtoBufJavaGeneratedClassesDecompiler.php --in={}/java --out={}/proto | grep -v working

java/GetRecommendTopic/DataRes.java中的import GetSugTopic.TopicListModule;疑似贴吧程序员自己偷懒直接在square/wire类里引用非tbclient命名空间下的类,所以无法生成TopicListModule.proto

scaning classes under ./12.12.1.0/java...
  failed to reslove following type names:
    import "TopicListModule.proto";
scaning classes under ./12.13.1.0/java...
  failed to reslove following type names:
    import "TopicListModule.proto";
scaning classes under ./12.13.2.0/java...
  failed to reslove following type names:
    import "TopicListModule.proto";
scaning classes under ./12.14.1.0/java...
  failed to reslove following type names:
    import "TopicListModule.proto";

制作git

#!/bin/bash
set -x

rm -r tbclient.protobuf/*
cp -r tbclient/"$1"/* tbclient.protobuf
createdAt=$(join <(sort mtime) <(echo "$1") | cut -d ' ' -f2)
cd tbclient.protobuf || exit
# https://stackoverflow.com/questions/3895453/how-do-i-make-a-git-commit-in-the-past/56759237#56759237
export GIT_AUTHOR_DATE=$(date -Iseconds -d "$createdAt")
export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
export GIT_AUTHOR_NAME='Baidu Tieba Developers'
export GIT_AUTHOR_EMAIL='tieba@baidu.com'
git add java
git commit -q -m "$1 @ java"
git add proto
git commit -q -m "$1 @ proto"
git tag -f "$1"

置于../git.sh下然后

cd ..
git init tbclient.protobuf
git -C tbclient.protobuf switch --orphan tbclient # https://stackoverflow.com/questions/34100048/create-empty-branch-on-github/34100189#34100189
time ls -1 tbclient | sort -V | xargs -I {} ./git.sh {}

git log中会发现有多个版本tag在同一个commit上,这说明贴吧在这几个版本中都没有修改过tbclient命名空间 image

git push --set-upstream origin tbclient
git push --tags

这样我们就可以git blame image 甚至git bisect --run配合grep找出某个同名的字段何时/在哪些.proto文件中出现过

n0099 commented 1 year ago

结合 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407472050 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407476112 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407477683 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415365792 我们可以补全豌豆荚源之外的来自static.tieba.baidu.comshouji.com.cn源的文件时间

#!/bin/bash
echo -n 1.0.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 1.0.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_0_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 1.0.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_0_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 1.0.3 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_0_3.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 1.0.4 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_0_4.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 1.1.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_1_1_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.0.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_0_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.0.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_0_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.0.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_0_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.0.3 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_0_3.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.1.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_1_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.5.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_5_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 2.5.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_2_5_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.0.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_0_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.0.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_0_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.1.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_1_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.2.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_2_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.2.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_2_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.3.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_3_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.3.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_3_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 3.4.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_3_4_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.0.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_0_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.1.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_1_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.1.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_1_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.1.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_1_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.2.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_2_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.2.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_2_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.3.0 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_3_0.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.3.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_3_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.4.1 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_4_1.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.4.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_4_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 4.5.3 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_4_5_3.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.0.8 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_5_0_8.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.1.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_5_1_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.1.3 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_5_1_3.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.2.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_5_2_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.6.2 ' '; date -Iseconds -d "$(curl -sI http://static.tieba.baidu.com/client/android/tbclient_5_6_2.apk | grep Last-Modified | sed 's/Last-Modified: //')"

echo -n 7.1.4 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/shouji/xmm/tiebajjb_V7.1.4.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 8.7.8.9 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/2017/20170825/sp3227776601.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 7.1.4 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/2015/20160108/6140607557.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.8.4 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/2015/20150907/9209004884.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.4.9 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20141226/6916696861.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.4.9 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20141104/4509412486.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.3.2 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140822/1044811553.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.2.2 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140816/9117414874.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.2.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140710/1888643190.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.1.3 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140622/1682275039.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.1.2 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140530/4779612900.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.0.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140417/0763019965.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.0.0 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140409/6299268564.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.6.3 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140402/2800704719.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.6.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140301/5479176818.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.5.2 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140124/2364379944.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.5.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140123/6550052996.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.4.2 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20140107/7938164492.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.3.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20131225/0031099664.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.2.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20131209/5229715762.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.1.5 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20131202/3198415526.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 5.1.1 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20131118/6540840889.apk | grep Last-Modified | sed 's/Last-Modified: //')"
echo -n 6.2.0 ' '; date -Iseconds -d "$(curl -sI https://down1.shouji.com.cn/cdn/soft/20130727/7822969878.apk | grep Last-Modified | sed 's/Last-Modified: //')"

注意来自shouji.com.cn源的2个7.1.4和2个6.4.9是重复的 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407476112 image

1.0.0  2013-04-17T10:13:14+08:00
1.0.1  2013-04-17T10:13:14+08:00
1.0.2  2013-04-17T10:13:14+08:00
1.0.3  2013-04-17T10:13:14+08:00
1.0.4  2013-04-17T10:13:14+08:00
1.1.0  2013-04-17T10:13:14+08:00
2.0.0  2013-04-17T10:13:14+08:00
2.0.1  2013-04-17T10:13:14+08:00
2.0.2  2013-04-17T10:13:14+08:00
2.0.3  2013-04-17T10:13:14+08:00
2.1.0  2013-04-17T10:13:14+08:00
2.5.0  2013-04-17T10:13:14+08:00
2.5.1  2013-04-17T10:13:14+08:00
3.0.1  2013-04-17T10:13:14+08:00
3.0.2  2013-04-17T10:13:14+08:00
3.1.0  2013-04-17T10:13:14+08:00
3.2.0  2013-04-17T10:13:14+08:00
3.2.2  2013-04-17T10:13:15+08:00
3.3.0  2013-04-17T10:13:15+08:00
3.3.1  2013-04-17T10:13:15+08:00
3.4.0  2013-04-17T10:13:15+08:00
4.0.0  2013-05-20T11:10:02+08:00
4.1.0  2013-06-08T21:56:13+08:00
4.1.1  2013-06-08T22:19:53+08:00
4.1.2  2013-06-19T21:57:25+08:00
4.2.0  2013-07-01T18:30:50+08:00
4.2.2  2013-07-02T17:52:01+08:00
4.3.0  2013-08-06T12:10:32+08:00
4.3.1  2013-08-08T21:50:07+08:00
4.4.1  2013-08-23T17:09:25+08:00
4.4.2  2013-08-29T18:24:19+08:00
4.5.3  2013-09-25T12:21:10+08:00
5.0.8  2013-11-06T10:48:10+08:00
5.1.2  2013-11-21T15:42:47+08:00
5.1.3  2013-11-22T17:15:50+08:00
5.2.2  2013-12-10T18:55:20+08:00
5.6.2  2014-03-05T14:13:43+08:00
7.1.4  2023-02-03T00:00:00+08:00
8.7.8.9  2017-08-25T10:59:54+08:00
7.1.4  2023-02-03T00:00:00+08:00
6.8.4  2023-02-03T00:00:00+08:00
6.4.9  2016-03-29T05:03:36+08:00
6.4.9  2016-03-29T01:43:18+08:00
6.3.2  2016-03-29T03:47:38+08:00
6.2.2  2016-03-29T02:39:48+08:00
6.2.1  2016-03-29T03:11:44+08:00
6.1.3  2016-03-29T05:07:12+08:00
6.1.2  2016-03-29T02:30:38+08:00
6.0.1  2016-03-29T01:47:02+08:00
6.0.0  2016-03-29T01:43:42+08:00
5.6.3  2016-03-29T03:43:26+08:00
5.6.1  2016-03-29T04:54:58+08:00
5.5.2  2016-03-29T05:00:34+08:00
5.5.1  2016-03-29T02:28:42+08:00
5.4.2  2016-03-29T02:46:40+08:00
5.3.1  2016-03-29T01:36:48+08:00
5.2.1  2016-03-29T01:53:18+08:00
5.1.5  2016-03-29T01:37:20+08:00
5.1.1  2016-03-29T03:31:54+08:00
6.2.0  2016-03-29T01:57:08+08:00

然后稍微改改 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415798400

#!/bin/bash
set -x

rm -r open-tbclient/*
7z x jadx/"$1".7z -oopen-tbclient "$1"/src
createdAt=$(join <(sort mtime) <(echo "$1") | cut -d ' ' -f2)
createdAt=${createdAt:-1970-01-01T00:00:00Z}
cd open-tbclient || exit
mv "$1"/src/* .
rm -r "$1"
# https://stackoverflow.com/questions/3895453/how-do-i-make-a-git-commit-in-the-past/56759237#56759237
export GIT_AUTHOR_DATE=$(date -Iseconds -d "$createdAt")
export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"
export GIT_AUTHOR_NAME='Baidu Tieba Developers'
export GIT_AUTHOR_EMAIL='tieba@baidu.com'
git add .
git commit -q -m "$1"
git tag -f "$1"
git prune

最后

git init open-tbclient
time ls -1 jadx | sed 's/.7z//' | sort -V | xargs -I {} ./git.sh {}
git gc

经典 https://stackoverflow.com/questions/67630383/git-gc-and-git-prune-warnings-when-git-fetch-origin-is-run

warning: The last gc run reported the following. Please correct the root cause
and remove .git/gc.log
Automatic cleanup will not be performed until the file is removed.

warning: There are too many unreachable loose objects; run 'git prune' to remove them.

结果 https://github.com/n0099/open-tbclient

n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407487468

您能帮我拖下来吗,我没百度盘会员

我也没有会员,甚至没有稳定的网络能用

其实就仨个

$ comm -23 <(sort shareId2178084026/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
5.6.0
$ comm -23 <(sort shareId2555595519/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
6.1.0
6.1.1

image pan.baidu.com/s/1-ENjudLPVp_OCbNpjVb4oA?pwd=siye 有无百度云pcs直链解析

image 太快辣

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415365792

早在14年的远古版本6.1.2

实际上是6.1.0

n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407487468

您能帮我拖下来吗,我没百度盘会员

我也没有会员,甚至没有稳定的网络能用

其实就仨个

$ comm -23 <(sort shareId2178084026/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
5.6.0
$ comm -23 <(sort shareId2555595519/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
6.1.0
6.1.1

然而apkinfo显示其版本号分别是

5.6.0.apk 5.5.2
6.1.0.apk 6.0.1
6.1.1.apk 6.0.1

image image image

然而将其与shouji.com.cn源的同版本号文件(apkinfo显示其文件名与apk版本对应)对比hash又是不同的(甚至文件大小都差很多)

文件: shouji.com.cn\5.5.2.apk
大小: 16, 385, 806 字节
修改时间:2016-03-29 05:00:34
MD5:    D57C695B567D19EDBC4D07D788330E2E
SHA1:   53A2855E6289F104CF1446BBD14EF11FA4E40305

文件: tid5008810954\5.6.0.apk
大小: 18, 631, 603 字节
修改时间:2023-02-04 02:34:16
MD5:    3E101E6163B965459FAEFA8571AE3C0D
SHA1:   1850DD4DAC23C6B2A4FCFD072E3DAEDD3373F3ED

文件: shouji.com.cn\6.0.1.apk
大小: 17, 804, 654 字节
修改时间:2016-03-29 01:47:02
MD5:    8F576621A726ACA459C41936B48D416B
SHA1:   856517DF50CBFC264032E6C059A081FA563AE563

文件: tid5008810954\6.1.0.apk
大小: 23, 542, 165 字节
修改时间:2023-02-04 02:35:45
MD5:    6E45AE2F2BE2FCB0E835C8CA4D9C881C
SHA1:   72DF869EC34BD803804611CD3681CB74E4E28963

文件: tid5008810954\6.1.1.apk
大小: 24, 558, 770 字节
修改时间:2023-02-04 02:36:03
MD5:    6C9FF626C2E4AD24AFC28EB9A1496F90
SHA1:   D4FF108FBA2F089DD4A06B3106484255F51A8C1E

我暂且理解为时任贴吧程序员编译发包前忘了dump version

n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407303213

一键下载并设置文件m/atime bash

versions.map(i => `wget2 -O ${i.version}.apk ${i.downloadUrl.replace(/\?.*$/, '')} && touch -c -t ${i.createdAt.replace(/年|月|日|:| /g, '')} ${i.version}.apk`).join('\n');

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407477683

static.tieba.baidu.com源 和shouji.com.cn源 都有着http response header之Last-Modified

5.x 没救,2014年一整年都没有任何记录

  1. 5.x应该是13年的,您问问云南贵族id吃miss吧候选吧主556神

所以5.x的确是13年的 image

so人 https://stackoverflow.com/questions/7607165/how-to-write-build-time-stamp-into-apk 进一步指出还可以通过检查resources/classes.dex文件的mtime来找出比这些apk源所声称的时间更准确的apk build timestamp: 然而jadx所导出的文件都不会保留apk中原始的a/mtime image 然而直接将apk/jar文件本质zip,所以完全可以直接通过zip metadata获得classes.dex文件的mtime image

然而zip metadata中存储的是MSDOS时间戳并且会round到最近的偶数秒 https://stackoverflow.com/questions/64048499/zipfile-lib-weird-behaviour-with-seconds-in-modified-time https://stackoverflow.com/questions/3725662/what-is-the-earliest-timestamp-value-that-is-supported-in-zip-file-format

Zip 条目时间戳仅记录到两个 2 秒精度。这反映了创建 PKZIP 时使用的 DOS 时间戳的准确性。Zip 中记录的数字将是截断的时间戳,而不是最接近的 2 秒。 当您存档和恢复文件时,它将不再具有与原始文件精确匹配的时间戳。这超出了使用 1 毫秒精度的 Java 和使用 100 纳秒增量的 Microsoft Windows 的类似问题。PKZIP 格式源自 MS DOS days,因此仅使用 16 位时间和 16 位日期。在修改后的 PKZIP 格式中定义了一个扩展时间戳,但 Java 没有使用它。 在 zip 文件中,日期和时间以 16 位本地时间存储,而不是传统的 UTC,使用古老的 MS DOS 格式。位 0 是最低位。格式是小端。16 位中没有空间可以精确到秒,因此秒字段包含秒除以二,仅给出偶数秒的精度。 这意味着每次夏令时更改时,zip 文件的表观时间与未压缩文件相比会突然相差一个小时。这也意味着 zip 实用程序将从 Zip 成员日期中提取不同的 UTC 时间,具体取决于完成计算的时区。这是荒唐的。PKZIP 格式需要现代的基于 UTC 的时间戳来避免这些异常。 更糟糕的是,WinZip 或 PKZIP 等标准工具在恢复时总是将时间向上舍入到下一个偶数秒,从而可能使文件年轻一秒到两秒。JDK(即 ZipEntry 中的 javaToDosTime)将时间向下舍入,从而使文件早一到两秒。 该格式不支持 1980-01-01 0:00 UTC 之前的日期。避免文件日期为 1980-01-01 或更早(本地或 UTC 时间)。 等待!情况变得更糟。菲尔·卡茨 (Phil Katz) 在记录 Zip 格式时,没有费心指定存档中使用的本地时间应该是夏令时还是标准时间。 最后,在系统时间和 DOS 日期/时间之间转换时间时,Info-ZIP、JSE 和 TrueZIP 对任何日期应用 DST 时间表(DST 在任何给定年份开始和结束的日期)。这是应该的。Vista 的 Explorer、7-Zip 和 WinZip 仅应用 DST 节省,但不应用时间表。因此,在系统时间和 DOS 日期/时间之间转换时间时,他们使用任何日期的当前 DST 节省。这只是马虎。

https://en.wikipedia.org/wiki/ZIP_(file_format)

The FAT filesystem of DOS has a timestamp resolution of only two seconds; ZIP file records mimic this. As a result, the built-in timestamp resolution of files in a ZIP archive is only two seconds, though extra fields can be used to store more precise timestamps. The ZIP format has no notion of time zone, so timestamps are only meaningful if it is known what time zone they were created in.

而只有zipinfo -T可以获得这个秒级的时间,zipinfounzip -l都只显示到分钟,并且没有任何时区信息(我暂且假定他们build apk时用的系统都是UTC+8https://manpages.ubuntu.com/manpages/focal/man1/zipinfo.1.html

 Adding the -T option changes the file date and time to decimal format:

-rw-rws--- 1.5 unx 2802 t- 538 defX 910811.134804 perms.2660

 Note  that  because  of  limitations  in  the  MS-DOS format used to store file times, the
 seconds field is always rounded to the nearest  even  second.   For  Unix  files  this  is
 expected to change in the next major releases of zip(1) and unzip.

 In addition to individual file information, a default zipfile listing also includes header
 and trailer lines:

有请M$FT荣誉MVP batch中级高手四叶信安底层壬上壬上海贵族 FSF EFF 精神会员杨博文阁下 @yangbowen 为我们科普如何在bash中将zipinfo -T给出的MSDOS时间戳变成其他格式如unix timestamp或ISO-8601 image

yangbowen commented 1 year ago

有请M$FT荣誉MVP batch中级高手四叶信安底层壬上壬上海贵族 FSF EFF 精神会员杨博文阁下 @yangbowen 为我们科普如何在bash中将zipinfo -T给出的MSDOS时间戳变成其他格式如unix timestamp或ISO-8601

不我当然不懂 bash 。我只会拿 C++ 写个程序来做。 或者干脆不要做。

n0099 commented 1 year ago

有请M$FT荣誉MVP batch中级高手四叶信安底层壬上壬上海贵族 FSF EFF 精神会员杨博文阁下 @yangbowen 为我们科普如何在bash中将zipinfo -T给出的MSDOS时间戳变成其他格式如unix timestamp或ISO-8601

不我当然不懂 bash 。我只会拿 C++ 写个程序来做。 或者干脆不要做。

irol对此早有预言:当您手里只有锤子时看什么都像钉子

然后编译为针对*nix平台的二进制构建并发布名为ybw-dtc的deb包以实现unix哲学之do one thing and do the best从而允许我等linux人直接追加| ybw-dtc -Tdos -Iseconds 我选择直接使用四叶头子CS硕士PLT理论中级高手仏皇irol阁下所最痛恨的正则文法的体现之regexp: image

find . -type f -name '*.apk' | xargs -I {} bash -c "echo -n \$(basename '{}') ' '; zipinfo -T {} | grep -m 1 classes.dex | awk '{print \$7}' | sed -r 's/^20([0-9]{2})([0-9]{2})([0-9]{2}).([0-9]{2})([0-9]{2})([0-9]{2})$/20\1-\2-\3T\4:\5:\6+0800/'" | sed 's/\.apk //' | sort -V > mtime
1.0.0 2011-11-02T15:06:50+0800
1.0.1 2012-01-10T14:20:58+0800
1.0.2 2012-03-23T11:22:12+0800
1.0.3 2012-04-26T18:24:50+0800
1.0.4 2012-07-02T16:52:20+0800
1.1.0 2012-09-10T11:57:48+0800
2.0.0 2012-09-28T20:00:36+0800
2.0.1 2012-09-29T15:27:18+0800
2.0.2 2012-10-08T16:35:54+0800
2.0.3 2012-10-12T18:43:18+0800
2.1.0 2012-10-26T14:47:24+0800
2.5.0 2012-11-07T18:57:44+0800
2.5.1 2012-11-08T11:59:22+0800
3.0.1 2012-12-05T18:57:14+0800
3.0.2 2012-12-14T16:00:38+0800
3.1.0 2012-12-27T12:33:22+0800
3.2.0 2013-01-31T15:45:10+0800
3.2.2 2013-02-04T21:26:16+0800
3.3.0 2013-03-05T14:42:34+0800
3.3.1 2013-03-06T21:09:06+0800
3.4.0 2013-04-02T17:46:12+0800
4.0.0 2013-05-19T21:34:14+0800
4.1.0 2013-06-08T20:03:06+0800
4.1.1 2013-06-08T20:03:06+0800
4.1.2 2013-06-19T19:48:58+0800
4.2.0 2013-07-01T16:51:18+0800
4.2.2 2013-07-02T15:44:22+0800
4.3.0 2013-08-05T17:18:48+0800
4.3.1 2013-08-07T20:52:22+0800
4.4.1 2013-08-23T15:30:42+0800
4.4.2 2013-08-29T15:34:42+0800
4.5.3 2013-09-24T18:45:04+0800
5.0.8 2013-11-05T19:54:16+0800
5.1.1 2013-11-13T21:15:10+0800
5.1.2 2013-11-21T13:20:22+0800
5.1.3 2013-11-22T16:48:58+0800
5.1.5 2013-11-26T14:14:02+0800
5.2.1 2013-12-05T15:23:00+0800
5.2.2 2013-12-09T22:21:30+0800
5.3.1 2013-12-24T11:10:04+0800
5.4.2 2014-01-06T16:13:12+0800
5.5.1 2014-01-22T13:41:22+0800
5.5.2 2014-01-23T14:12:34+0800
5.6.0 2014-02-25T20:37:58+0800
5.6.1 2014-02-27T22:09:52+0800
5.6.2 2014-03-04T21:39:58+0800
5.6.3 2014-03-31T22:46:56+0800
6.0.0 2014-04-09T15:59:26+0800
6.0.1 2014-04-17T16:25:18+0800
6.1.0 2014-05-19T17:36:06+0800
6.1.1 2014-05-24T16:07:02+0800
6.1.2 2014-05-29T15:42:14+0800
6.1.3 2014-06-20T13:46:28+0800
6.2.0 2013-07-02T23:54:42+0800
6.2.1 2014-07-10T12:14:48+0800
6.2.2 2014-08-15T16:01:16+0800
6.3.2 2014-08-21T13:25:06+0800
6.3.3 2014-08-24T15:21:46+0800
6.4.3 2014-10-27T18:18:26+0800
6.4.9 2014-11-03T11:32:48+0800
6.5.2 2014-12-12T11:15:02+0800
6.5.3 2015-01-30T18:21:42+0800
6.5.8 2015-02-05T12:46:30+0800
6.6.2 2015-03-20T11:43:32+0800
6.6.6 2015-04-09T11:48:36+0800
6.7.1 2015-05-29T16:09:04+0800
6.7.2 2015-06-09T11:22:32+0800
6.8.3 2015-08-17T14:08:58+0800
6.8.7 2015-09-08T10:46:00+0800
6.9.2 2015-09-29T10:01:46+0800
6.9.5 2015-10-16T18:35:02+0800
6.9.7 2015-10-30T16:17:12+0800
6.9.9 2015-11-09T21:13:18+0800
7.0.3 2015-12-03T18:15:54+0800
7.0.4 2015-12-04T12:38:10+0800
7.1.4 2015-12-30T14:45:50+0800
7.1.7 2016-01-20T17:20:30+0800
7.2.2 2016-01-29T11:14:08+0800
7.3.4 2016-03-31T14:00:06+0800
7.4.3 2016-05-11T16:48:28+0800
7.4.5 2016-05-13T20:37:52+0800
7.6.2 2016-06-30T16:53:22+0800
7.7.2 2016-07-28T14:32:20+0800
7.8.1 2016-09-01T10:32:12+0800
7.9.2 2016-09-28T20:52:16+0800
8.0.0.3 2016-11-30T17:59:48+0800
8.1.0.4 2016-12-29T17:36:28+0800
8.2.2 2017-01-20T16:30:00+0800
8.3.8.0 2017-03-07T17:36:26+0800
8.4.8.0 2017-04-14T14:19:18+0800
8.4.8.2 2017-04-21T15:18:22+0800
8.5.1.6 2017-05-19T16:02:24+0800
8.5.8.0 2017-05-31T18:16:08+0800
8.6.8.0 2017-06-30T18:03:46+0800
8.7.8.0 2017-07-31T17:54:06+0800
8.7.8.1 2017-08-02T23:55:42+0800
8.7.8.2 2017-08-03T21:13:12+0800
8.7.8.6 2017-08-15T17:26:04+0800
8.7.8.9 2017-08-24T14:29:22+0800
8.8.8.0 2017-08-31T15:17:10+0800
8.8.8.1 2017-09-04T17:54:06+0800
8.8.8.6 2017-09-18T19:49:16+0800
8.8.8.9 2017-09-28T18:37:30+0800
8.8.8.13 2017-10-12T20:21:18+0800
8.8.8.15 2017-10-23T15:09:06+0800
8.9.8.0 2017-10-31T22:05:32+0800
8.9.8.5 2017-11-15T17:34:12+0800
9.0.8.0 2017-11-30T12:14:26+0800
9.1.8.0 2017-12-15T01:37:28+0800
9.1.8.3 2017-12-20T15:45:42+0800
9.2.0.1 2017-12-21T20:40:10+0800
9.2.8.0 2017-12-27T23:28:54+0800
9.2.8.5 2018-01-18T22:03:12+0800
9.2.8.7 2018-01-31T20:07:30+0800
9.2.8.8 2018-02-02T16:09:42+0800
9.3.8.0 2018-02-06T15:08:18+0800
9.3.8.2 2018-02-27T20:38:04+0800
9.3.8.5 2018-03-27T19:33:44+0800
9.4.8.0 2018-04-12T22:10:10+0800
9.4.8.3 2018-04-19T15:58:02+0800
9.4.8.4 2018-04-20T15:02:44+0800
9.4.8.6 2018-05-03T19:47:12+0800
9.4.8.11 2018-05-18T16:09:42+0800
9.5.8.0 2018-06-08T12:47:20+0800
9.6.8.0 2018-06-27T21:36:22+0800
9.6.8.1 2018-07-03T16:39:06+0800
9.6.8.2 2018-07-13T16:50:26+0800
9.7.8.0 2018-07-30T23:52:12+0800
9.7.8.3 2018-09-03T15:44:30+0800
9.8.8.0 2018-09-26T18:08:48+0800
9.8.8.3 2018-10-16T17:29:32+0800
9.8.8.5 2018-10-22T19:55:30+0800
9.8.8.7 2018-10-25T20:40:16+0800
9.8.8.13 2018-11-12T17:46:02+0800
9.9.8.0 2018-12-05T22:12:08+0800
9.9.8.10 2018-12-18T15:35:04+0800
9.9.8.12 2018-12-27T18:08:34+0800
9.9.8.20 2019-01-02T18:55:12+0800
9.9.8.31 2019-01-17T01:53:48+0800
9.9.8.32 2019-01-21T23:31:12+0800
9.9.8.40 2019-01-27T15:45:10+0800
9.9.8.41 2019-02-17T13:27:12+0800
9.9.8.42 2019-02-21T21:39:08+0800
10.0.8.0 2019-03-08T02:31:44+0800
10.0.8.2 2019-03-10T13:47:56+0800
10.0.8.4 2019-03-14T21:48:52+0800
10.1.8.0 2019-04-07T23:39:52+0800
10.1.8.1 2019-04-09T14:14:46+0800
10.2.8.0 2019-05-16T21:41:28+0800
10.2.8.2 2019-05-28T20:28:56+0800
10.2.8.5 2019-06-03T11:59:52+0800
10.2.8.8 2019-06-20T20:02:10+0800
10.3.8.0 2019-07-22T19:30:10+0800
10.3.8.1 2019-07-28T12:27:58+0800
10.3.8.7 2019-08-06T20:11:58+0800
10.3.8.8 2019-08-12T20:03:18+0800
10.3.8.10 2019-08-22T21:48:44+0800
10.3.8.12 2019-09-20T10:54:32+0800
10.3.8.19 2019-10-29T21:54:04+0800
10.3.8.30 2019-11-20T21:23:32+0800
10.3.8.33 2019-11-28T20:58:16+0800
10.3.8.34 2019-12-01T23:15:58+0800
10.3.8.41 2019-12-09T11:30:24+0800
11.0.0.0 2019-12-25T10:42:26+0800
11.1.8.0 2020-01-13T10:52:32+0800
11.1.8.1 2020-01-14T22:43:52+0800
11.1.8.2 2020-02-09T21:22:26+0800
11.2.8.0 2020-02-27T23:00:12+0800
11.2.8.1 2020-03-02T19:18:32+0800
11.2.8.4 2020-03-13T13:20:42+0800
11.3.8.0 2020-03-18T10:18:22+0800
11.3.8.1 2020-03-19T12:16:48+0800
11.3.8.2 2020-03-25T10:43:46+0800
11.4.8.0 2020-04-17T15:15:06+0800
11.4.8.6 2020-05-08T11:05:54+0800
11.4.8.7 2020-05-12T09:12:52+0800
11.5.8.0 2020-05-22T10:28:30+0800
11.5.8.3 2020-06-04T11:19:08+0800
11.6.8.0 2020-07-03T09:50:52+0800
11.6.8.1 2020-07-06T21:34:12+0800
11.6.8.2 2020-07-13T15:05:22+0800
11.7.8.0 2020-07-31T12:16:28+0800
11.7.8.1 2020-08-04T08:59:06+0800
11.8.8.0 2020-08-25T12:44:54+0800
11.8.8.7 2020-09-04T15:04:28+0800
11.9.8.0 2020-09-21T14:07:28+0800
11.10.8.0 2020-10-19T11:37:24+0800
11.10.8.6 2020-10-27T11:00:02+0800
12.0.2.2 2020-11-11T10:43:16+0800
12.0.8.0 2020-11-16T10:54:34+0800
12.0.8.1 2020-11-19T16:08:42+0800
12.1.8.0 2020-12-07T10:30:40+0800
12.1.8.1 2020-12-08T10:31:40+0800
12.1.8.4 2020-12-15T10:29:04+0800
12.2.8.0 2021-01-04T21:09:24+0800
12.2.8.1 2021-01-07T09:53:08+0800
12.2.8.9 2021-01-12T20:23:40+0800
12.2.8.11 2021-01-19T10:31:12+0800
12.3.8.0 2021-02-01T14:55:20+0800
12.3.8.3 2021-02-04T17:08:56+0800
12.3.8.6 2021-02-21T23:32:44+0800
12.3.8.10 2021-03-08T10:43:44+0800
12.3.8.11 2021-03-09T10:14:40+0800
12.4.8.0 2021-03-25T00:57:42+0800
12.4.8.2 2021-03-29T22:08:30+0800
12.4.8.14 2021-04-20T11:22:04+0800
12.4.8.15 2021-04-22T00:16:14+0800
12.4.8.24 2021-04-26T23:59:58+0800
12.5.1.0 2021-05-18T12:40:10+0800
12.5.6.0 2021-05-25T10:52:00+0800
12.6.1.0 2021-06-11T10:31:40+0800
12.6.3.0 2021-06-22T10:18:12+0800
12.6.6.0 2021-07-05T11:10:02+0800
12.7.1.0 2021-07-08T12:03:58+0800
12.7.1.1 2021-07-09T02:47:54+0800
12.7.6.0 2021-07-26T09:01:26+0800
12.8.1.0 2021-08-11T11:00:48+0800
12.8.1.1 2021-08-11T16:10:54+0800
12.9.1.0 2021-08-25T22:19:46+0800
12.9.2.0 2021-08-30T20:20:40+0800
12.9.3.0 2021-09-01T00:15:10+0800
12.10.1.0 2021-09-10T10:11:22+0800
12.11.1.0 2021-09-24T07:34:26+0800
12.12.1.0 2021-10-19T21:56:04+0800
12.13.1.0 2021-11-02T21:43:14+0800
12.13.2.0 2021-11-10T00:44:54+0800
12.14.1.0 2021-11-22T12:47:24+0800
12.15.1.0 2021-12-01T10:26:24+0800
12.16.1.0 2021-12-16T15:29:46+0800
12.17.1.0 2021-12-29T11:45:48+0800
12.18.1.0 2022-01-14T15:35:46+0800
12.19.1.0 2022-01-24T12:00:54+0800
12.20.1.0 2022-02-22T23:27:40+0800
12.21.1.0 2022-03-08T10:33:50+0800
12.22.1.0 2022-03-23T00:35:44+0800
12.23.1.0 2022-04-07T10:47:12+0800
12.23.5.0 2022-04-18T23:06:52+0800
12.23.7.0 2022-05-04T23:44:00+0800
12.24.1.0 2022-05-13T16:55:56+0800
12.25.1.0 2022-05-31T10:16:06+0800
12.25.5.0 2022-06-20T12:20:54+0800
12.26.1.0 2022-07-15T14:15:34+0800
12.26.3.0 2022-07-22T11:24:12+0800
12.26.5.0 2022-07-25T17:45:04+0800
12.27.1.0 2022-08-10T00:31:06+0800
12.27.1.1 2022-08-11T22:59:50+0800
12.27.5.0 2022-08-18T00:30:58+0800
12.28.1.0 2022-08-30T23:10:24+0800
12.28.1.1 2022-09-01T02:43:12+0800
12.29.1.1 2022-09-15T00:41:50+0800
12.29.5.0 2022-09-27T10:27:24+0800
12.29.7.0 2022-10-10T12:26:50+0800
12.30.1.0 2022-10-26T10:52:58+0800
12.31.5.0 2022-11-03T01:20:20+0800
12.32.1.0 2022-11-14T23:13:22+0800
12.32.3.0 2022-11-17T16:12:34+0800
12.32.5.1 2022-11-23T15:36:14+0800
12.32.5.2 2022-12-01T17:06:52+0800
12.34.1.0 2022-12-16T11:13:32+0800
12.34.3.0 2022-12-27T15:32:10+0800
n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416768152

#2 (comment)

您能帮我拖下来吗,我没百度盘会员

我也没有会员,甚至没有稳定的网络能用

其实就仨个

$ comm -23 <(sort shareId2178084026/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
5.6.0
$ comm -23 <(sort shareId2555595519/list) <(find ../.. -type f -name '*.apk' -printf "%f\n" | sed 's/.apk//' | sort)
6.1.0
6.1.1

然而apkinfo显示其版本号分别是

5.6.0.apk 5.5.2
6.1.0.apk 6.0.1
6.1.1.apk 6.0.1

然而将其与shouji.com.cn源的同版本号文件(apkinfo显示其文件名与apk版本对应)对比hash又是不同的(甚至文件大小都差很多)

我暂且理解为时任贴吧程序员编译发包前忘了dump version

他们的classes.dex文件的mtime都是不同的

5.5.2 2014-01-23T14:12:34+0800
5.6.0 2014-02-25T20:37:58+0800
6.0.1 2014-04-17T16:25:18+0800
6.1.0 2014-05-19T17:36:06+0800
6.1.1 2014-05-24T16:07:02+0800
yangbowen commented 1 year ago

然后编译为针对*nix平台的二进制构建并发布名为ybw-dtc的deb包以实现unix哲学之do one thing and do the best从而允许我等linux人直接追加| ybw-dtc -Tdos -Iseconds

不我并搞不来打包之类的。基本上没写过给别人用的程序所以并没有点过这方面(协作之类的)技能。 并且我觉得这样一个还算有一定通用性的字符串处理命令的存在本身还是好的,我只是不赞成 Shell 脚本通用语言化,不欣赏 *nix 把过多的而且不适合 Shell 脚本的事情全都做成 Shell 脚本,同时承受 Shell 带来的固有缺陷。事实上 SysV Init 之于 systemd 就是这样的问题,我认为。 至于确实比较 trivial 的字符串处理等,我认为采用 Shell 命令并无不妥。

但是全都 off-topic 啦。总之我不懂 Shell 脚本,别问我。

n0099 commented 1 year ago

我们现在可以基于 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416782147 这份更正确且完整的mtime表,去修改 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415798400 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415877249 创建的两个git中的每个commit的author和commit date:

git filter-branch -f --tag-name-filter cat --env-filter 'GIT_AUTHOR_DATE=$(grep ^$(git log -n 1 --pretty=format:%s $GIT_COMMIT | awk "{print \$1}") mtime | awk "{print \$2}"); GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE'
n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416786394

不适合 Shell 脚本的事情全都做成 Shell 脚本,同时承受 Shell 带来的固有缺陷

sh的主要问题是

  1. 基于$IFSword split 经典a='/ b' rm -rf $a最终执行rm -rf / a
  2. 变量作用域默认全局(除非local)所以会下传到subshell中,但这个下传跟大多数语言一样是byref而不是byval,所以subshell无法在退出后将其所改变的传入变量值写回parent shell,这在其他编程语言中本身不是大问题(默认全局变量的语言也有一堆),然而sh创建subshell有许多方式其中包括了最常用的| https://mywiki.wooledge.org/SubShell 于是导致 https://mywiki.wooledge.org/BashFAQ/024
  3. posix sh builtin之test及其alias []不好用,所以有[[ ]]
  4. test的返回值$?0=true, 1=false,因为unix哲学之process exit code non-zero是unexpected的warn/error,所以0被用作表达true,而这跟c-like语言的int-bool约定正好相反,扩展这个问题就是经典无法区分null(然而js中还有一个undefined)的语义: https://en.wikipedia.org/wiki/Semipredicate_problem 所以理论上您不可能在兼容任何平台的sh里写true/false而只能写0/1,对此也有gnu coreutils独立程序之/bin/true /bin/false给您生成exit code 0/1,后来又纳入了高版本bash的builtin以节省为了获得一个exit code而创建一个进程的开销,就像是老c人必备的宏之#define true 1 https://stackoverflow.com/questions/2953646/how-can-i-declare-and-use-boolean-variables-in-a-shell-script/21768067#21768067
  5. unexpected command substitution/glob/变量展开,cs/glob本身是好用的,但很多时候您只是在写作为grep/sed/awk/tr参数的表达式,所以sh就搞混了导致您需要一大堆的escape
  6. extfs对于文件名允许任何字节(除了0x00 NUL)存在,这导致如果您想处理这种edge case就不能安全在sh里用ls https://mywiki.wooledge.org/ParsingLs
  7. 同时读文件再写他会导致其变成0byte的empty file,如经典sort file > file,因为sh将文件字节作为stdin是stream地读,而中间的程序和其输出的stdout也是如此(如果不考虑stdbuf),所以sort在从stdin读到任何字节之前就已经输出了0字节到file导致其stdin也是0字节然后sort就完成任务退出 https://mywiki.wooledge.org/BashPitfalls#cat_file_.7C_sed_s.2Ffoo.2Fbar.2F_.3E_file
  8. 跨sh实现兼容性,主要是BSD UnixGNU/Linux之争 https://mywiki.wooledge.org/Bashism 这导致大多数sh builtin的细节都是特定于sh实现的 然而即便是独立程序(如gnu coreutils中的那些,大多数linux新手输入的不是coreutils程序就是sh builtins)也会有不同实现(如基于果粉认证的unix正统kernel之darwin的macos使用bsd sed,其细节与gnu sed不同) https://stackoverflow.com/questions/4247068/sed-command-with-i-option-failing-on-mac-but-works-on-linux 还有同名的全局环境(程序文件存在$PATH(主要是/usr/bin)目录下)程序(gnu parallelmoreutils parallelimagemagick的convert) 回顾经典之M$FT在win(现在也支持linux了)上试图取代老cmd+batch的powershell一直都默认把curlwget alias成自己的Invoke-WebRequest,然而Invoke-WebRequest又没有任何参数名与curl/wget相同以实现兼容性,导致任何有参数的curl/wget都不可能粘贴到ps里直接执行
  9. ~/.bashrc中指定的locale不是LC_ALL=en_US.UTF-8导致许多输出人类可读的程序会根据不同的locale输出错误结果 https://mywiki.wooledge.org/locale 然而这也不是sh独有的问题,截止2023年2月,win11为了win98时的向前兼容性仍然不会使用utf16/8作为其默认loacle(除非系统语言是English (US))导致简中vc++萌新仍然需要与GB2312/GBK搏斗 当然根据奥利金德lg神数年前的说法您也可以在某个cmd环境中单独地chcp 65001以使用UTF-8 codepage,或是在win10+中直接前往语言与区域设置开启默认的chcp 65001以摆脱永世GB2312/SHIFT-JIS地狱 https://stackoverflow.com/questions/57131654/using-utf-8-encoding-chcp-65001-in-command-prompt-windows-powershell-window 而反观linux人早在06年后就顺应时代大潮推动gnu coreutils等常用程序完成了ASCII转UTF8改革,这也直接避开了unicode联盟成员M$FT和Sun于90年代过早采用当时可映射到UCS-2最佳的选择之UTF-16的历史局限性
  10. https://mywiki.wooledge.org/BashPitfalls 中指明的其他十万甚至九万个
  11. 类似杨博文阁下去年于zulip锐评sql注入时的概念,但更加谔谔:https://mywiki.wooledge.org/BashProgramming/05
  12. https://mywiki.wooledge.org/BashFAQ/050
  13. https://mywiki.wooledge.org/Quotes
  14. https://mywiki.wooledge.org/ProcessManagement

结果就是一个安全健壮(相对于您自己在tty里对着interactive bash扣的一行sh而已)的bash程序必然充斥着- \ | / ' " $ ; & [ ] < > { } !,其谜语程度堪比haskell等纯FP语言的满屏幕符号 而 当您将bash作为irol神之锤到处乱砸时会遇到的回力镖 https://mywiki.wooledge.org/BashWeaknesses 对此早有预言

  1. 语法噩梦。Bash 可以做很多不同的事情,甚至擅长其中的一些事情,但几乎每一个都有自己特殊的、独特的语法。没有一致性,几乎就像每个语法功能都是单独开发的一样。几乎美式键盘上的每一个标点字符在某处都有一些特殊的含义,而且其中许多有不止一个。
    • *字符在未加引号时会在某些地方扩展为文件名列表,但在其他地方则不会。
    • $((可能是ArithmeticExpression的开始,或者是CommandSubstitution的开始,这取决于 bash 是否可以在更远的地方找到匹配的))。
    • {可以是命令组的开始,或者大括号扩展的开始。
    • ${foo: -1}是子串参数扩展,而${foo:-1}是带默认值的参数扩展。(译注:与此同时原文中的${foo: -1}迫真地被github解析为了inline latex)
    • +=可以将数据附加到字符串变量,或将新元素添加到数组,或执行整数加法。 等等等等。

我的建议是写sh时多用set -xhttps://github.com/koalaman/shellcheck

然而 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416782147 早已道明

> 四叶头子CS硕士PLT理论中级高手仏皇irol阁下对此早有预言:当您手里只有锤子时看什么都像钉子

https://mywiki.wooledge.org/ProcessManagement 对此也有阐述

传统的 Unix 系统除了ps之外通常没有其他工具可以作为人类系统管理员来检查正在运行的进程。人们然后认为这是在脚本中使用的合适工具,即使事实并非如此。他们陷入这样一种思维陷阱,即认为既然这是操作系统提供的唯一用于对人类失控进程进行故障排除的工具,那么它一定是用于设置服务的适当工具。

典型例子就是上面用到的git-filter-branch.sh https://git-scm.com/docs/git-filter-branch#SAFETY https://github.com/newren/git-filter-repo#solving-this-with-filter-branch https://github.com/newren/git-filter-repo/blob/main/Documentation/converting-from-filter-branch.md https://public-inbox.org/git/CABPp-BGOz8nks0+Tdw5GyGqxeYR-3FF6FT5JcgVqZDYVRQ6qog@mail.gmail.com/

我手扣的这托bash连 https://explainshell.com 都无法分析 image 建议人肉explain

# 第0层sh(bash/zsh/dash/etc.)环境(您当前tty的环境或某个shebang指定的环境)
git filter-branch                  # https://git-scm.com/docs/git-filter-branch
-f                                 # git filter-branch refuses to start with an existing temporary directory or when there are already refs starting with refs/original/, unless forced.
--tag-name-filter
    cat                            # 在完成"rebase"后重新映射tag(把之前tag指向的commit hash改成之后的同一个commit但已经变了的hash)也就是man所说的The original tags are not deleted, but can be overwritten; use "--tag-name-filter cat" to simply update the tags. In this case, be very careful and make sure you have the old tags backed up in case the conversion has run afoul.
--env-filter '                     # 对于每个commit执行如下bash,并且有这些变量可读写: Prior to that, the $GIT_COMMIT environment variable will be set to contain the id of the commit being rewritten. Also, GIT_AUTHOR_NAME, GIT_AUTHOR_EMAIL, GIT_AUTHOR_DATE, GIT_COMMITTER_NAME, GIT_COMMITTER_EMAIL, and GIT_COMMITTER_DATE are taken from the current commit and exported to the environment
    # 第1层bash环境开始
    GIT_AUTHOR_DATE=$(             # 改变传入变量GIT_AUTHOR_DATE的值会被filter-branch发现并改变当前commit的GIT_AUTHOR_DATE值,也就是说相当于执行了`GIT_AUTHOR_DATE=n0099 git commit --amend --no-edit --reset-author`
        # 第2层bash环境开始
        grep ^$(                   # grep的regexp参数,内容是`^`追加`下一个嵌套bash的stdout`
            # 第3层bash环境开始
            git log                # 根据commit hash获得其message https://stackoverflow.com/questions/19798378/better-way-of-getting-a-git-commit-message-by-short-hash
                -n 1               # stdout第一个commit后就立即退出以避免输出其完整的parent commit链条
                --pretty=format:%s # %s占位符是commit message
                $GIT_COMMIT        # filter-branch所传入变量(也就是当前commit hash)
            | awk "{print \$1}"    # 使用空格分割(ssv)然后取第1列内容(也就是版本号),这是为了兼容 https://github.com/n0099/tbclient.protobuf/commits/tbclient 中commit message的` @ (proto|java)`后缀
            # 第3层bash环境结束
        ) mtime                    # https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416782147 生成的那个文件路径
        | awk "{print \$2}"        # 使用空格分割(ssv)然后取第2列内容(也就是mtime)
        # 第2层bash环境结束
    );
    GIT_COMMITTER_DATE=$GIT_AUTHOR_DATE # 同步GIT_COMMITTER_DATE和GIT_AUTHOR_DATE,相当于`git rebase --committer-date-is-author-date` https://stackoverflow.com/questions/2973996/git-rebase-without-changing-commit-timestamps
    # 第1层bash环境结束
'

SysV Init 之于 systemd 就是这样的问题

然而systemd也由于其基于ini文件的配置格式(unit)类似windows services且其作者 https://en.wikipedia.org/wiki/Lennart_Poettering 也是redhat和M$FT员工而一直被老unix人视作M$FT派来的木马软件 来丶13~14年linux init.d内战期间的现代linux娱乐圈壬上壬:

systemd作者redhat兼M$FT驻linux社区间谍Lennart Poettering的高清雅照

https://www.zdnet.com/article/after-linux-civil-war-ubuntu-to-adopt-systemd/ https://www.zdnet.com/article/shuttleworth-sorry-for-canonical-trademark-notice-and-open-source-tea-party-remarks/ https://www.zdnet.com/article/shuttleworth-defends-mir-strikes-out-at-open-source-tea-party/ https://www.zdnet.com/article/debian-inches-towards-new-init-system-decision-amid-fallout/

https://www.tecmint.com/systemd-replaces-init-in-linux/

Linux 内核首席架构师 Linus Torvalds 认为 systemd 的主要开发人员对用户和错误报告的态度似乎不太好。据报道,systemd 哲学很奇怪,是一种控制系统进程的外国方式。Patric Volkerding 和其他著名的 Linux 用户和开发人员以及在线论坛上不时记录了同样的内容。

SystemD是一个想要成为发行版的 init。它想通过发行版控制每个进程和每个应用程序。它就像一个黑洞,会吸收进入其引力场的任何事物。 SystemD 严重违反了 *nix 的基本原则之一——“做好一件事”。systemd 不仅可以完成数百个任务(并且想要更多),而且做得并不好。 如果对于与之相关的每项活动,我们都需要一个特殊的程序,它怎么能更有效率呢? 如果我不知道 systemD 是由 Red Hat 的 Leonard Poettering 开发的,我会发誓它是由 Steve Balmer 设计并由微软开发的,目的是摧毁 Linux。

https://news.slashdot.org/story/14/10/06/1837237/lennart-poettering-open-source-community-quite-a-sick-place-to-be-in https://www.zdnet.com/article/lennart-poetterings-linus-torvalds-rant/

“开源社区充满了**,我可能比其他大多数人更成为他们最喜欢的目标之一。我收到了对开源进行黑客攻击的仇恨邮件。人们已经开始多次‘请愿’网站,要求我停止工作(谷歌搜索)。最近,人们开始收集比特币来为我雇一个杀手(这真的发生了!)。就在前几天,一些白痴在 YouTube 上发布了一首“歌曲”,令人毛骨悚然工作,充满了对我的咒骂和暴力建议。人们张贴抵制我的项目的网站,其中包含相当人身攻击。” 实际上,我会把一些责任归咎于在内核开发中发挥重要作用的某些人,首先是 Linus Torvalds 本人。许多人认为他是榜样,但他是一个相当糟糕的人。如果他发布类似“[特定的人]......应该被追溯堕胎。谁他妈的会做这种愚蠢的事情?他们怎么没有像婴儿一样死去,考虑到他们可能太愚蠢而无法找到奶头来吮吸在?” (谷歌搜索),那肯定很糟糕。但我发现特别令人震惊的是,他经常为这一点辩护,并将其宣传为运营社区的有效方式。(但不仅仅是 Linus,他周围的某些人使用完全相同的风格,其中一些人甚至半公开地幻想 [原文如此] 最好的方法,......好吧,杀了我)。 “如果 Linux 取得了成功,那肯定会发生,而不是因为 [Torvald 的] 行为。我很确定由此造成的损害是非常明显的,它不仅破坏了 Linux 社区的基调,而且还教导新的贡献者采用相同的风格,但前提是它不会首先吓跑他们。换句话说:鱼从头向下腐烂。”

https://www.zdnet.com/article/linus-torvalds-and-others-on-linuxs-systemd/ image

许多 Linux 开发人员认为 systemd 试图做的事情对于 init 程序来说太多了。 因为 systemd 将如此多的程序鸡蛋放在一个系统篮子里,systemd 的批评者认为“有很多情况它会崩溃并导致整个系统崩溃。但除此之外,这意味着大量非内核系统升级现在需要重新启动。享受新的 Windows 9 Linux 系统吧!” 他们继续争辩说,以二进制格式存储的 systemd 日志文件可能会损坏。此外,他们发现 systemd 与 Unix 操作系统家族的其他成员不兼容。他们还因其“单一的、严重面向桌面的”设计而存在缺陷,这使其成为许多 Linux 用例的糟糕选择

来丶systemd的alternative https://without-systemd.org/wiki/index_php/Main_Page/ https://www.linuxquestions.org/questions/linux-general-1/uselessd-brought-to-you-by-boycottsystemd-org-4175519475/ https://news.ycombinator.com/item?id=7639170 http://web.archive.org/web/20140920005913/http://boycottsystemd.org/

  1. 默认情况下,systemd 将核心转储保存到journald,而不是文件系统。必须使用 coredumpctl(4)显式查询核心转储。除了违背所有原因之外,它还会在多用户环境中造成复杂性(如果它被转储到journald并且您没有 root 访问权限,那么祝您在程序的核心转储上运行 gdb 时好运),因为 systemd(5) 需要 root 来控制。它假定用户和管理员是愚蠢的,但更关键的是,二进制journald从根本上来说是易损坏的,这使它成为一个严重的障碍。

我说php-fpm在SIGSEGV退出时生成的core dump文件怎么消失了

https://mywiki.wooledge.org/ProcessManagement 进一步道明

PID 和父母

在 UNIX 中,进程由称为 PID(Process IDentifier)的数字标识。每个正在运行的进程都有一个唯一的标识符。您不能仅从标识符号可靠地确定进程何时或如何启动:就所有意图和目的而言,它是随机的。(在某些系统上,它实际上是随机的,但即使在使用顺序 PID 分配的系统上,您也不能根据进程的 PID 号安全地假设任何有关进程的信息。) 每个 UNIX 进程还有一个父进程。此父进程是启动它的进程,但如果父进程在新进程结束之前结束,则可以更改为init进程。(也就是说,init将挑选孤立的进程。)了解这种父/子关系至关重要,因为它是 UNIX 中可靠进程管理的关键。进程终止后,进程的 PID 将永远不会被释放以供使用,直到父进程等待PID 查看它是否结束并检索其退出代码。如果父进程结束,进程将返回到init,它会为你做这件事。 这一点很重要,主要有一个原因:如果父进程管理它的子进程,则可以绝对确定,即使子进程死亡,在父进程wait之前,没有其他新进程会意外回收子进程的 PID那个PID并注意到孩子死了。这为父进程提供了保证,即它为子进程所拥有的 PID 将始终指向该子进程,无论它是活的还是“僵尸”。没有其他人有这种保证。 不幸的是,这种保证不适用于 shell 脚本。Shell 积极获取它们的子进程并将退出状态存储在内存中,它在调用wait时可供您的脚本使用。但是因为在你调用wait之前孩子已经被收割了,所以没有僵尸持有 PID。内核可以自由重用该 PID,而您的保证已被违反。 因此,您不能在 shell 中编写通用服务管理器。您需要一种真正的语言或现有工具。不要试图重新发明这个轮子。那里有很多服务管理器(daemontools、runit、systemd等)。您的系统可能已经在使用其中之一。如果不是,则可以安装和使用 runit 或 daemontools 或它们的兄弟之一。(截至撰写本文时 [2019],您现在正在阅读的 wiki 是由 daemontools 运行脚本在预系统化的 Debian 系统上启动的。即使在较旧的操作系统上,您也不会被供应商选择的初始化系统所束缚。 )

让父母死亡的风险

为什么这一切如此重要?你为什么要关心?考虑一下如果我们使用“PID 文件”会发生什么。假设以下事件顺序:

  • 您是一个引导脚本(例如/etc/init.d中的一个)。你被告知启动 foodaemon。
  • 您在后台启动一个 foodaemon 子进程并获取其 PID。
  • 您将此 PID 写入文件。
  • 你退出,假设你已经完成了你的工作。
  • 稍后,您再次启动并被告知要杀死 foodaemon。
  • 您在文件中查找子进程的 PID。
  • 您向此 PID 发送SIGTERM信号,告诉它清理并退出。 您绝对无法确定您告诉退出的进程实际上是您启动的进程。您想要检查的进程可能已经死亡,而另一个随机的新进程可能很容易回收由init释放的 PID 。

这就是 sysv-rc 和 PID 文件从根本上被破坏的原因。这就是为什么几乎每个 Linux 系统最终都在远离 sysv-rc。

yangbowen commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416835461

sh的主要问题是

关于您说的这些问题,我认为它们大部分都可以归结到一件事: Shell 的语法并不是从一开始作为一个通用语言设计的。它方方面面体现了一件事,就是它一开始被以一种 最容易想到 而且目前也能用 的方式设计出来,后续随着需求的增加被扩充越来越多的特性。很难想象有人会如此欠考虑地设计一门通用的编程语言, Shell 会这样完全是因为它根本不是作为通用语言被设计的。 我是敏捷开发的反对者,而且我认为 Shell 语言这样的东西正是敏捷开发的反面典型。 另一件值得一提的事就是,这样一门显而易见地不适合通用开发的语言,为什么会在 nix 生态中占据如此大的份额,被广泛地用在很多本应采用一门更系统也更 feature-rich 的语言的场合。学习和转变的阻力,包括您说的 当您手里只有锤子时看什么都像钉子 诚然是一个原因,但我想一些更在于软件而不在于人的原因也不容忽视。 nix 成型的生态,特别是在被实现为通过 Shell 命令协调的对单一功能程序的组合的 UNIX 哲学的指导下,这门为 trivial task 设计的语言难免担当越来越 non-trivial 的角色。想要逐步地更替 Shell 在其中的地位比更替作为单个命令的任何组件都困难。

关于您对所有这些真实的错误的列举,我想,这里更重要的问题不是 Shell 为什么没有被设计成免于这些错误,这里更重要的问题是,我们都知道很多其它编程语言并没有这样的错误,可是为什么它们没能取代 Shell ?


而 当您将bash作为irol神之锤到处乱砸时

当您拿着 bash 到处 bash

n0099 commented 1 year ago

由于 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415365792 所计量的只是jadx/ver.7z内的文件路径中出现tbclient的次数所以可能会有假阳性 建议改成更准确的只计数路径以ver/src/tbclient开头的文件(也就是tbclient根命名空间下)

ls -1 | sed 's/\.7z//' | xargs -I {} bash -c 'printf "{} "; 7z l {}.7z | grep -c "{}/src/tbclient"' | sort -V > ../fileCount
1.0.0 0
1.0.1 0
1.0.2 0
1.0.3 0
1.0.4 0
1.1.0 0
2.0.0 0
2.0.1 0
2.0.2 0
2.0.3 0
2.1.0 0
2.5.0 0
2.5.1 0
3.0.1 0
3.0.2 0
3.1.0 0
3.2.0 0
3.2.2 0
3.3.0 0
3.3.1 0
3.4.0 0
4.0.0 0
4.1.0 0
4.1.1 0
4.1.2 0
4.2.0 0
4.2.2 0
4.3.0 0
4.3.1 0
4.4.1 0
4.4.2 0
4.5.3 0
5.0.8 0
5.1.1 0
5.1.2 0
5.1.3 0
5.1.5 0
5.2.1 0
5.2.2 0
5.3.1 0
5.4.2 0
5.5.1 0
5.5.2 0
5.6.0 0
5.6.1 0
5.6.2 0
5.6.3 0
6.0.0 0
6.0.1 0
6.1.0 83
6.1.1 89
6.1.2 89
6.1.3 89
6.2.0 0
6.2.1 144
6.2.2 222
6.3.2 222
6.3.3 222
6.4.3 321
6.4.9 325
6.5.2 373
6.5.3 374
6.5.8 374
6.6.2 426
6.6.6 431
6.7.1 459
6.7.2 459
6.8.3 382
6.8.7 393
6.9.2 479
6.9.5 502
6.9.7 502
6.9.9 503
7.0.3 684
7.0.4 684
7.1.4 607
7.1.7 607
7.2.2 605
7.3.4 582
7.4.3 583
7.4.5 583
7.6.2 602
7.7.2 596
7.8.1 615
7.9.2 625
8.0.0.3 619
8.1.0.4 628
8.2.2 633
8.3.8.0 636
8.4.8.0 637
8.4.8.2 637
8.5.1.6 653
8.5.8.0 675
8.6.8.0 690
8.7.8.0 711
8.7.8.1 711
8.7.8.2 711
8.7.8.6 711
8.7.8.9 711
8.8.8.0 721
8.8.8.1 721
8.8.8.6 721
8.8.8.9 732
8.8.8.13 732
8.8.8.15 732
8.9.8.0 709
8.9.8.5 709
9.0.8.0 702
9.1.8.0 704
9.1.8.3 704
9.2.0.1 704
9.2.8.0 707
9.2.8.5 709
9.2.8.7 709
9.2.8.8 709
9.3.8.0 919
9.3.8.2 919
9.3.8.5 923
9.4.8.0 938
9.4.8.3 938
9.4.8.4 938
9.4.8.6 938
9.4.8.11 938
9.5.8.0 965
9.6.8.0 982
9.6.8.1 982
9.6.8.2 982
9.7.8.0 1006
9.7.8.3 1006
9.8.8.0 1025
9.8.8.3 1030
9.8.8.5 1030
9.8.8.7 1030
9.8.8.13 1030
9.9.8.0 1037
9.9.8.10 1037
9.9.8.12 1038
9.9.8.20 1038
9.9.8.31 1038
9.9.8.32 1038
9.9.8.40 1038
9.9.8.41 1038
9.9.8.42 1038
10.0.8.0 848
10.0.8.2 848
10.0.8.4 1055
10.1.8.0 1055
10.1.8.1 1055
10.2.8.0 1098
10.2.8.2 1098
10.2.8.5 1098
10.2.8.8 1098
10.3.8.0 1107
10.3.8.1 1107
10.3.8.7 1110
10.3.8.8 1110
10.3.8.10 1110
10.3.8.12 1110
10.3.8.19 1146
10.3.8.30 1146
10.3.8.33 1146
10.3.8.34 1146
10.3.8.41 1146
11.0.0.0 1156
11.1.8.0 1156
11.1.8.1 1156
11.1.8.2 1156
11.2.8.0 1157
11.2.8.1 1157
11.2.8.4 1157
11.3.8.0 1158
11.3.8.1 1158
11.3.8.2 1158
11.4.8.0 1180
11.4.8.6 1180
11.4.8.7 1180
11.5.8.0 1187
11.5.8.3 1188
11.6.8.0 1258
11.6.8.1 1258
11.6.8.2 1258
11.7.8.0 1265
11.7.8.1 1265
11.8.8.0 1276
11.8.8.7 1276
11.9.8.0 1286
11.10.8.0 1289
11.10.8.6 1289
12.0.2.2 1289
12.0.8.0 1289
12.0.8.1 1289
12.1.8.0 1299
12.1.8.1 1299
12.1.8.4 1299
12.2.8.0 1302
12.2.8.1 1562
12.2.8.9 1562
12.2.8.11 1562
12.3.8.0 1576
12.3.8.3 1576
12.3.8.6 1576
12.3.8.10 1576
12.3.8.11 1576
12.4.8.0 1594
12.4.8.2 1594
12.4.8.14 1600
12.4.8.15 1600
12.4.8.24 1604
12.5.1.0 1610
12.5.6.0 1610
12.6.1.0 1616
12.6.3.0 1616
12.6.6.0 1644
12.7.1.0 1644
12.7.1.1 1644
12.7.6.0 1652
12.8.1.0 1665
12.8.1.1 1665
12.9.1.0 1667
12.9.2.0 1667
12.9.3.0 1667
12.10.1.0 1674
12.11.1.0 1670
12.12.1.0 1675
12.13.1.0 1677
12.13.2.0 1677
12.14.1.0 1683
12.15.1.0 1645
12.16.1.0 1646
12.17.1.0 1648
12.18.1.0 1649
12.19.1.0 1644
12.20.1.0 1646
12.21.1.0 1647
12.22.1.0 1665
12.23.1.0 1659
12.23.5.0 1659
12.23.7.0 1661
12.24.1.0 1648
12.25.1.0 1631
12.25.5.0 1633
12.26.1.0 1660
12.26.3.0 1664
12.26.5.0 1666
12.27.1.0 1679
12.27.1.1 1679
12.27.5.0 1679
12.28.1.0 1680
12.28.1.1 1680
12.29.1.1 1676
12.29.5.0 1676
12.29.7.0 1677
12.30.1.0 1803
12.31.5.0 1686
12.32.1.0 1686
12.32.3.0 1686
12.32.5.1 1811
12.32.5.2 1811
12.34.1.0 1697
12.34.3.0 1825
然而跟 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415365792 相比只多了两个我后来在 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416249302 时才从tid5008810954源下载的3个版本 verA fileCountA verB fileCountB
NULL NULL 6.1.0 83
NULL NULL 6.1.1 89

可见贴吧程序员并没有在其他java文件名(类名)中滥用tbclient这个专有名词

https://www.db-fiddle.com/f/uT2UC35dvYLPW1fFjWUrg4/0

CREATE TABLE fileCount(ver VARCHAR(12), fileCount INT, PRIMARY KEY (ver, fileCount));
INSERT INTO fileCount VALUES
("6.0.1",0),
("6.1.2",89),
("6.1.3",89),
("6.2.0",0),
("6.2.1",144),
("6.2.2",222),
("6.3.2",222),
("6.3.3",222),
("6.4.3",321),
("6.4.9",325),
("6.5.2",373),
("6.5.3",374),
("6.5.8",374),
("6.6.2",426),
("6.6.6",431),
("6.7.1",459),
("6.7.2",459),
("6.8.3",382),
("6.8.7",393),
("6.9.2",479),
("6.9.5",502),
("6.9.7",502),
("6.9.9",503),
("7.0.3",684),
("7.0.4",684),
("7.1.4",607),
("7.1.7",607),
("7.2.2",605),
("7.3.4",582),
("7.4.3",583),
("7.4.5",583),
("7.6.2",602),
("7.7.2",596),
("7.8.1",615),
("7.9.2",625),
("8.0.0.3",619),
("8.1.0.4",628),
("8.2.2",633),
("8.3.8.0",636),
("8.4.8.0",637),
("8.4.8.2",637),
("8.5.1.6",653),
("8.5.8.0",675),
("8.6.8.0",690),
("8.7.8.0",711),
("8.7.8.1",711),
("8.7.8.2",711),
("8.7.8.6",711),
("8.7.8.9",711),
("8.8.8.0",721),
("8.8.8.1",721),
("8.8.8.6",721),
("8.8.8.9",732),
("8.8.8.13",732),
("8.8.8.15",732),
("8.9.8.0",709),
("8.9.8.5",709),
("9.0.8.0",702),
("9.1.8.0",704),
("9.1.8.3",704),
("9.2.0.1",704),
("9.2.8.0",707),
("9.2.8.5",709),
("9.2.8.7",709),
("9.2.8.8",709),
("9.3.8.0",919),
("9.3.8.2",919),
("9.3.8.5",923),
("9.4.8.0",938),
("9.4.8.3",938),
("9.4.8.4",938),
("9.4.8.6",938),
("9.4.8.11",938),
("9.5.8.0",965),
("9.6.8.0",982),
("9.6.8.1",982),
("9.6.8.2",982),
("9.7.8.0",1006),
("9.7.8.3",1006),
("9.8.8.0",1025),
("9.8.8.3",1030),
("9.8.8.5",1030),
("9.8.8.7",1030),
("9.8.8.13",1030),
("9.9.8.0",1037),
("9.9.8.10",1037),
("9.9.8.12",1038),
("9.9.8.20",1038),
("9.9.8.31",1038),
("9.9.8.32",1038),
("9.9.8.40",1038),
("9.9.8.41",1038),
("9.9.8.42",1038),
("10.0.8.0",848),
("10.0.8.2",848),
("10.0.8.4",1055),
("10.1.8.0",1055),
("10.1.8.1",1055),
("10.2.8.0",1098),
("10.2.8.2",1098),
("10.2.8.5",1098),
("10.2.8.8",1098),
("10.3.8.0",1107),
("10.3.8.1",1107),
("10.3.8.7",1110),
("10.3.8.8",1110),
("10.3.8.10",1110),
("10.3.8.12",1110),
("10.3.8.19",1146),
("10.3.8.30",1146),
("10.3.8.33",1146),
("10.3.8.34",1146),
("10.3.8.41",1146),
("11.0.0.0",1156),
("11.1.8.0",1156),
("11.1.8.1",1156),
("11.1.8.2",1156),
("11.2.8.0",1157),
("11.2.8.1",1157),
("11.2.8.4",1157),
("11.3.8.0",1158),
("11.3.8.1",1158),
("11.3.8.2",1158),
("11.4.8.0",1180),
("11.4.8.6",1180),
("11.4.8.7",1180),
("11.5.8.0",1187),
("11.5.8.3",1188),
("11.6.8.0",1258),
("11.6.8.1",1258),
("11.6.8.2",1258),
("11.7.8.0",1265),
("11.7.8.1",1265),
("11.8.8.0",1276),
("11.8.8.7",1276),
("11.9.8.0",1286),
("11.10.8.0",1289),
("11.10.8.6",1289),
("12.0.2.2",1289),
("12.0.8.0",1289),
("12.0.8.1",1289),
("12.1.8.0",1299),
("12.1.8.1",1299),
("12.1.8.4",1299),
("12.2.8.0",1302),
("12.2.8.1",1562),
("12.2.8.9",1562),
("12.2.8.11",1562),
("12.3.8.0",1576),
("12.3.8.3",1576),
("12.3.8.6",1576),
("12.3.8.10",1576),
("12.3.8.11",1576),
("12.4.8.0",1594),
("12.4.8.2",1594),
("12.4.8.14",1600),
("12.4.8.15",1600),
("12.4.8.24",1604),
("12.5.1.0",1610),
("12.5.6.0",1610),
("12.6.1.0",1616),
("12.6.3.0",1616),
("12.6.6.0",1644),
("12.7.1.0",1644),
("12.7.1.1",1644),
("12.7.6.0",1652),
("12.8.1.0",1665),
("12.8.1.1",1665),
("12.9.1.0",1667),
("12.9.2.0",1667),
("12.9.3.0",1667),
("12.10.1.0",1674),
("12.11.1.0",1670),
("12.12.1.0",1675),
("12.13.1.0",1677),
("12.13.2.0",1677),
("12.14.1.0",1683),
("12.15.1.0",1645),
("12.16.1.0",1646),
("12.17.1.0",1648),
("12.18.1.0",1649),
("12.19.1.0",1644),
("12.20.1.0",1646),
("12.21.1.0",1647),
("12.22.1.0",1665),
("12.23.1.0",1659),
("12.23.5.0",1659),
("12.23.7.0",1661),
("12.24.1.0",1648),
("12.25.1.0",1631),
("12.25.5.0",1633),
("12.26.1.0",1660),
("12.26.3.0",1664),
("12.26.5.0",1666),
("12.27.1.0",1679),
("12.27.1.1",1679),
("12.27.5.0",1679),
("12.28.1.0",1680),
("12.28.1.1",1680),
("12.29.1.1",1676),
("12.29.5.0",1676),
("12.29.7.0",1677),
("12.30.1.0",1803),
("12.31.5.0",1686),
("12.32.1.0",1686),
("12.32.3.0",1686),
("12.32.5.1",1811),
("12.32.5.2",1811),
("12.34.1.0",1697),
("12.34.3.0",1825);

CREATE TABLE fileCount2(ver VARCHAR(12), fileCount INT, PRIMARY KEY (ver, fileCount));
INSERT INTO fileCount2 VALUES
("1.0.0", 0),
("1.0.1", 0),
("1.0.2", 0),
("1.0.3", 0),
("1.0.4", 0),
("1.1.0", 0),
("2.0.0", 0),
("2.0.1", 0),
("2.0.2", 0),
("2.0.3", 0),
("2.1.0", 0),
("2.5.0", 0),
("2.5.1", 0),
("3.0.1", 0),
("3.0.2", 0),
("3.1.0", 0),
("3.2.0", 0),
("3.2.2", 0),
("3.3.0", 0),
("3.3.1", 0),
("3.4.0", 0),
("4.0.0", 0),
("4.1.0", 0),
("4.1.1", 0),
("4.1.2", 0),
("4.2.0", 0),
("4.2.2", 0),
("4.3.0", 0),
("4.3.1", 0),
("4.4.1", 0),
("4.4.2", 0),
("4.5.3", 0),
("5.0.8", 0),
("5.1.1", 0),
("5.1.2", 0),
("5.1.3", 0),
("5.1.5", 0),
("5.2.1", 0),
("5.2.2", 0),
("5.3.1", 0),
("5.4.2", 0),
("5.5.1", 0),
("5.5.2", 0),
("5.6.0", 0),
("5.6.1", 0),
("5.6.2", 0),
("5.6.3", 0),
("6.0.0", 0),
("6.0.1", 0),
("6.1.0", 83),
("6.1.1", 89),
("6.1.2", 89),
("6.1.3", 89),
("6.2.0", 0),
("6.2.1", 144),
("6.2.2", 222),
("6.3.2", 222),
("6.3.3", 222),
("6.4.3", 321),
("6.4.9", 325),
("6.5.2", 373),
("6.5.3", 374),
("6.5.8", 374),
("6.6.2", 426),
("6.6.6", 431),
("6.7.1", 459),
("6.7.2", 459),
("6.8.3", 382),
("6.8.7", 393),
("6.9.2", 479),
("6.9.5", 502),
("6.9.7", 502),
("6.9.9", 503),
("7.0.3", 684),
("7.0.4", 684),
("7.1.4", 607),
("7.1.7", 607),
("7.2.2", 605),
("7.3.4", 582),
("7.4.3", 583),
("7.4.5", 583),
("7.6.2", 602),
("7.7.2", 596),
("7.8.1", 615),
("7.9.2", 625),
("8.0.0.3", 619),
("8.1.0.4", 628),
("8.2.2", 633),
("8.3.8.0", 636),
("8.4.8.0", 637),
("8.4.8.2", 637),
("8.5.1.6", 653),
("8.5.8.0", 675),
("8.6.8.0", 690),
("8.7.8.0", 711),
("8.7.8.1", 711),
("8.7.8.2", 711),
("8.7.8.6", 711),
("8.7.8.9", 711),
("8.8.8.0", 721),
("8.8.8.1", 721),
("8.8.8.6", 721),
("8.8.8.9", 732),
("8.8.8.13", 732),
("8.8.8.15", 732),
("8.9.8.0", 709),
("8.9.8.5", 709),
("9.0.8.0", 702),
("9.1.8.0", 704),
("9.1.8.3", 704),
("9.2.0.1", 704),
("9.2.8.0", 707),
("9.2.8.5", 709),
("9.2.8.7", 709),
("9.2.8.8", 709),
("9.3.8.0", 919),
("9.3.8.2", 919),
("9.3.8.5", 923),
("9.4.8.0", 938),
("9.4.8.3", 938),
("9.4.8.4", 938),
("9.4.8.6", 938),
("9.4.8.11", 938),
("9.5.8.0", 965),
("9.6.8.0", 982),
("9.6.8.1", 982),
("9.6.8.2", 982),
("9.7.8.0", 1006),
("9.7.8.3", 1006),
("9.8.8.0", 1025),
("9.8.8.3", 1030),
("9.8.8.5", 1030),
("9.8.8.7", 1030),
("9.8.8.13", 1030),
("9.9.8.0", 1037),
("9.9.8.10", 1037),
("9.9.8.12", 1038),
("9.9.8.20", 1038),
("9.9.8.31", 1038),
("9.9.8.32", 1038),
("9.9.8.40", 1038),
("9.9.8.41", 1038),
("9.9.8.42", 1038),
("10.0.8.0", 848),
("10.0.8.2", 848),
("10.0.8.4", 1055),
("10.1.8.0", 1055),
("10.1.8.1", 1055),
("10.2.8.0", 1098),
("10.2.8.2", 1098),
("10.2.8.5", 1098),
("10.2.8.8", 1098),
("10.3.8.0", 1107),
("10.3.8.1", 1107),
("10.3.8.7", 1110),
("10.3.8.8", 1110),
("10.3.8.10", 1110),
("10.3.8.12", 1110),
("10.3.8.19", 1146),
("10.3.8.30", 1146),
("10.3.8.33", 1146),
("10.3.8.34", 1146),
("10.3.8.41", 1146),
("11.0.0.0", 1156),
("11.1.8.0", 1156),
("11.1.8.1", 1156),
("11.1.8.2", 1156),
("11.2.8.0", 1157),
("11.2.8.1", 1157),
("11.2.8.4", 1157),
("11.3.8.0", 1158),
("11.3.8.1", 1158),
("11.3.8.2", 1158),
("11.4.8.0", 1180),
("11.4.8.6", 1180),
("11.4.8.7", 1180),
("11.5.8.0", 1187),
("11.5.8.3", 1188),
("11.6.8.0", 1258),
("11.6.8.1", 1258),
("11.6.8.2", 1258),
("11.7.8.0", 1265),
("11.7.8.1", 1265),
("11.8.8.0", 1276),
("11.8.8.7", 1276),
("11.9.8.0", 1286),
("11.10.8.0", 1289),
("11.10.8.6", 1289),
("12.0.2.2", 1289),
("12.0.8.0", 1289),
("12.0.8.1", 1289),
("12.1.8.0", 1299),
("12.1.8.1", 1299),
("12.1.8.4", 1299),
("12.2.8.0", 1302),
("12.2.8.1", 1562),
("12.2.8.9", 1562),
("12.2.8.11", 1562),
("12.3.8.0", 1576),
("12.3.8.3", 1576),
("12.3.8.6", 1576),
("12.3.8.10", 1576),
("12.3.8.11", 1576),
("12.4.8.0", 1594),
("12.4.8.2", 1594),
("12.4.8.14", 1600),
("12.4.8.15", 1600),
("12.4.8.24", 1604),
("12.5.1.0", 1610),
("12.5.6.0", 1610),
("12.6.1.0", 1616),
("12.6.3.0", 1616),
("12.6.6.0", 1644),
("12.7.1.0", 1644),
("12.7.1.1", 1644),
("12.7.6.0", 1652),
("12.8.1.0", 1665),
("12.8.1.1", 1665),
("12.9.1.0", 1667),
("12.9.2.0", 1667),
("12.9.3.0", 1667),
("12.10.1.0", 1674),
("12.11.1.0", 1670),
("12.12.1.0", 1675),
("12.13.1.0", 1677),
("12.13.2.0", 1677),
("12.14.1.0", 1683),
("12.15.1.0", 1645),
("12.16.1.0", 1646),
("12.17.1.0", 1648),
("12.18.1.0", 1649),
("12.19.1.0", 1644),
("12.20.1.0", 1646),
("12.21.1.0", 1647),
("12.22.1.0", 1665),
("12.23.1.0", 1659),
("12.23.5.0", 1659),
("12.23.7.0", 1661),
("12.24.1.0", 1648),
("12.25.1.0", 1631),
("12.25.5.0", 1633),
("12.26.1.0", 1660),
("12.26.3.0", 1664),
("12.26.5.0", 1666),
("12.27.1.0", 1679),
("12.27.1.1", 1679),
("12.27.5.0", 1679),
("12.28.1.0", 1680),
("12.28.1.1", 1680),
("12.29.1.1", 1676),
("12.29.5.0", 1676),
("12.29.7.0", 1677),
("12.30.1.0", 1803),
("12.31.5.0", 1686),
("12.32.1.0", 1686),
("12.32.3.0", 1686),
("12.32.5.1", 1811),
("12.32.5.2", 1811),
("12.34.1.0", 1697),
("12.34.3.0", 1825);
-- https://stackoverflow.com/questions/4796872/how-can-i-do-a-full-outer-join-in-mysql
SELECT * FROM (
  (
    SELECT A.ver AS verA, A.fileCount AS fileCountA,
      B.ver AS verB, B.fileCount AS fileCountB
    FROM fileCount AS A LEFT OUTER JOIN fileCount2 AS B
    ON A.ver = B.ver
    AND A.fileCount = B.fileCount
  ) UNION ALL (
    SELECT A.ver AS verA, A.fileCount AS fileCountA,
      B.ver AS verB, B.fileCount AS fileCountB
    FROM fileCount AS A RIGHT OUTER JOIN fileCount2 AS B
    ON A.ver = B.ver
    AND A.fileCount = B.fileCount
    WHERE A.ver IS NULL
  )
) AS T
WHERE (verA IS NULL OR verB IS NULL) AND fileCountB != 0
n0099 commented 1 year ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1417256065 事实核查:我又被bash坑了,准确地说是7z -l的输出 image 7z -l对于目录而非文件会额外多输出Compressed列的值于是打破了awk '{print $5}'中按空格分割(ssv)输出第5列假定格式,这使得所有目录也都被算进来了 而so人对此pitfall早有预言 https://stackoverflow.com/questions/55355466/7z-list-only-filenames

不过这也意味着您可以算出有多少目录(尽管这同样是基于假定所有目录的Compressed列的值必定是0) image 更安全的方法是: image


ls -1 | sed 's/\.7z//' | xargs -I {} bash -c 'printf "{} "; 7z l {}.7z | grep "{}/src/tbclient/" | awk "{print \$5\$6}" | grep -c "^{}"' | awk '!($2 == 0)' | sort -V > ../fileCount
6.1.0 80
6.1.1 86
6.1.2 86
6.1.3 86
6.2.1 134
6.2.2 202
6.3.2 202
6.3.3 202
6.4.3 289
6.4.9 292
6.5.2 332
6.5.3 333
6.5.8 333
6.6.2 378
6.6.6 382
6.7.1 406
6.7.2 406
6.8.3 342
6.8.7 352
6.9.2 427
6.9.5 447
6.9.7 447
6.9.9 448
7.0.3 611
7.0.4 611
7.1.4 542
7.1.7 542
7.2.2 547
7.3.4 528
7.4.3 529
7.4.5 529
7.6.2 548
7.7.2 544
7.8.1 562
7.9.2 572
8.0.0.3 565
8.1.0.4 574
8.2.2 579
8.3.8.0 582
8.4.8.0 583
8.4.8.2 583
8.5.1.6 596
8.5.8.0 617
8.6.8.0 630
8.7.8.0 649
8.7.8.1 649
8.7.8.2 649
8.7.8.6 649
8.7.8.9 649
8.8.8.0 657
8.8.8.1 657
8.8.8.6 657
8.8.8.9 667
8.8.8.13 667
8.8.8.15 667
8.9.8.0 649
8.9.8.5 649
9.0.8.0 645
9.1.8.0 647
9.1.8.3 647
9.2.0.1 647
9.2.8.0 650
9.2.8.5 652
9.2.8.7 652
9.2.8.8 652
9.3.8.0 829
9.3.8.2 829
9.3.8.5 833
9.4.8.0 846
9.4.8.3 846
9.4.8.4 846
9.4.8.6 846
9.4.8.11 846
9.5.8.0 870
9.6.8.0 885
9.6.8.1 885
9.6.8.2 885
9.7.8.0 905
9.7.8.3 905
9.8.8.0 921
9.8.8.3 925
9.8.8.5 925
9.8.8.7 925
9.8.8.13 925
9.9.8.0 931
9.9.8.10 931
9.9.8.12 932
9.9.8.20 932
9.9.8.31 932
9.9.8.32 932
9.9.8.40 932
9.9.8.41 932
9.9.8.42 932
10.0.8.0 775
10.0.8.2 775
10.0.8.4 949
10.1.8.0 949
10.1.8.1 949
10.2.8.0 986
10.2.8.2 986
10.2.8.5 986
10.2.8.8 986
10.3.8.0 994
10.3.8.1 994
10.3.8.7 997
10.3.8.8 997
10.3.8.10 997
10.3.8.12 997
10.3.8.19 1027
10.3.8.30 1027
10.3.8.33 1027
10.3.8.34 1027
10.3.8.41 1027
11.0.0.0 1036
11.1.8.0 1036
11.1.8.1 1036
11.1.8.2 1036
11.2.8.0 1037
11.2.8.1 1037
11.2.8.4 1037
11.3.8.0 1038
11.3.8.1 1038
11.3.8.2 1038
11.4.8.0 1057
11.4.8.6 1057
11.4.8.7 1057
11.5.8.0 1063
11.5.8.3 1064
11.6.8.0 1128
11.6.8.1 1128
11.6.8.2 1128
11.7.8.0 1134
11.7.8.1 1134
11.8.8.0 1143
11.8.8.7 1143
11.9.8.0 1152
11.10.8.0 1155
11.10.8.6 1155
12.0.2.2 1155
12.0.8.0 1155
12.0.8.1 1155
12.1.8.0 1164
12.1.8.1 1164
12.1.8.4 1164
12.2.8.0 1167
12.2.8.1 1387
12.2.8.9 1387
12.2.8.11 1387
12.3.8.0 1399
12.3.8.3 1399
12.3.8.6 1399
12.3.8.10 1399
12.3.8.11 1399
12.4.8.0 1414
12.4.8.2 1414
12.4.8.14 1419
12.4.8.15 1419
12.4.8.24 1423
12.5.1.0 1428
12.5.6.0 1428
12.6.1.0 1433
12.6.3.0 1433
12.6.6.0 1458
12.7.1.0 1458
12.7.1.1 1458
12.7.6.0 1465
12.8.1.0 1476
12.8.1.1 1476
12.9.1.0 1478
12.9.2.0 1478
12.9.3.0 1478
12.10.1.0 1484
12.11.1.0 1481
12.12.1.0 1485
12.13.1.0 1487
12.13.2.0 1487
12.14.1.0 1492
12.15.1.0 1424
12.16.1.0 1425
12.17.1.0 1427
12.18.1.0 1428
12.19.1.0 1424
12.20.1.0 1426
12.21.1.0 1427
12.22.1.0 1443
12.23.1.0 1438
12.23.5.0 1438
12.23.7.0 1440
12.24.1.0 1428
12.25.1.0 1413
12.25.5.0 1414
12.26.1.0 1439
12.26.3.0 1442
12.26.5.0 1444
12.27.1.0 1457
12.27.1.1 1457
12.27.5.0 1457
12.28.1.0 1458
12.28.1.1 1458
12.29.1.1 1454
12.29.5.0 1454
12.29.7.0 1455
12.30.1.0 1547
12.31.5.0 1464
12.32.1.0 1464
12.32.3.0 1464
12.32.5.1 1555
12.32.5.2 1555
12.34.1.0 1474
12.34.3.0 1568
ls -1 | sed 's/\.7z//' | xargs -I {} bash -c 'printf "{} "; 7z l {}.7z | grep "{}/src/tbclient/" | awk "{print \$5\$6}" | grep -c -v "^{}"' | awk '!($2 == 0)' | sort -V > ../dirCount
6.1.0 2
6.1.1 2
6.1.2 2
6.1.3 2
6.2.1 9
6.2.2 19
6.3.2 19
6.3.3 19
6.4.3 31
6.4.9 32
6.5.2 40
6.5.3 40
6.5.8 40
6.6.2 47
6.6.6 48
6.7.1 52
6.7.2 52
6.8.3 39
6.8.7 40
6.9.2 51
6.9.5 54
6.9.7 54
6.9.9 54
7.0.3 72
7.0.4 72
7.1.4 64
7.1.7 64
7.2.2 57
7.3.4 53
7.4.3 53
7.4.5 53
7.6.2 53
7.7.2 51
7.8.1 52
7.9.2 52
8.0.0.3 53
8.1.0.4 53
8.2.2 53
8.3.8.0 53
8.4.8.0 53
8.4.8.2 53
8.5.1.6 56
8.5.8.0 57
8.6.8.0 59
8.7.8.0 61
8.7.8.1 61
8.7.8.2 61
8.7.8.6 61
8.7.8.9 61
8.8.8.0 63
8.8.8.1 63
8.8.8.6 63
8.8.8.9 64
8.8.8.13 64
8.8.8.15 64
8.9.8.0 59
8.9.8.5 59
9.0.8.0 56
9.1.8.0 56
9.1.8.3 56
9.2.0.1 56
9.2.8.0 56
9.2.8.5 56
9.2.8.7 56
9.2.8.8 56
9.3.8.0 89
9.3.8.2 89
9.3.8.5 89
9.4.8.0 91
9.4.8.3 91
9.4.8.4 91
9.4.8.6 91
9.4.8.11 91
9.5.8.0 94
9.6.8.0 96
9.6.8.1 96
9.6.8.2 96
9.7.8.0 100
9.7.8.3 100
9.8.8.0 103
9.8.8.3 104
9.8.8.5 104
9.8.8.7 104
9.8.8.13 104
9.9.8.0 105
9.9.8.10 105
9.9.8.12 105
9.9.8.20 105
9.9.8.31 105
9.9.8.32 105
9.9.8.40 105
9.9.8.41 105
9.9.8.42 105
10.0.8.0 72
10.0.8.2 72
10.0.8.4 105
10.1.8.0 105
10.1.8.1 105
10.2.8.0 111
10.2.8.2 111
10.2.8.5 111
10.2.8.8 111
10.3.8.0 112
10.3.8.1 112
10.3.8.7 112
10.3.8.8 112
10.3.8.10 112
10.3.8.12 112
10.3.8.19 118
10.3.8.30 118
10.3.8.33 118
10.3.8.34 118
10.3.8.41 118
11.0.0.0 119
11.1.8.0 119
11.1.8.1 119
11.1.8.2 119
11.2.8.0 119
11.2.8.1 119
11.2.8.4 119
11.3.8.0 119
11.3.8.1 119
11.3.8.2 119
11.4.8.0 122
11.4.8.6 122
11.4.8.7 122
11.5.8.0 123
11.5.8.3 123
11.6.8.0 129
11.6.8.1 129
11.6.8.2 129
11.7.8.0 130
11.7.8.1 130
11.8.8.0 132
11.8.8.7 132
11.9.8.0 133
11.10.8.0 133
11.10.8.6 133
12.0.2.2 133
12.0.8.0 133
12.0.8.1 133
12.1.8.0 134
12.1.8.1 134
12.1.8.4 134
12.2.8.0 134
12.2.8.1 174
12.2.8.9 174
12.2.8.11 174
12.3.8.0 176
12.3.8.3 176
12.3.8.6 176
12.3.8.10 176
12.3.8.11 176
12.4.8.0 179
12.4.8.2 179
12.4.8.14 180
12.4.8.15 180
12.4.8.24 180
12.5.1.0 181
12.5.6.0 181
12.6.1.0 182
12.6.3.0 182
12.6.6.0 185
12.7.1.0 185
12.7.1.1 185
12.7.6.0 186
12.8.1.0 188
12.8.1.1 188
12.9.1.0 188
12.9.2.0 188
12.9.3.0 188
12.10.1.0 189
12.11.1.0 188
12.12.1.0 189
12.13.1.0 189
12.13.2.0 189
12.14.1.0 190
12.15.1.0 220
12.16.1.0 220
12.17.1.0 220
12.18.1.0 220
12.19.1.0 219
12.20.1.0 219
12.21.1.0 219
12.22.1.0 221
12.23.1.0 220
12.23.5.0 220
12.23.7.0 220
12.24.1.0 219
12.25.1.0 217
12.25.5.0 218
12.26.1.0 220
12.26.3.0 221
12.26.5.0 221
12.27.1.0 221
12.27.1.1 221
12.27.5.0 221
12.28.1.0 221
12.28.1.1 221
12.29.1.1 221
12.29.5.0 221
12.29.7.0 221
12.30.1.0 255
12.31.5.0 221
12.32.1.0 221
12.32.3.0 221
12.32.5.1 255
12.32.5.2 255
12.34.1.0 222
12.34.3.0 256

另外 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1417256065 中我复制粘贴了一大堆sql来实现基于FULL OUTER JOINhttps://en.wikipedia.org/wiki/Symmetric_difference 实际上毫无意义,直接gnu diff/vimdiff/vscode compare/基于ast的diff就行了,除非有十万甚至九万行不然根本不需要上sql image 只能说

然而 #2 (comment) 早已道明

四叶头子CS硕士PLT理论中级高手仏皇irol阁下对此早有预言当您手里只有锤子时看什么都像钉子

n0099 commented 1 year ago

来丶emoji恶魔鸡SQL结构化查询语言

https://www.db-fiddle.com/f/ptch23xj3nFnxuG548nei6/6

CREATE TABLE mtime(ver VARCHAR(12), mtime DATETIME, PRIMARY KEY (ver, mtime));
INSERT INTO mtime VALUES
("1.0.0","2011-11-02T15:06:50"),
("1.0.1","2012-01-10T14:20:58"),
("1.0.2","2012-03-23T11:22:12"),
("1.0.3","2012-04-26T18:24:50"),
("1.0.4","2012-07-02T16:52:20"),
("1.1.0","2012-09-10T11:57:48"),
("2.0.0","2012-09-28T20:00:36"),
("2.0.1","2012-09-29T15:27:18"),
("2.0.2","2012-10-08T16:35:54"),
("2.0.3","2012-10-12T18:43:18"),
("2.1.0","2012-10-26T14:47:24"),
("2.5.0","2012-11-07T18:57:44"),
("2.5.1","2012-11-08T11:59:22"),
("3.0.1","2012-12-05T18:57:14"),
("3.0.2","2012-12-14T16:00:38"),
("3.1.0","2012-12-27T12:33:22"),
("3.2.0","2013-01-31T15:45:10"),
("3.2.2","2013-02-04T21:26:16"),
("3.3.0","2013-03-05T14:42:34"),
("3.3.1","2013-03-06T21:09:06"),
("3.4.0","2013-04-02T17:46:12"),
("4.0.0","2013-05-19T21:34:14"),
("4.1.0","2013-06-08T20:03:06"),
("4.1.1","2013-06-08T20:03:06"),
("4.1.2","2013-06-19T19:48:58"),
("4.2.0","2013-07-01T16:51:18"),
("4.2.2","2013-07-02T15:44:22"),
("4.3.0","2013-08-05T17:18:48"),
("4.3.1","2013-08-07T20:52:22"),
("4.4.1","2013-08-23T15:30:42"),
("4.4.2","2013-08-29T15:34:42"),
("4.5.3","2013-09-24T18:45:04"),
("5.0.8","2013-11-05T19:54:16"),
("5.1.1","2013-11-13T21:15:10"),
("5.1.2","2013-11-21T13:20:22"),
("5.1.3","2013-11-22T16:48:58"),
("5.1.5","2013-11-26T14:14:02"),
("5.2.1","2013-12-05T15:23:00"),
("5.2.2","2013-12-09T22:21:30"),
("5.3.1","2013-12-24T11:10:04"),
("5.4.2","2014-01-06T16:13:12"),
("5.5.1","2014-01-22T13:41:22"),
("5.5.2","2014-01-23T14:12:34"),
("5.6.0","2014-02-25T20:37:58"),
("5.6.1","2014-02-27T22:09:52"),
("5.6.2","2014-03-04T21:39:58"),
("5.6.3","2014-03-31T22:46:56"),
("6.0.0","2014-04-09T15:59:26"),
("6.0.1","2014-04-17T16:25:18"),
("6.1.0","2014-05-19T17:36:06"),
("6.1.1","2014-05-24T16:07:02"),
("6.1.2","2014-05-29T15:42:14"),
("6.1.3","2014-06-20T13:46:28"),
("6.2.0","2013-07-02T23:54:42"),
("6.2.1","2014-07-10T12:14:48"),
("6.2.2","2014-08-15T16:01:16"),
("6.3.2","2014-08-21T13:25:06"),
("6.3.3","2014-08-24T15:21:46"),
("6.4.3","2014-10-27T18:18:26"),
("6.4.9","2014-11-03T11:32:48"),
("6.5.2","2014-12-12T11:15:02"),
("6.5.3","2015-01-30T18:21:42"),
("6.5.8","2015-02-05T12:46:30"),
("6.6.2","2015-03-20T11:43:32"),
("6.6.6","2015-04-09T11:48:36"),
("6.7.1","2015-05-29T16:09:04"),
("6.7.2","2015-06-09T11:22:32"),
("6.8.3","2015-08-17T14:08:58"),
("6.8.7","2015-09-08T10:46:00"),
("6.9.2","2015-09-29T10:01:46"),
("6.9.5","2015-10-16T18:35:02"),
("6.9.7","2015-10-30T16:17:12"),
("6.9.9","2015-11-09T21:13:18"),
("7.0.3","2015-12-03T18:15:54"),
("7.0.4","2015-12-04T12:38:10"),
("7.1.4","2015-12-30T14:45:50"),
("7.1.7","2016-01-20T17:20:30"),
("7.2.2","2016-01-29T11:14:08"),
("7.3.4","2016-03-31T14:00:06"),
("7.4.3","2016-05-11T16:48:28"),
("7.4.5","2016-05-13T20:37:52"),
("7.6.2","2016-06-30T16:53:22"),
("7.7.2","2016-07-28T14:32:20"),
("7.8.1","2016-09-01T10:32:12"),
("7.9.2","2016-09-28T20:52:16"),
("8.0.0.3","2016-11-30T17:59:48"),
("8.1.0.4","2016-12-29T17:36:28"),
("8.2.2","2017-01-20T16:30:00"),
("8.3.8.0","2017-03-07T17:36:26"),
("8.4.8.0","2017-04-14T14:19:18"),
("8.4.8.2","2017-04-21T15:18:22"),
("8.5.1.6","2017-05-19T16:02:24"),
("8.5.8.0","2017-05-31T18:16:08"),
("8.6.8.0","2017-06-30T18:03:46"),
("8.7.8.0","2017-07-31T17:54:06"),
("8.7.8.1","2017-08-02T23:55:42"),
("8.7.8.2","2017-08-03T21:13:12"),
("8.7.8.6","2017-08-15T17:26:04"),
("8.7.8.9","2017-08-24T14:29:22"),
("8.8.8.0","2017-08-31T15:17:10"),
("8.8.8.1","2017-09-04T17:54:06"),
("8.8.8.6","2017-09-18T19:49:16"),
("8.8.8.9","2017-09-28T18:37:30"),
("8.8.8.13","2017-10-12T20:21:18"),
("8.8.8.15","2017-10-23T15:09:06"),
("8.9.8.0","2017-10-31T22:05:32"),
("8.9.8.5","2017-11-15T17:34:12"),
("9.0.8.0","2017-11-30T12:14:26"),
("9.1.8.0","2017-12-15T01:37:28"),
("9.1.8.3","2017-12-20T15:45:42"),
("9.2.0.1","2017-12-21T20:40:10"),
("9.2.8.0","2017-12-27T23:28:54"),
("9.2.8.5","2018-01-18T22:03:12"),
("9.2.8.7","2018-01-31T20:07:30"),
("9.2.8.8","2018-02-02T16:09:42"),
("9.3.8.0","2018-02-06T15:08:18"),
("9.3.8.2","2018-02-27T20:38:04"),
("9.3.8.5","2018-03-27T19:33:44"),
("9.4.8.0","2018-04-12T22:10:10"),
("9.4.8.3","2018-04-19T15:58:02"),
("9.4.8.4","2018-04-20T15:02:44"),
("9.4.8.6","2018-05-03T19:47:12"),
("9.4.8.11","2018-05-18T16:09:42"),
("9.5.8.0","2018-06-08T12:47:20"),
("9.6.8.0","2018-06-27T21:36:22"),
("9.6.8.1","2018-07-03T16:39:06"),
("9.6.8.2","2018-07-13T16:50:26"),
("9.7.8.0","2018-07-30T23:52:12"),
("9.7.8.3","2018-09-03T15:44:30"),
("9.8.8.0","2018-09-26T18:08:48"),
("9.8.8.3","2018-10-16T17:29:32"),
("9.8.8.5","2018-10-22T19:55:30"),
("9.8.8.7","2018-10-25T20:40:16"),
("9.8.8.13","2018-11-12T17:46:02"),
("9.9.8.0","2018-12-05T22:12:08"),
("9.9.8.10","2018-12-18T15:35:04"),
("9.9.8.12","2018-12-27T18:08:34"),
("9.9.8.20","2019-01-02T18:55:12"),
("9.9.8.31","2019-01-17T01:53:48"),
("9.9.8.32","2019-01-21T23:31:12"),
("9.9.8.40","2019-01-27T15:45:10"),
("9.9.8.41","2019-02-17T13:27:12"),
("9.9.8.42","2019-02-21T21:39:08"),
("10.0.8.0","2019-03-08T02:31:44"),
("10.0.8.2","2019-03-10T13:47:56"),
("10.0.8.4","2019-03-14T21:48:52"),
("10.1.8.0","2019-04-07T23:39:52"),
("10.1.8.1","2019-04-09T14:14:46"),
("10.2.8.0","2019-05-16T21:41:28"),
("10.2.8.2","2019-05-28T20:28:56"),
("10.2.8.5","2019-06-03T11:59:52"),
("10.2.8.8","2019-06-20T20:02:10"),
("10.3.8.0","2019-07-22T19:30:10"),
("10.3.8.1","2019-07-28T12:27:58"),
("10.3.8.7","2019-08-06T20:11:58"),
("10.3.8.8","2019-08-12T20:03:18"),
("10.3.8.10","2019-08-22T21:48:44"),
("10.3.8.12","2019-09-20T10:54:32"),
("10.3.8.19","2019-10-29T21:54:04"),
("10.3.8.30","2019-11-20T21:23:32"),
("10.3.8.33","2019-11-28T20:58:16"),
("10.3.8.34","2019-12-01T23:15:58"),
("10.3.8.41","2019-12-09T11:30:24"),
("11.0.0.0","2019-12-25T10:42:26"),
("11.1.8.0","2020-01-13T10:52:32"),
("11.1.8.1","2020-01-14T22:43:52"),
("11.1.8.2","2020-02-09T21:22:26"),
("11.2.8.0","2020-02-27T23:00:12"),
("11.2.8.1","2020-03-02T19:18:32"),
("11.2.8.4","2020-03-13T13:20:42"),
("11.3.8.0","2020-03-18T10:18:22"),
("11.3.8.1","2020-03-19T12:16:48"),
("11.3.8.2","2020-03-25T10:43:46"),
("11.4.8.0","2020-04-17T15:15:06"),
("11.4.8.6","2020-05-08T11:05:54"),
("11.4.8.7","2020-05-12T09:12:52"),
("11.5.8.0","2020-05-22T10:28:30"),
("11.5.8.3","2020-06-04T11:19:08"),
("11.6.8.0","2020-07-03T09:50:52"),
("11.6.8.1","2020-07-06T21:34:12"),
("11.6.8.2","2020-07-13T15:05:22"),
("11.7.8.0","2020-07-31T12:16:28"),
("11.7.8.1","2020-08-04T08:59:06"),
("11.8.8.0","2020-08-25T12:44:54"),
("11.8.8.7","2020-09-04T15:04:28"),
("11.9.8.0","2020-09-21T14:07:28"),
("11.10.8.0","2020-10-19T11:37:24"),
("11.10.8.6","2020-10-27T11:00:02"),
("12.0.2.2","2020-11-11T10:43:16"),
("12.0.8.0","2020-11-16T10:54:34"),
("12.0.8.1","2020-11-19T16:08:42"),
("12.1.8.0","2020-12-07T10:30:40"),
("12.1.8.1","2020-12-08T10:31:40"),
("12.1.8.4","2020-12-15T10:29:04"),
("12.2.8.0","2021-01-04T21:09:24"),
("12.2.8.1","2021-01-07T09:53:08"),
("12.2.8.9","2021-01-12T20:23:40"),
("12.2.8.11","2021-01-19T10:31:12"),
("12.3.8.0","2021-02-01T14:55:20"),
("12.3.8.3","2021-02-04T17:08:56"),
("12.3.8.6","2021-02-21T23:32:44"),
("12.3.8.10","2021-03-08T10:43:44"),
("12.3.8.11","2021-03-09T10:14:40"),
("12.4.8.0","2021-03-25T00:57:42"),
("12.4.8.2","2021-03-29T22:08:30"),
("12.4.8.14","2021-04-20T11:22:04"),
("12.4.8.15","2021-04-22T00:16:14"),
("12.4.8.24","2021-04-26T23:59:58"),
("12.5.1.0","2021-05-18T12:40:10"),
("12.5.6.0","2021-05-25T10:52:00"),
("12.6.1.0","2021-06-11T10:31:40"),
("12.6.3.0","2021-06-22T10:18:12"),
("12.6.6.0","2021-07-05T11:10:02"),
("12.7.1.0","2021-07-08T12:03:58"),
("12.7.1.1","2021-07-09T02:47:54"),
("12.7.6.0","2021-07-26T09:01:26"),
("12.8.1.0","2021-08-11T11:00:48"),
("12.8.1.1","2021-08-11T16:10:54"),
("12.9.1.0","2021-08-25T22:19:46"),
("12.9.2.0","2021-08-30T20:20:40"),
("12.9.3.0","2021-09-01T00:15:10"),
("12.10.1.0","2021-09-10T10:11:22"),
("12.11.1.0","2021-09-24T07:34:26"),
("12.12.1.0","2021-10-19T21:56:04"),
("12.13.1.0","2021-11-02T21:43:14"),
("12.13.2.0","2021-11-10T00:44:54"),
("12.14.1.0","2021-11-22T12:47:24"),
("12.15.1.0","2021-12-01T10:26:24"),
("12.16.1.0","2021-12-16T15:29:46"),
("12.17.1.0","2021-12-29T11:45:48"),
("12.18.1.0","2022-01-14T15:35:46"),
("12.19.1.0","2022-01-24T12:00:54"),
("12.20.1.0","2022-02-22T23:27:40"),
("12.21.1.0","2022-03-08T10:33:50"),
("12.22.1.0","2022-03-23T00:35:44"),
("12.23.1.0","2022-04-07T10:47:12"),
("12.23.5.0","2022-04-18T23:06:52"),
("12.23.7.0","2022-05-04T23:44:00"),
("12.24.1.0","2022-05-13T16:55:56"),
("12.25.1.0","2022-05-31T10:16:06"),
("12.25.5.0","2022-06-20T12:20:54"),
("12.26.1.0","2022-07-15T14:15:34"),
("12.26.3.0","2022-07-22T11:24:12"),
("12.26.5.0","2022-07-25T17:45:04"),
("12.27.1.0","2022-08-10T00:31:06"),
("12.27.1.1","2022-08-11T22:59:50"),
("12.27.5.0","2022-08-18T00:30:58"),
("12.28.1.0","2022-08-30T23:10:24"),
("12.28.1.1","2022-09-01T02:43:12"),
("12.29.1.1","2022-09-15T00:41:50"),
("12.29.5.0","2022-09-27T10:27:24"),
("12.29.7.0","2022-10-10T12:26:50"),
("12.30.1.0","2022-10-26T10:52:58"),
("12.31.5.0","2022-11-03T01:20:20"),
("12.32.1.0","2022-11-14T23:13:22"),
("12.32.3.0","2022-11-17T16:12:34"),
("12.32.5.1","2022-11-23T15:36:14"),
("12.32.5.2","2022-12-01T17:06:52"),
("12.34.1.0","2022-12-16T11:13:32"),
("12.34.3.0","2022-12-27T15:32:10");

CREATE TABLE fileCount(ver VARCHAR(12), fileCount INT, PRIMARY KEY (ver, fileCount));
INSERT INTO fileCount VALUES
("6.1.0", 80),
("6.1.1", 86),
("6.1.2", 86),
("6.1.3", 86),
("6.2.1", 134),
("6.2.2", 202),
("6.3.2", 202),
("6.3.3", 202),
("6.4.3", 289),
("6.4.9", 292),
("6.5.2", 332),
("6.5.3", 333),
("6.5.8", 333),
("6.6.2", 378),
("6.6.6", 382),
("6.7.1", 406),
("6.7.2", 406),
("6.8.3", 342),
("6.8.7", 352),
("6.9.2", 427),
("6.9.5", 447),
("6.9.7", 447),
("6.9.9", 448),
("7.0.3", 611),
("7.0.4", 611),
("7.1.4", 542),
("7.1.7", 542),
("7.2.2", 547),
("7.3.4", 528),
("7.4.3", 529),
("7.4.5", 529),
("7.6.2", 548),
("7.7.2", 544),
("7.8.1", 562),
("7.9.2", 572),
("8.0.0.3", 565),
("8.1.0.4", 574),
("8.2.2", 579),
("8.3.8.0", 582),
("8.4.8.0", 583),
("8.4.8.2", 583),
("8.5.1.6", 596),
("8.5.8.0", 617),
("8.6.8.0", 630),
("8.7.8.0", 649),
("8.7.8.1", 649),
("8.7.8.2", 649),
("8.7.8.6", 649),
("8.7.8.9", 649),
("8.8.8.0", 657),
("8.8.8.1", 657),
("8.8.8.6", 657),
("8.8.8.9", 667),
("8.8.8.13", 667),
("8.8.8.15", 667),
("8.9.8.0", 649),
("8.9.8.5", 649),
("9.0.8.0", 645),
("9.1.8.0", 647),
("9.1.8.3", 647),
("9.2.0.1", 647),
("9.2.8.0", 650),
("9.2.8.5", 652),
("9.2.8.7", 652),
("9.2.8.8", 652),
("9.3.8.0", 829),
("9.3.8.2", 829),
("9.3.8.5", 833),
("9.4.8.0", 846),
("9.4.8.3", 846),
("9.4.8.4", 846),
("9.4.8.6", 846),
("9.4.8.11", 846),
("9.5.8.0", 870),
("9.6.8.0", 885),
("9.6.8.1", 885),
("9.6.8.2", 885),
("9.7.8.0", 905),
("9.7.8.3", 905),
("9.8.8.0", 921),
("9.8.8.3", 925),
("9.8.8.5", 925),
("9.8.8.7", 925),
("9.8.8.13", 925),
("9.9.8.0", 931),
("9.9.8.10", 931),
("9.9.8.12", 932),
("9.9.8.20", 932),
("9.9.8.31", 932),
("9.9.8.32", 932),
("9.9.8.40", 932),
("9.9.8.41", 932),
("9.9.8.42", 932),
("10.0.8.0", 775),
("10.0.8.2", 775),
("10.0.8.4", 949),
("10.1.8.0", 949),
("10.1.8.1", 949),
("10.2.8.0", 986),
("10.2.8.2", 986),
("10.2.8.5", 986),
("10.2.8.8", 986),
("10.3.8.0", 994),
("10.3.8.1", 994),
("10.3.8.7", 997),
("10.3.8.8", 997),
("10.3.8.10", 997),
("10.3.8.12", 997),
("10.3.8.19", 1027),
("10.3.8.30", 1027),
("10.3.8.33", 1027),
("10.3.8.34", 1027),
("10.3.8.41", 1027),
("11.0.0.0", 1036),
("11.1.8.0", 1036),
("11.1.8.1", 1036),
("11.1.8.2", 1036),
("11.2.8.0", 1037),
("11.2.8.1", 1037),
("11.2.8.4", 1037),
("11.3.8.0", 1038),
("11.3.8.1", 1038),
("11.3.8.2", 1038),
("11.4.8.0", 1057),
("11.4.8.6", 1057),
("11.4.8.7", 1057),
("11.5.8.0", 1063),
("11.5.8.3", 1064),
("11.6.8.0", 1128),
("11.6.8.1", 1128),
("11.6.8.2", 1128),
("11.7.8.0", 1134),
("11.7.8.1", 1134),
("11.8.8.0", 1143),
("11.8.8.7", 1143),
("11.9.8.0", 1152),
("11.10.8.0", 1155),
("11.10.8.6", 1155),
("12.0.2.2", 1155),
("12.0.8.0", 1155),
("12.0.8.1", 1155),
("12.1.8.0", 1164),
("12.1.8.1", 1164),
("12.1.8.4", 1164),
("12.2.8.0", 1167),
("12.2.8.1", 1387),
("12.2.8.9", 1387),
("12.2.8.11", 1387),
("12.3.8.0", 1399),
("12.3.8.3", 1399),
("12.3.8.6", 1399),
("12.3.8.10", 1399),
("12.3.8.11", 1399),
("12.4.8.0", 1414),
("12.4.8.2", 1414),
("12.4.8.14", 1419),
("12.4.8.15", 1419),
("12.4.8.24", 1423),
("12.5.1.0", 1428),
("12.5.6.0", 1428),
("12.6.1.0", 1433),
("12.6.3.0", 1433),
("12.6.6.0", 1458),
("12.7.1.0", 1458),
("12.7.1.1", 1458),
("12.7.6.0", 1465),
("12.8.1.0", 1476),
("12.8.1.1", 1476),
("12.9.1.0", 1478),
("12.9.2.0", 1478),
("12.9.3.0", 1478),
("12.10.1.0", 1484),
("12.11.1.0", 1481),
("12.12.1.0", 1485),
("12.13.1.0", 1487),
("12.13.2.0", 1487),
("12.14.1.0", 1492),
("12.15.1.0", 1424),
("12.16.1.0", 1425),
("12.17.1.0", 1427),
("12.18.1.0", 1428),
("12.19.1.0", 1424),
("12.20.1.0", 1426),
("12.21.1.0", 1427),
("12.22.1.0", 1443),
("12.23.1.0", 1438),
("12.23.5.0", 1438),
("12.23.7.0", 1440),
("12.24.1.0", 1428),
("12.25.1.0", 1413),
("12.25.5.0", 1414),
("12.26.1.0", 1439),
("12.26.3.0", 1442),
("12.26.5.0", 1444),
("12.27.1.0", 1457),
("12.27.1.1", 1457),
("12.27.5.0", 1457),
("12.28.1.0", 1458),
("12.28.1.1", 1458),
("12.29.1.1", 1454),
("12.29.5.0", 1454),
("12.29.7.0", 1455),
("12.30.1.0", 1547),
("12.31.5.0", 1464),
("12.32.1.0", 1464),
("12.32.3.0", 1464),
("12.32.5.1", 1555),
("12.32.5.2", 1555),
("12.34.1.0", 1474),
("12.34.3.0", 1568);

CREATE TABLE dirCount(ver VARCHAR(12), dirCount INT, PRIMARY KEY (ver, dirCount));
INSERT INTO dirCount VALUES
("6.1.0", 2),
("6.1.1", 2),
("6.1.2", 2),
("6.1.3", 2),
("6.2.1", 9),
("6.2.2", 19),
("6.3.2", 19),
("6.3.3", 19),
("6.4.3", 31),
("6.4.9", 32),
("6.5.2", 40),
("6.5.3", 40),
("6.5.8", 40),
("6.6.2", 47),
("6.6.6", 48),
("6.7.1", 52),
("6.7.2", 52),
("6.8.3", 39),
("6.8.7", 40),
("6.9.2", 51),
("6.9.5", 54),
("6.9.7", 54),
("6.9.9", 54),
("7.0.3", 72),
("7.0.4", 72),
("7.1.4", 64),
("7.1.7", 64),
("7.2.2", 57),
("7.3.4", 53),
("7.4.3", 53),
("7.4.5", 53),
("7.6.2", 53),
("7.7.2", 51),
("7.8.1", 52),
("7.9.2", 52),
("8.0.0.3", 53),
("8.1.0.4", 53),
("8.2.2", 53),
("8.3.8.0", 53),
("8.4.8.0", 53),
("8.4.8.2", 53),
("8.5.1.6", 56),
("8.5.8.0", 57),
("8.6.8.0", 59),
("8.7.8.0", 61),
("8.7.8.1", 61),
("8.7.8.2", 61),
("8.7.8.6", 61),
("8.7.8.9", 61),
("8.8.8.0", 63),
("8.8.8.1", 63),
("8.8.8.6", 63),
("8.8.8.9", 64),
("8.8.8.13", 64),
("8.8.8.15", 64),
("8.9.8.0", 59),
("8.9.8.5", 59),
("9.0.8.0", 56),
("9.1.8.0", 56),
("9.1.8.3", 56),
("9.2.0.1", 56),
("9.2.8.0", 56),
("9.2.8.5", 56),
("9.2.8.7", 56),
("9.2.8.8", 56),
("9.3.8.0", 89),
("9.3.8.2", 89),
("9.3.8.5", 89),
("9.4.8.0", 91),
("9.4.8.3", 91),
("9.4.8.4", 91),
("9.4.8.6", 91),
("9.4.8.11", 91),
("9.5.8.0", 94),
("9.6.8.0", 96),
("9.6.8.1", 96),
("9.6.8.2", 96),
("9.7.8.0", 100),
("9.7.8.3", 100),
("9.8.8.0", 103),
("9.8.8.3", 104),
("9.8.8.5", 104),
("9.8.8.7", 104),
("9.8.8.13", 104),
("9.9.8.0", 105),
("9.9.8.10", 105),
("9.9.8.12", 105),
("9.9.8.20", 105),
("9.9.8.31", 105),
("9.9.8.32", 105),
("9.9.8.40", 105),
("9.9.8.41", 105),
("9.9.8.42", 105),
("10.0.8.0", 72),
("10.0.8.2", 72),
("10.0.8.4", 105),
("10.1.8.0", 105),
("10.1.8.1", 105),
("10.2.8.0", 111),
("10.2.8.2", 111),
("10.2.8.5", 111),
("10.2.8.8", 111),
("10.3.8.0", 112),
("10.3.8.1", 112),
("10.3.8.7", 112),
("10.3.8.8", 112),
("10.3.8.10", 112),
("10.3.8.12", 112),
("10.3.8.19", 118),
("10.3.8.30", 118),
("10.3.8.33", 118),
("10.3.8.34", 118),
("10.3.8.41", 118),
("11.0.0.0", 119),
("11.1.8.0", 119),
("11.1.8.1", 119),
("11.1.8.2", 119),
("11.2.8.0", 119),
("11.2.8.1", 119),
("11.2.8.4", 119),
("11.3.8.0", 119),
("11.3.8.1", 119),
("11.3.8.2", 119),
("11.4.8.0", 122),
("11.4.8.6", 122),
("11.4.8.7", 122),
("11.5.8.0", 123),
("11.5.8.3", 123),
("11.6.8.0", 129),
("11.6.8.1", 129),
("11.6.8.2", 129),
("11.7.8.0", 130),
("11.7.8.1", 130),
("11.8.8.0", 132),
("11.8.8.7", 132),
("11.9.8.0", 133),
("11.10.8.0", 133),
("11.10.8.6", 133),
("12.0.2.2", 133),
("12.0.8.0", 133),
("12.0.8.1", 133),
("12.1.8.0", 134),
("12.1.8.1", 134),
("12.1.8.4", 134),
("12.2.8.0", 134),
("12.2.8.1", 174),
("12.2.8.9", 174),
("12.2.8.11", 174),
("12.3.8.0", 176),
("12.3.8.3", 176),
("12.3.8.6", 176),
("12.3.8.10", 176),
("12.3.8.11", 176),
("12.4.8.0", 179),
("12.4.8.2", 179),
("12.4.8.14", 180),
("12.4.8.15", 180),
("12.4.8.24", 180),
("12.5.1.0", 181),
("12.5.6.0", 181),
("12.6.1.0", 182),
("12.6.3.0", 182),
("12.6.6.0", 185),
("12.7.1.0", 185),
("12.7.1.1", 185),
("12.7.6.0", 186),
("12.8.1.0", 188),
("12.8.1.1", 188),
("12.9.1.0", 188),
("12.9.2.0", 188),
("12.9.3.0", 188),
("12.10.1.0", 189),
("12.11.1.0", 188),
("12.12.1.0", 189),
("12.13.1.0", 189),
("12.13.2.0", 189),
("12.14.1.0", 190),
("12.15.1.0", 220),
("12.16.1.0", 220),
("12.17.1.0", 220),
("12.18.1.0", 220),
("12.19.1.0", 219),
("12.20.1.0", 219),
("12.21.1.0", 219),
("12.22.1.0", 221),
("12.23.1.0", 220),
("12.23.5.0", 220),
("12.23.7.0", 220),
("12.24.1.0", 219),
("12.25.1.0", 217),
("12.25.5.0", 218),
("12.26.1.0", 220),
("12.26.3.0", 221),
("12.26.5.0", 221),
("12.27.1.0", 221),
("12.27.1.1", 221),
("12.27.5.0", 221),
("12.28.1.0", 221),
("12.28.1.1", 221),
("12.29.1.1", 221),
("12.29.5.0", 221),
("12.29.7.0", 221),
("12.30.1.0", 255),
("12.31.5.0", 221),
("12.32.1.0", 221),
("12.32.3.0", 221),
("12.32.5.1", 255),
("12.32.5.2", 255),
("12.34.1.0", 222),
("12.34.3.0", 256);

CREATE TABLE wandoujia(ver VARCHAR(12) PRIMARY KEY);
INSERT INTO wandoujia VALUES
("12.34.3.0"),
("12.34.1.0"),
("12.32.5.2"),
("12.32.5.1"),
("12.32.3.0"),
("12.32.1.0"),
("12.31.5.0"),
("12.30.1.0"),
("12.29.7.0"),
("12.29.5.0"),
("12.29.1.1"),
("12.28.1.1"),
("12.28.1.0"),
("12.27.5.0"),
("12.27.1.1"),
("12.27.1.0"),
("12.26.5.0"),
("12.26.3.0"),
("12.26.1.0"),
("12.25.5.0"),
("12.25.1.0"),
("12.24.1.0"),
("12.23.7.0"),
("12.23.5.0"),
("12.23.1.0"),
("12.22.1.0"),
("12.21.1.0"),
("12.20.1.0"),
("12.19.1.0"),
("12.18.1.0"),
("12.17.1.0"),
("12.16.1.0"),
("12.15.1.0"),
("12.14.1.0"),
("12.13.2.0"),
("12.13.1.0"),
("12.12.1.0"),
("12.11.1.0"),
("12.10.1.0"),
("12.9.3.0"),
("12.9.2.0"),
("12.9.1.0"),
("12.8.1.1"),
("12.8.1.0"),
("12.7.6.0"),
("12.7.1.1"),
("12.7.1.0"),
("12.6.6.0"),
("12.6.3.0"),
("12.6.1.0"),
("12.5.6.0"),
("12.5.1.0"),
("12.4.8.24"),
("12.4.8.15"),
("12.4.8.14"),
("12.4.8.2"),
("12.4.8.0"),
("12.3.8.11"),
("12.3.8.10"),
("12.3.8.6"),
("12.3.8.3"),
("12.3.8.0"),
("12.2.8.11"),
("12.2.8.9"),
("12.2.8.1"),
("12.2.8.0"),
("12.1.8.4"),
("12.1.8.1"),
("12.1.8.0"),
("12.0.8.1"),
("12.0.8.0"),
("12.0.2.2"),
("11.10.8.6"),
("11.10.8.0"),
("11.9.8.0"),
("11.8.8.7"),
("11.8.8.0"),
("11.7.8.1"),
("11.7.8.0"),
("11.6.8.2"),
("11.6.8.1"),
("11.6.8.0"),
("11.5.8.3"),
("11.5.8.0"),
("11.4.8.7"),
("11.4.8.6"),
("11.4.8.0"),
("11.3.8.2"),
("11.3.8.1"),
("11.3.8.0"),
("11.2.8.4"),
("11.2.8.1"),
("11.2.8.0"),
("11.1.8.2"),
("11.1.8.1"),
("11.1.8.0"),
("11.0.0.0"),
("10.3.8.41"),
("10.3.8.34"),
("10.3.8.33"),
("10.3.8.30"),
("10.3.8.19"),
("10.3.8.12"),
("10.3.8.10"),
("10.3.8.8"),
("10.3.8.7"),
("10.3.8.1"),
("10.3.8.0"),
("10.2.8.8"),
("10.2.8.5"),
("10.2.8.2"),
("10.2.8.0"),
("10.1.8.1"),
("10.1.8.0"),
("10.0.8.4"),
("10.0.8.2"),
("10.0.8.0"),
("9.9.8.42"),
("9.9.8.41"),
("9.9.8.40"),
("9.9.8.32"),
("9.9.8.31"),
("9.9.8.20"),
("9.9.8.12"),
("9.9.8.10"),
("9.9.8.0"),
("9.8.8.13"),
("9.8.8.7"),
("9.8.8.5"),
("9.8.8.3"),
("9.8.8.0"),
("9.7.8.3"),
("9.7.8.0"),
("9.6.8.2"),
("9.6.8.1"),
("9.6.8.0"),
("9.5.8.0"),
("9.4.8.11"),
("9.4.8.6"),
("9.4.8.4"),
("9.4.8.3"),
("9.4.8.0"),
("9.3.8.5"),
("9.3.8.2"),
("9.3.8.0"),
("9.2.8.8"),
("9.2.8.7"),
("9.2.8.5"),
("9.2.8.0"),
("9.2.0.1"),
("9.1.8.3"),
("9.1.8.0"),
("9.0.8.0"),
("8.9.8.5"),
("8.9.8.0"),
("8.8.8.15"),
("8.8.8.13"),
("8.8.8.9"),
("8.8.8.6"),
("8.8.8.1"),
("8.8.8.0"),
("8.7.8.6"),
("8.7.8.2"),
("8.7.8.1"),
("8.7.8.0"),
("8.6.8.0"),
("8.5.8.0"),
("8.5.1.6"),
("8.4.8.2"),
("8.4.8.0"),
("8.3.8.0"),
("8.2.2"),
("8.1.0.4"),
("8.0.0.3"),
("7.9.2"),
("7.8.1"),
("7.7.2"),
("7.6.2"),
("7.4.5"),
("7.4.3"),
("7.3.4"),
("7.2.2"),
("7.1.7"),
("7.1.4"),
("7.0.4"),
("7.0.3"),
("6.9.9"),
("6.9.7"),
("6.9.5"),
("6.9.2"),
("6.8.7"),
("6.8.3"),
("6.7.2"),
("6.7.1"),
("6.6.6"),
("6.6.2"),
("6.5.8"),
("6.5.3"),
("6.5.2"),
("6.4.9"),
("6.4.3"),
("6.3.3");

CREATE TABLE `static.t.b.c`(ver VARCHAR(12) PRIMARY KEY);
INSERT INTO `static.t.b.c` VALUES
("1.0.0"),
("1.0.1"),
("1.0.2"),
("1.0.3"),
("1.0.4"),
("1.1.0"),
("2.0.0"),
("2.0.1"),
("2.0.2"),
("2.0.3"),
("2.1.0"),
("2.5.0"),
("2.5.1"),
("3.0.1"),
("3.0.2"),
("3.1.0"),
("3.2.0"),
("3.2.2"),
("3.3.0"),
("3.3.1"),
("3.4.0"),
("4.0.0"),
("4.1.0"),
("4.1.1"),
("4.1.2"),
("4.2.0"),
("4.2.2"),
("4.3.0"),
("4.3.1"),
("4.4.1"),
("4.4.2"),
("4.5.3"),
("5.0.8"),
("5.1.2"),
("5.1.3"),
("5.2.2"),
("5.6.2");

CREATE TABLE `shouji.com.cn`(ver VARCHAR(12) PRIMARY KEY);
INSERT INTO `shouji.com.cn` VALUES
("12.7.6.0"),
-- ("7.1.4"),
("12.7.1.1"),
("12.6.6.0"),
("12.6.3.0"),
("12.6.1.0"),
("12.5.6.0"),
("12.5.1.0"),
("12.4.8.24"),
("12.4.8.15"),
("12.4.8.2"),
("12.4.8.0"),
("12.3.8.11"),
("12.3.8.6"),
("12.3.8.3"),
("12.3.8.0"),
("12.2.8.11"),
("12.2.8.9"),
("12.2.8.1"),
("12.2.8.0"),
("12.1.8.4"),
("12.1.8.1"),
("12.0.8.1"),
("11.10.8.6"),
("11.9.8.0"),
("11.8.8.7"),
("11.8.8.0"),
("11.7.8.1"),
("11.6.8.2"),
("11.6.8.0"),
("11.5.8.3"),
("11.5.8.0"),
("11.4.8.7"),
("11.4.8.0"),
("11.3.8.2"),
("11.3.8.1"),
("11.2.8.4"),
("11.2.8.1"),
("11.2.8.0"),
("11.1.8.2"),
("11.1.8.1"),
("11.1.8.0"),
("11.0.0.0"),
("10.3.8.41"),
("10.3.8.34"),
("10.3.8.33"),
("10.3.8.30"),
("10.3.8.19"),
("10.3.8.12"),
("10.3.8.10"),
("10.3.8.8"),
("10.3.8.1"),
("10.3.8.0"),
("10.2.8.8"),
("10.2.8.0"),
("10.0.8.2"),
("9.0.8.0"),
("8.9.8.0"),
("8.8.8.15"),
("8.8.8.13"),
("8.8.8.6"),
("8.8.8.1"),
("8.7.8.9"),
("8.7.8.2"),
("8.6.8.0"),
("8.5.1.6"),
("8.4.8.2"),
("8.4.8.0"),
("8.3.8.0"),
("8.2.2"),
("8.1.0.4"),
("8.0.0.3"),
("7.9.2"),
("7.8.1"),
("7.7.2"),
("7.6.2"),
("7.4.5"),
("7.4.3"),
("7.3.4"),
("7.2.2"),
("7.1.7"),
("7.1.4"),
("7.0.4"),
("7.0.3"),
("6.9.9"),
("6.9.7"),
("6.9.5"),
("6.9.2"),
("6.8.7"),
("6.8.4"),
("6.8.3"),
("6.7.2"),
("6.7.1"),
("6.6.6"),
("6.6.2"),
("6.5.8"),
("6.5.3"),
("6.5.2"),
("6.4.9"),
-- ("6.4.9"),
("6.4.3"),
("6.3.3"),
("6.3.2"),
("6.2.2"),
("6.2.1"),
("6.1.3"),
("6.1.2"),
("6.0.1"),
("6.0.0"),
("5.6.3"),
("5.6.2"),
("5.6.1"),
("5.5.2"),
("5.5.1"),
("5.4.2"),
("5.3.1"),
("5.2.2"),
("5.2.1"),
("5.1.5"),
("5.1.3"),
("5.1.2"),
("5.1.1"),
("5.0.8"),
("6.2.0"),
("4.5.3"),
("4.4.2"),
("4.4.1"),
("4.3.1"),
("4.3.0"),
("4.2.2"),
("4.2.0"),
("4.1.2"),
("4.1.1"),
("4.1.0"),
("4.0.0"),
("3.4.0"),
("3.3.1"),
("3.3.0"),
("3.2.0"),
("3.1.0"),
("3.0.2"),
("3.0.1"),
("2.5.1"),
("2.5.0"),
("2.1.0"),
("2.0.3"),
("2.0.2"),
("2.0.1"),
("2.0.0"),
("1.1.0"),
("1.0.4"),
("1.0.3"),
("1.0.1"),
("1.0.0");

CREATE TABLE `tid5008810954`(ver VARCHAR(12) PRIMARY KEY);
INSERT INTO `tid5008810954` VALUES
("7.2.2"),
("7.1.7"),
("7.1.4"),
("7.0.4"),
("7.0.3"),
("6.9.9"),
("6.9.7"),
("6.9.5"),
("6.9.2"),
("6.8.7"),
("6.8.3"),
("6.7.2"),
("6.7.1"),
("6.6.6"),
("6.6.2"),
("6.5.8"),
("6.5.3"),
("6.5.2"),
("6.4.9"),
("6.4.3"),
("6.3.3"),
("6.3.2"),
("6.2.2"),
("6.2.1"),
("6.1.3"),
-- ("6.1.2"),
-- ("6.0.1"),
-- ("6.0.0"),
-- ("5.6.3"),
-- ("5.6.2"),
-- ("5.6.1"),
("5.5.2"),
("5.5.1"),
("5.4.2"),
("5.3.1"),
("5.2.2"),
("5.2.1"),
("5.1.3"),
("5.1.2"),
("5.0.8"),
-- shareId2178084026
("5.6.2"),
("5.6.1"),
("5.6.3"),
("5.6.0"),
-- shareId2555595519
("6.1.0"),
-- ("6.1.3"),
("6.2.0"),
("6.1.1"),
("6.1.2"),
("6.0.1"),
("6.0.0");
SELECT ver AS '版本号', REGEXP_REPLACE(mtime, '^20', '') AS '编译时间*',
  IFNULL(fileCount, 0) AS '⑴', IFNULL(dirCount, 0) AS '⑵',
-- https://stackoverflow.com/questions/41147829/how-can-i-search-by-emoji-in-mysql-using-utf8mb4
  REPLACE(REPLACE(REPLACE(wandoujia, 'R', '🔴'), 'Y', '⚠️'), 'G', '✔️') AS 'Ⓐ',
  REPLACE(REPLACE(REPLACE(`static.t.b.c`, 'R', '🔴'), 'Y', '⚠️'), 'G', '✔️') AS 'Ⓑ',
  REPLACE(REPLACE(REPLACE(`shouji.com.cn`, 'R', '🔴'), 'Y', '⚠️'), 'G', '✔️') AS 'Ⓒ',
  REPLACE(REPLACE(REPLACE(`tid5008810954`, 'R', '🔴'), 'Y', '⚠️'), 'G', '✔️') AS 'Ⓓ'
FROM (
  SELECT ver, mtime, fileCount, dirCount, wandoujia,
    IF(`static.t.b.c` = 'R', 'R', IF(
      wandoujia = 'G',
    'Y', 'G')) AS `static.t.b.c`,
    IF(`shouji.com.cn` = 'R', 'R', IF(
      wandoujia = 'G' OR
      `static.t.b.c` = 'G',
    'Y', 'G')) AS `shouji.com.cn`,
    IF(tid5008810954 = 'R', 'R', IF(
      wandoujia = 'G' OR
      `static.t.b.c` = 'G' OR
      `shouji.com.cn` = 'G',
    'Y', 'G')) AS tid5008810954
  FROM (
    SELECT mtime.*,
      fileCount.fileCount,
      dirCount.dirCount,
      IF(ISNULL(wandoujia.ver), 'R', 'G') AS wandoujia,
      IF(ISNULL(`static.t.b.c`.ver), 'R', 'G') AS `static.t.b.c`,
      IF(ISNULL(`shouji.com.cn`.ver), 'R', 'G') AS `shouji.com.cn`,
      IF(ISNULL(`tid5008810954`.ver), 'R', 'G') AS `tid5008810954`
    FROM mtime
      LEFT JOIN fileCount ON mtime.ver = fileCount.ver
      LEFT JOIN dirCount ON mtime.ver = dirCount.ver
      LEFT JOIN wandoujia ON mtime.ver = wandoujia.ver
      LEFT JOIN `static.t.b.c` ON mtime.ver = `static.t.b.c`.ver
      LEFT JOIN `shouji.com.cn` ON mtime.ver = `shouji.com.cn`.ver
      LEFT JOIN `tid5008810954` ON mtime.ver = `tid5008810954`.ver
    -- https://stackoverflow.com/questions/7508313/mysql-sorting-of-version-numbers
    ORDER BY INET_ATON(SUBSTRING_INDEX(CONCAT(mtime.ver,'.0.0.0'),'.',4))
  ) AS T
) AS T

列名表

列名 说明 tbclient.protobuf/issues/2
中的相关comment
* 版本号.apk.zip/classes.dex文件的修改时间
即apk编译时间或者说这个版本的首次发布时间
https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416769621
jadx/版本号.7z中路径以版本号/src/tbclient/开头的文件数量 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415365792
jadx/版本号.7z中路径以版本号/src/tbclient/开头的目录数量
即根命名空间tbclient下的子命名空间数量
https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1417424277
https://www.wandoujia.com/apps/280375/history https://github.com/n0099/tbclient.protobuf/issues/2#issue-1560704618
http://static.tieba.baidu.com/client/android/tbclient_1_0_0.apk https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407472050
https://soft.shouji.com.cn/down/22020.html https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407476112
https://tieba.baidu.com/p/5008810954
合并了3个百度网盘分享:
4215848229 2178084026 2555595519
https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407472284

4个源列的图例

emoji 说明
🔴 不存在于当前源中
⚠️ 存在于当前源中,但优先从前一个源下载
即按照Ⓐ ?? Ⓑ ?? Ⓒ ?? Ⓓfallback
✔️ 存在于当前源中,且优先从当前源下载

版本表

版本号 编译时间*
1.0.0 11-11-02 15:06:50 0 0 🔴 ✔️ ⚠️ 🔴
1.0.1 12-01-10 14:20:58 0 0 🔴 ✔️ ⚠️ 🔴
1.0.2 12-03-23 11:22:12 0 0 🔴 ✔️ 🔴 🔴
1.0.3 12-04-26 18:24:50 0 0 🔴 ✔️ ⚠️ 🔴
1.0.4 12-07-02 16:52:20 0 0 🔴 ✔️ ⚠️ 🔴
1.1.0 12-09-10 11:57:48 0 0 🔴 ✔️ ⚠️ 🔴
2.0.0 12-09-28 20:00:36 0 0 🔴 ✔️ ⚠️ 🔴
2.0.1 12-09-29 15:27:18 0 0 🔴 ✔️ ⚠️ 🔴
2.0.2 12-10-08 16:35:54 0 0 🔴 ✔️ ⚠️ 🔴
2.0.3 12-10-12 18:43:18 0 0 🔴 ✔️ ⚠️ 🔴
2.1.0 12-10-26 14:47:24 0 0 🔴 ✔️ ⚠️ 🔴
2.5.0 12-11-07 18:57:44 0 0 🔴 ✔️ ⚠️ 🔴
2.5.1 12-11-08 11:59:22 0 0 🔴 ✔️ ⚠️ 🔴
3.0.1 12-12-05 18:57:14 0 0 🔴 ✔️ ⚠️ 🔴
3.0.2 12-12-14 16:00:38 0 0 🔴 ✔️ ⚠️ 🔴
3.1.0 12-12-27 12:33:22 0 0 🔴 ✔️ ⚠️ 🔴
3.2.0 13-01-31 15:45:10 0 0 🔴 ✔️ ⚠️ 🔴
3.2.2 13-02-04 21:26:16 0 0 🔴 ✔️ 🔴 🔴
3.3.0 13-03-05 14:42:34 0 0 🔴 ✔️ ⚠️ 🔴
3.3.1 13-03-06 21:09:06 0 0 🔴 ✔️ ⚠️ 🔴
3.4.0 13-04-02 17:46:12 0 0 🔴 ✔️ ⚠️ 🔴
4.0.0 13-05-19 21:34:14 0 0 🔴 ✔️ ⚠️ 🔴
4.1.0 13-06-08 20:03:06 0 0 🔴 ✔️ ⚠️ 🔴
4.1.1 13-06-08 20:03:06 0 0 🔴 ✔️ ⚠️ 🔴
4.1.2 13-06-19 19:48:58 0 0 🔴 ✔️ ⚠️ 🔴
4.2.0 13-07-01 16:51:18 0 0 🔴 ✔️ ⚠️ 🔴
4.2.2 13-07-02 15:44:22 0 0 🔴 ✔️ ⚠️ 🔴
4.3.0 13-08-05 17:18:48 0 0 🔴 ✔️ ⚠️ 🔴
4.3.1 13-08-07 20:52:22 0 0 🔴 ✔️ ⚠️ 🔴
4.4.1 13-08-23 15:30:42 0 0 🔴 ✔️ ⚠️ 🔴
4.4.2 13-08-29 15:34:42 0 0 🔴 ✔️ ⚠️ 🔴
4.5.3 13-09-24 18:45:04 0 0 🔴 ✔️ ⚠️ 🔴
5.0.8 13-11-05 19:54:16 0 0 🔴 ✔️ ⚠️ ⚠️
5.1.1 13-11-13 21:15:10 0 0 🔴 🔴 ✔️ 🔴
5.1.2 13-11-21 13:20:22 0 0 🔴 ✔️ ⚠️ ⚠️
5.1.3 13-11-22 16:48:58 0 0 🔴 ✔️ ⚠️ ⚠️
5.1.5 13-11-26 14:14:02 0 0 🔴 🔴 ✔️ 🔴
5.2.1 13-12-05 15:23:00 0 0 🔴 🔴 ✔️ ⚠️
5.2.2 13-12-09 22:21:30 0 0 🔴 ✔️ ⚠️ ⚠️
5.3.1 13-12-24 11:10:04 0 0 🔴 🔴 ✔️ ⚠️
5.4.2 14-01-06 16:13:12 0 0 🔴 🔴 ✔️ ⚠️
5.5.1 14-01-22 13:41:22 0 0 🔴 🔴 ✔️ ⚠️
5.5.2 14-01-23 14:12:34 0 0 🔴 🔴 ✔️ ⚠️
5.6.0 14-02-25 20:37:58 0 0 🔴 🔴 🔴 ✔️
5.6.1 14-02-27 22:09:52 0 0 🔴 🔴 ✔️ ⚠️
5.6.2 14-03-04 21:39:58 0 0 🔴 ✔️ ⚠️ ⚠️
5.6.3 14-03-31 22:46:56 0 0 🔴 🔴 ✔️ ⚠️
6.0.0 14-04-09 15:59:26 0 0 🔴 🔴 ✔️ ⚠️
6.0.1 14-04-17 16:25:18 0 0 🔴 🔴 ✔️ ⚠️
6.1.0 14-05-19 17:36:06 80 2 🔴 🔴 🔴 ✔️
6.1.1 14-05-24 16:07:02 86 2 🔴 🔴 🔴 ✔️
6.1.2 14-05-29 15:42:14 86 2 🔴 🔴 ✔️ ⚠️
6.1.3 14-06-20 13:46:28 86 2 🔴 🔴 ✔️ ⚠️
6.2.0 13-07-02 23:54:42 0 0 🔴 🔴 ✔️ ⚠️
6.2.1 14-07-10 12:14:48 134 9 🔴 🔴 ✔️ ⚠️
6.2.2 14-08-15 16:01:16 202 19 🔴 🔴 ✔️ ⚠️
6.3.2 14-08-21 13:25:06 202 19 🔴 🔴 ✔️ ⚠️
6.3.3 14-08-24 15:21:46 202 19 ✔️ 🔴 ⚠️ ⚠️
6.4.3 14-10-27 18:18:26 289 31 ✔️ 🔴 ⚠️ ⚠️
6.4.9 14-11-03 11:32:48 292 32 ✔️ 🔴 ⚠️ ⚠️
6.5.2 14-12-12 11:15:02 332 40 ✔️ 🔴 ⚠️ ⚠️
6.5.3 15-01-30 18:21:42 333 40 ✔️ 🔴 ⚠️ ⚠️
6.5.8 15-02-05 12:46:30 333 40 ✔️ 🔴 ⚠️ ⚠️
6.6.2 15-03-20 11:43:32 378 47 ✔️ 🔴 ⚠️ ⚠️
6.6.6 15-04-09 11:48:36 382 48 ✔️ 🔴 ⚠️ ⚠️
6.7.1 15-05-29 16:09:04 406 52 ✔️ 🔴 ⚠️ ⚠️
6.7.2 15-06-09 11:22:32 406 52 ✔️ 🔴 ⚠️ ⚠️
6.8.3 15-08-17 14:08:58 342 39 ✔️ 🔴 ⚠️ ⚠️
6.8.7 15-09-08 10:46:00 352 40 ✔️ 🔴 ⚠️ ⚠️
6.9.2 15-09-29 10:01:46 427 51 ✔️ 🔴 ⚠️ ⚠️
6.9.5 15-10-16 18:35:02 447 54 ✔️ 🔴 ⚠️ ⚠️
6.9.7 15-10-30 16:17:12 447 54 ✔️ 🔴 ⚠️ ⚠️
6.9.9 15-11-09 21:13:18 448 54 ✔️ 🔴 ⚠️ ⚠️
7.0.3 15-12-03 18:15:54 611 72 ✔️ 🔴 ⚠️ ⚠️
7.0.4 15-12-04 12:38:10 611 72 ✔️ 🔴 ⚠️ ⚠️
7.1.4 15-12-30 14:45:50 542 64 ✔️ 🔴 ⚠️ ⚠️
7.1.7 16-01-20 17:20:30 542 64 ✔️ 🔴 ⚠️ ⚠️
7.2.2 16-01-29 11:14:08 547 57 ✔️ 🔴 ⚠️ ⚠️
7.3.4 16-03-31 14:00:06 528 53 ✔️ 🔴 ⚠️ 🔴
7.4.3 16-05-11 16:48:28 529 53 ✔️ 🔴 ⚠️ 🔴
7.4.5 16-05-13 20:37:52 529 53 ✔️ 🔴 ⚠️ 🔴
7.6.2 16-06-30 16:53:22 548 53 ✔️ 🔴 ⚠️ 🔴
7.7.2 16-07-28 14:32:20 544 51 ✔️ 🔴 ⚠️ 🔴
7.8.1 16-09-01 10:32:12 562 52 ✔️ 🔴 ⚠️ 🔴
7.9.2 16-09-28 20:52:16 572 52 ✔️ 🔴 ⚠️ 🔴
8.0.0.3 16-11-30 17:59:48 565 53 ✔️ 🔴 ⚠️ 🔴
8.1.0.4 16-12-29 17:36:28 574 53 ✔️ 🔴 ⚠️ 🔴
8.2.2 17-01-20 16:30:00 579 53 ✔️ 🔴 ⚠️ 🔴
8.3.8.0 17-03-07 17:36:26 582 53 ✔️ 🔴 ⚠️ 🔴
8.4.8.0 17-04-14 14:19:18 583 53 ✔️ 🔴 ⚠️ 🔴
8.4.8.2 17-04-21 15:18:22 583 53 ✔️ 🔴 ⚠️ 🔴
8.5.1.6 17-05-19 16:02:24 596 56 ✔️ 🔴 ⚠️ 🔴
8.5.8.0 17-05-31 18:16:08 617 57 ✔️ 🔴 🔴 🔴
8.6.8.0 17-06-30 18:03:46 630 59 ✔️ 🔴 ⚠️ 🔴
8.7.8.0 17-07-31 17:54:06 649 61 ✔️ 🔴 🔴 🔴
8.7.8.1 17-08-02 23:55:42 649 61 ✔️ 🔴 🔴 🔴
8.7.8.2 17-08-03 21:13:12 649 61 ✔️ 🔴 ⚠️ 🔴
8.7.8.6 17-08-15 17:26:04 649 61 ✔️ 🔴 🔴 🔴
8.7.8.9 17-08-24 14:29:22 649 61 🔴 🔴 ✔️ 🔴
8.8.8.0 17-08-31 15:17:10 657 63 ✔️ 🔴 🔴 🔴
8.8.8.1 17-09-04 17:54:06 657 63 ✔️ 🔴 ⚠️ 🔴
8.8.8.6 17-09-18 19:49:16 657 63 ✔️ 🔴 ⚠️ 🔴
8.8.8.9 17-09-28 18:37:30 667 64 ✔️ 🔴 🔴 🔴
8.8.8.13 17-10-12 20:21:18 667 64 ✔️ 🔴 ⚠️ 🔴
8.8.8.15 17-10-23 15:09:06 667 64 ✔️ 🔴 ⚠️ 🔴
8.9.8.0 17-10-31 22:05:32 649 59 ✔️ 🔴 ⚠️ 🔴
8.9.8.5 17-11-15 17:34:12 649 59 ✔️ 🔴 🔴 🔴
9.0.8.0 17-11-30 12:14:26 645 56 ✔️ 🔴 ⚠️ 🔴
9.1.8.0 17-12-15 01:37:28 647 56 ✔️ 🔴 🔴 🔴
9.1.8.3 17-12-20 15:45:42 647 56 ✔️ 🔴 🔴 🔴
9.2.0.1 17-12-21 20:40:10 647 56 ✔️ 🔴 🔴 🔴
9.2.8.0 17-12-27 23:28:54 650 56 ✔️ 🔴 🔴 🔴
9.2.8.5 18-01-18 22:03:12 652 56 ✔️ 🔴 🔴 🔴
9.2.8.7 18-01-31 20:07:30 652 56 ✔️ 🔴 🔴 🔴
9.2.8.8 18-02-02 16:09:42 652 56 ✔️ 🔴 🔴 🔴
9.3.8.0 18-02-06 15:08:18 829 89 ✔️ 🔴 🔴 🔴
9.3.8.2 18-02-27 20:38:04 829 89 ✔️ 🔴 🔴 🔴
9.3.8.5 18-03-27 19:33:44 833 89 ✔️ 🔴 🔴 🔴
9.4.8.0 18-04-12 22:10:10 846 91 ✔️ 🔴 🔴 🔴
9.4.8.3 18-04-19 15:58:02 846 91 ✔️ 🔴 🔴 🔴
9.4.8.4 18-04-20 15:02:44 846 91 ✔️ 🔴 🔴 🔴
9.4.8.6 18-05-03 19:47:12 846 91 ✔️ 🔴 🔴 🔴
9.4.8.11 18-05-18 16:09:42 846 91 ✔️ 🔴 🔴 🔴
9.5.8.0 18-06-08 12:47:20 870 94 ✔️ 🔴 🔴 🔴
9.6.8.0 18-06-27 21:36:22 885 96 ✔️ 🔴 🔴 🔴
9.6.8.1 18-07-03 16:39:06 885 96 ✔️ 🔴 🔴 🔴
9.6.8.2 18-07-13 16:50:26 885 96 ✔️ 🔴 🔴 🔴
9.7.8.0 18-07-30 23:52:12 905 100 ✔️ 🔴 🔴 🔴
9.7.8.3 18-09-03 15:44:30 905 100 ✔️ 🔴 🔴 🔴
9.8.8.0 18-09-26 18:08:48 921 103 ✔️ 🔴 🔴 🔴
9.8.8.3 18-10-16 17:29:32 925 104 ✔️ 🔴 🔴 🔴
9.8.8.5 18-10-22 19:55:30 925 104 ✔️ 🔴 🔴 🔴
9.8.8.7 18-10-25 20:40:16 925 104 ✔️ 🔴 🔴 🔴
9.8.8.13 18-11-12 17:46:02 925 104 ✔️ 🔴 🔴 🔴
9.9.8.0 18-12-05 22:12:08 931 105 ✔️ 🔴 🔴 🔴
9.9.8.10 18-12-18 15:35:04 931 105 ✔️ 🔴 🔴 🔴
9.9.8.12 18-12-27 18:08:34 932 105 ✔️ 🔴 🔴 🔴
9.9.8.20 19-01-02 18:55:12 932 105 ✔️ 🔴 🔴 🔴
9.9.8.31 19-01-17 01:53:48 932 105 ✔️ 🔴 🔴 🔴
9.9.8.32 19-01-21 23:31:12 932 105 ✔️ 🔴 🔴 🔴
9.9.8.40 19-01-27 15:45:10 932 105 ✔️ 🔴 🔴 🔴
9.9.8.41 19-02-17 13:27:12 932 105 ✔️ 🔴 🔴 🔴
9.9.8.42 19-02-21 21:39:08 932 105 ✔️ 🔴 🔴 🔴
10.0.8.0 19-03-08 02:31:44 775 72 ✔️ 🔴 🔴 🔴
10.0.8.2 19-03-10 13:47:56 775 72 ✔️ 🔴 ⚠️ 🔴
10.0.8.4 19-03-14 21:48:52 949 105 ✔️ 🔴 🔴 🔴
10.1.8.0 19-04-07 23:39:52 949 105 ✔️ 🔴 🔴 🔴
10.1.8.1 19-04-09 14:14:46 949 105 ✔️ 🔴 🔴 🔴
10.2.8.0 19-05-16 21:41:28 986 111 ✔️ 🔴 ⚠️ 🔴
10.2.8.2 19-05-28 20:28:56 986 111 ✔️ 🔴 🔴 🔴
10.2.8.5 19-06-03 11:59:52 986 111 ✔️ 🔴 🔴 🔴
10.2.8.8 19-06-20 20:02:10 986 111 ✔️ 🔴 ⚠️ 🔴
10.3.8.0 19-07-22 19:30:10 994 112 ✔️ 🔴 ⚠️ 🔴
10.3.8.1 19-07-28 12:27:58 994 112 ✔️ 🔴 ⚠️ 🔴
10.3.8.7 19-08-06 20:11:58 997 112 ✔️ 🔴 🔴 🔴
10.3.8.8 19-08-12 20:03:18 997 112 ✔️ 🔴 ⚠️ 🔴
10.3.8.10 19-08-22 21:48:44 997 112 ✔️ 🔴 ⚠️ 🔴
10.3.8.12 19-09-20 10:54:32 997 112 ✔️ 🔴 ⚠️ 🔴
10.3.8.19 19-10-29 21:54:04 1027 118 ✔️ 🔴 ⚠️ 🔴
10.3.8.30 19-11-20 21:23:32 1027 118 ✔️ 🔴 ⚠️ 🔴
10.3.8.33 19-11-28 20:58:16 1027 118 ✔️ 🔴 ⚠️ 🔴
10.3.8.34 19-12-01 23:15:58 1027 118 ✔️ 🔴 ⚠️ 🔴
10.3.8.41 19-12-09 11:30:24 1027 118 ✔️ 🔴 ⚠️ 🔴
11.0.0.0 19-12-25 10:42:26 1036 119 ✔️ 🔴 ⚠️ 🔴
11.1.8.0 20-01-13 10:52:32 1036 119 ✔️ 🔴 ⚠️ 🔴
11.1.8.1 20-01-14 22:43:52 1036 119 ✔️ 🔴 ⚠️ 🔴
11.1.8.2 20-02-09 21:22:26 1036 119 ✔️ 🔴 ⚠️ 🔴
11.2.8.0 20-02-27 23:00:12 1037 119 ✔️ 🔴 ⚠️ 🔴
11.2.8.1 20-03-02 19:18:32 1037 119 ✔️ 🔴 ⚠️ 🔴
11.2.8.4 20-03-13 13:20:42 1037 119 ✔️ 🔴 ⚠️ 🔴
11.3.8.0 20-03-18 10:18:22 1038 119 ✔️ 🔴 🔴 🔴
11.3.8.1 20-03-19 12:16:48 1038 119 ✔️ 🔴 ⚠️ 🔴
11.3.8.2 20-03-25 10:43:46 1038 119 ✔️ 🔴 ⚠️ 🔴
11.4.8.0 20-04-17 15:15:06 1057 122 ✔️ 🔴 ⚠️ 🔴
11.4.8.6 20-05-08 11:05:54 1057 122 ✔️ 🔴 🔴 🔴
11.4.8.7 20-05-12 09:12:52 1057 122 ✔️ 🔴 ⚠️ 🔴
11.5.8.0 20-05-22 10:28:30 1063 123 ✔️ 🔴 ⚠️ 🔴
11.5.8.3 20-06-04 11:19:08 1064 123 ✔️ 🔴 ⚠️ 🔴
11.6.8.0 20-07-03 09:50:52 1128 129 ✔️ 🔴 ⚠️ 🔴
11.6.8.1 20-07-06 21:34:12 1128 129 ✔️ 🔴 🔴 🔴
11.6.8.2 20-07-13 15:05:22 1128 129 ✔️ 🔴 ⚠️ 🔴
11.7.8.0 20-07-31 12:16:28 1134 130 ✔️ 🔴 🔴 🔴
11.7.8.1 20-08-04 08:59:06 1134 130 ✔️ 🔴 ⚠️ 🔴
11.8.8.0 20-08-25 12:44:54 1143 132 ✔️ 🔴 ⚠️ 🔴
11.8.8.7 20-09-04 15:04:28 1143 132 ✔️ 🔴 ⚠️ 🔴
11.9.8.0 20-09-21 14:07:28 1152 133 ✔️ 🔴 ⚠️ 🔴
11.10.8.0 20-10-19 11:37:24 1155 133 ✔️ 🔴 🔴 🔴
11.10.8.6 20-10-27 11:00:02 1155 133 ✔️ 🔴 ⚠️ 🔴
12.0.2.2 20-11-11 10:43:16 1155 133 ✔️ 🔴 🔴 🔴
12.0.8.0 20-11-16 10:54:34 1155 133 ✔️ 🔴 🔴 🔴
12.0.8.1 20-11-19 16:08:42 1155 133 ✔️ 🔴 ⚠️ 🔴
12.1.8.0 20-12-07 10:30:40 1164 134 ✔️ 🔴 🔴 🔴
12.1.8.1 20-12-08 10:31:40 1164 134 ✔️ 🔴 ⚠️ 🔴
12.1.8.4 20-12-15 10:29:04 1164 134 ✔️ 🔴 ⚠️ 🔴
12.2.8.0 21-01-04 21:09:24 1167 134 ✔️ 🔴 ⚠️ 🔴
12.2.8.1 21-01-07 09:53:08 1387 174 ✔️ 🔴 ⚠️ 🔴
12.2.8.9 21-01-12 20:23:40 1387 174 ✔️ 🔴 ⚠️ 🔴
12.2.8.11 21-01-19 10:31:12 1387 174 ✔️ 🔴 ⚠️ 🔴
12.3.8.0 21-02-01 14:55:20 1399 176 ✔️ 🔴 ⚠️ 🔴
12.3.8.3 21-02-04 17:08:56 1399 176 ✔️ 🔴 ⚠️ 🔴
12.3.8.6 21-02-21 23:32:44 1399 176 ✔️ 🔴 ⚠️ 🔴
12.3.8.10 21-03-08 10:43:44 1399 176 ✔️ 🔴 🔴 🔴
12.3.8.11 21-03-09 10:14:40 1399 176 ✔️ 🔴 ⚠️ 🔴
12.4.8.0 21-03-25 00:57:42 1414 179 ✔️ 🔴 ⚠️ 🔴
12.4.8.2 21-03-29 22:08:30 1414 179 ✔️ 🔴 ⚠️ 🔴
12.4.8.14 21-04-20 11:22:04 1419 180 ✔️ 🔴 🔴 🔴
12.4.8.15 21-04-22 00:16:14 1419 180 ✔️ 🔴 ⚠️ 🔴
12.4.8.24 21-04-26 23:59:58 1423 180 ✔️ 🔴 ⚠️ 🔴
12.5.1.0 21-05-18 12:40:10 1428 181 ✔️ 🔴 ⚠️ 🔴
12.5.6.0 21-05-25 10:52:00 1428 181 ✔️ 🔴 ⚠️ 🔴
12.6.1.0 21-06-11 10:31:40 1433 182 ✔️ 🔴 ⚠️ 🔴
12.6.3.0 21-06-22 10:18:12 1433 182 ✔️ 🔴 ⚠️ 🔴
12.6.6.0 21-07-05 11:10:02 1458 185 ✔️ 🔴 ⚠️ 🔴
12.7.1.0 21-07-08 12:03:58 1458 185 ✔️ 🔴 🔴 🔴
12.7.1.1 21-07-09 02:47:54 1458 185 ✔️ 🔴 ⚠️ 🔴
12.7.6.0 21-07-26 09:01:26 1465 186 ✔️ 🔴 ⚠️ 🔴
12.8.1.0 21-08-11 11:00:48 1476 188 ✔️ 🔴 🔴 🔴
12.8.1.1 21-08-11 16:10:54 1476 188 ✔️ 🔴 🔴 🔴
12.9.1.0 21-08-25 22:19:46 1478 188 ✔️ 🔴 🔴 🔴
12.9.2.0 21-08-30 20:20:40 1478 188 ✔️ 🔴 🔴 🔴
12.9.3.0 21-09-01 00:15:10 1478 188 ✔️ 🔴 🔴 🔴
12.10.1.0 21-09-10 10:11:22 1484 189 ✔️ 🔴 🔴 🔴
12.11.1.0 21-09-24 07:34:26 1481 188 ✔️ 🔴 🔴 🔴
12.12.1.0 21-10-19 21:56:04 1485 189 ✔️ 🔴 🔴 🔴
12.13.1.0 21-11-02 21:43:14 1487 189 ✔️ 🔴 🔴 🔴
12.13.2.0 21-11-10 00:44:54 1487 189 ✔️ 🔴 🔴 🔴
12.14.1.0 21-11-22 12:47:24 1492 190 ✔️ 🔴 🔴 🔴
12.15.1.0 21-12-01 10:26:24 1424 220 ✔️ 🔴 🔴 🔴
12.16.1.0 21-12-16 15:29:46 1425 220 ✔️ 🔴 🔴 🔴
12.17.1.0 21-12-29 11:45:48 1427 220 ✔️ 🔴 🔴 🔴
12.18.1.0 22-01-14 15:35:46 1428 220 ✔️ 🔴 🔴 🔴
12.19.1.0 22-01-24 12:00:54 1424 219 ✔️ 🔴 🔴 🔴
12.20.1.0 22-02-22 23:27:40 1426 219 ✔️ 🔴 🔴 🔴
12.21.1.0 22-03-08 10:33:50 1427 219 ✔️ 🔴 🔴 🔴
12.22.1.0 22-03-23 00:35:44 1443 221 ✔️ 🔴 🔴 🔴
12.23.1.0 22-04-07 10:47:12 1438 220 ✔️ 🔴 🔴 🔴
12.23.5.0 22-04-18 23:06:52 1438 220 ✔️ 🔴 🔴 🔴
12.23.7.0 22-05-04 23:44:00 1440 220 ✔️ 🔴 🔴 🔴
12.24.1.0 22-05-13 16:55:56 1428 219 ✔️ 🔴 🔴 🔴
12.25.1.0 22-05-31 10:16:06 1413 217 ✔️ 🔴 🔴 🔴
12.25.5.0 22-06-20 12:20:54 1414 218 ✔️ 🔴 🔴 🔴
12.26.1.0 22-07-15 14:15:34 1439 220 ✔️ 🔴 🔴 🔴
12.26.3.0 22-07-22 11:24:12 1442 221 ✔️ 🔴 🔴 🔴
12.26.5.0 22-07-25 17:45:04 1444 221 ✔️ 🔴 🔴 🔴
12.27.1.0 22-08-10 00:31:06 1457 221 ✔️ 🔴 🔴 🔴
12.27.1.1 22-08-11 22:59:50 1457 221 ✔️ 🔴 🔴 🔴
12.27.5.0 22-08-18 00:30:58 1457 221 ✔️ 🔴 🔴 🔴
12.28.1.0 22-08-30 23:10:24 1458 221 ✔️ 🔴 🔴 🔴
12.28.1.1 22-09-01 02:43:12 1458 221 ✔️ 🔴 🔴 🔴
12.29.1.1 22-09-15 00:41:50 1454 221 ✔️ 🔴 🔴 🔴
12.29.5.0 22-09-27 10:27:24 1454 221 ✔️ 🔴 🔴 🔴
12.29.7.0 22-10-10 12:26:50 1455 221 ✔️ 🔴 🔴 🔴
12.30.1.0 22-10-26 10:52:58 1547 255 ✔️ 🔴 🔴 🔴
12.31.5.0 22-11-03 01:20:20 1464 221 ✔️ 🔴 🔴 🔴
12.32.1.0 22-11-14 23:13:22 1464 221 ✔️ 🔴 🔴 🔴
12.32.3.0 22-11-17 16:12:34 1464 221 ✔️ 🔴 🔴 🔴
12.32.5.1 22-11-23 15:36:14 1555 255 ✔️ 🔴 🔴 🔴
12.32.5.2 22-12-01 17:06:52 1555 255 ✔️ 🔴 🔴 🔴
12.34.1.0 22-12-16 11:13:32 1474 222 ✔️ 🔴 🔴 🔴
12.34.3.0 22-12-27 15:32:10 1568 256 ✔️ 🔴 🔴 🔴
n0099 commented 1 year ago

实际上 https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1417424277

7z -l对于目录而非文件会额外多输出Compressed列的值于是打破了awk '{print $5}'中按空格分割(ssv)输出第5列假定格式

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416835461

  1. extfs对于文件名允许任何字节(除了0x00 NUL)存在,这导致如果您想处理这种edge case就不能安全在sh里用ls mywiki.wooledge.org/ParsingLs

是类似的 本质上都是sh人将字符串形式(或者说sh里没有任何类型,只有字符串,这一丶跟xml类似)的stdout作为ABI来使用,导致任何在野外得到广泛应用的程序都无法在未来版本中随意更改stdout而不破坏向前兼容性,也就是说sh环境程序的stdout跟c程序的ABI一样的易碎 对于ls程序的问题就是posix早年没有标准化ls应该输出什么(哪怕opengroup现在想制定也不可能统一了),而ls这个程序被人类用户使用的频率比程序更多(linux萌新上手就得学会builtin之cd coreutils之ls),所以各个unix社区壬上壬们对ls程序的实现(目前剩下的主要是BSD/GNU之争)都是不同的,这就意味着其都具有不同的ABI,但这同时也保证了如果您一直在用来自gnu coreutilsls那并不会遇到多少ABI breaking 进一步的文件名中可能有\n,而众所周知sh的`和\n都具有语义,所以他就会破坏您的经典ls -1 | xargs -I {} rm -v {},即换行后的文件名剩余部分被当做单独的命令被sh eval 对此最简单的办法就是将不可能存在于文件名中的0x00 NUL字节而不是\n作为ls输出每个文件名后的delimiter,[xargs -0](https://explainshell.com/explain?cmd=xargs+-0)和[git ls-files -z`](https://git-scm.com/docs/git-ls-files)都是这样做的,然而人生自古谁无死,不幸地 https://mywiki.wooledge.org/ParsingLs

显然,如果 ls 有一个-0选项,它会用 NUL 终止符而不是换行符打印结果,并且不更改文件名,那么ls的许多问题就会消失。生活会很轻松!嗯,难度小一些。 但我们不能这样!在 GNU coreutils 中执行此操作的补丁在 2014 年被拒绝,显然是为了让ls变得糟糕。 相反,最近(大约2016 年)版本的 GNU coreutils 为我们提供了一个带有各种选择的--quoting-style选项,其中大部分对于 bash 脚本编写而言是无用的,而且所有这些对于人类可读性而言都是无用的。 我们在这里提到它是因为引用样式选项之一在与 bash 的eval命令结合使用时实际上很有用。具体来说,--quoting-style=shell-escape产生 bash(但不是POSIX sh)可以解析回文件名的输出。

然而unix.SE壬上壬们也对该网站充斥着的sh黑内容提出了质疑 irol阁下亲自答: https://unix.stackexchange.com/questions/128985/why-not-parse-ls-and-what-to-do-instead/129120#129120

我一点也不相信这一点,但为了论证,让我们假设你可以,如果你准备付出足够的努力,ls可靠地解析输出,即使面对“对手”——某人知道您编写的代码并故意选择旨在破坏它的文件名。 就算你能做到,也未必是个好主意。 Bourne shell [1]是一种糟糕的语言。它不应该用于任何复杂的事情,除非极端的便携性比任何其他因素(例如autoconf)更重要。 我声称,如果您遇到的问题是,解析 的输出ls似乎是 shell 脚本的阻力最小的路径,那么这强烈表明您正在做的任何事情都太复杂而不能成为 shell 脚本,您应该重写Perl、Python、Julia 或任何其他现成可用的优秀脚本语言。作为演示,这是您最后一个 Python 程序: 脚注 1:是的,Bourne shell 的扩展版本现在很容易获得:bash并且zsh都比原来的要好得多。GNU 对核心“shell 实用程序”(find、grep 等)的扩展也有很大帮助。但是即使有所有的扩展,shell 环境也没有改进到足以与实际上好的脚本语言竞争,所以我的建议仍然是“不要将 shell 用于任何复杂的事情”,不管你在谈论哪个 shell。 “一个好的交互式 shell 又是一个好的脚本语言会是什么样子?” 是一个实时研究问题,因为在交互式 CLI 所需的便利性(例如允许键入cc -c -g -O2 -o foo.o foo.c而不是subprocess.run(["cc", "-c", "-g", "-O2", "-o", "foo.o", "foo.c"]))与避免复杂脚本中的细微错误所需的限制(例如不随机解释未引用的单词位置作为字符串文字)。如果我要尝试设计这样的东西,我可能会先将 IPython、PowerShell 和 Lua 放入搅拌机中,但我不知道结果会是什么样子。

https://unix.stackexchange.com/questions/128985/why-not-parse-ls-and-what-to-do-instead/129049#129049

这里的口头禅是永远不要相信用户文件系统(相当于永远不要相信用户输入)。如果有一种方法始终有效,并且 100% 确定,那么它应该是您更喜欢的方法,即使ls效果相同但不确定性较低。我不会深入讨论技术细节,因为terdonPatrick已经广泛介绍了这些内容。我知道,由于ls在我的工作/声望在线的重要(并且可能是昂贵的)交易中使用的风险,如果可以避免,我会更喜欢任何没有不确定性等级的解决方案。

yangbowen commented 1 year ago

您没有更好的办法嵌入这长段的原数据,而不造成那么大的阅读困难吗?

n0099 commented 1 year ago

您没有更好的办法嵌入这长段的原数据,而不造成那么大的阅读困难吗?

建议 https://gist.github.com/ericclemmons/b146fe5da72ca1f706b2ef72a20ac39d image image 经典自动闭合malform html

n0099 commented 1 year ago

勘误

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407476112 shouji.com.cn源下载的6.2.0版本为什么那么特殊? image image

快速google检索Merlin Ohana image

可以找到其github账号 @liukaixuan ,以及repo https://github.com/liukaixuan/tbhp_android 再结合这个像是2.x时的客户端logo,以及下一个6.2.1版本的apkinfo: image

我们可以合理假设这实际上是远古版本贴吧助手客户端

n0099 commented 10 months ago

https://github.com/NingLu/ios_plist https://github.com/tbiosqa/ios_plist https://github.com/chenchen15/ios_plist https://github.com/chenchen15/iosplist

https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html https://stackoverflow.com/questions/1756636/what-is-the-use-of-plist

n0099 commented 10 months ago

https://github.com/search?q=%22vm.baidu.com%22&type=code https://github.com/BaiduFE/Chassis/blob/041d9bf837747306f4bbbfbd24d273e1f0f4e275/examples/fis-project/slider/data/news.php#L23 https://github.com/chenchengxing/yt/blob/4e2232587f40b403ed52d1f62b37a4ee5b3eb4f6/docs/%E7%A7%8D%E5%AD%90%E5%B7%A5%E7%A8%8B%E8%AF%B4%E6%98%8E.md?plain=1#L77

n0099 commented 10 months ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1561194626 $ git rebase 6.1.3

pick 627e7ea5f9c 6.1.3
pick a3e9f5de358 6.2.0
squash bfbf0f8cc51 6.2.1

正义削除 http://web.archive.org/web/20240103012427/https://github.com/n0099/open-tbclient/commit/a3e9f5de358cd6c8a28cd33f1a281b216f8cc8be

而伪6.2.0没有.proto所以本repo中无需削除 https://github.com/n0099/tbclient.protobuf/commits/5d58266fa0b5919456f73a41e7e6b8b88339b04b/

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415877249

git gc

经典 https://stackoverflow.com/questions/67630383/git-gc-and-git-prune-warnings-when-git-fetch-origin-is-run

warning: The last gc run reported the following. Please correct the root cause
and remove .git/gc.log
Automatic cleanup will not be performed until the file is removed.

warning: There are too many unreachable loose objects; run 'git prune' to remove them.

结果 n0099/open-tbclient https://stackoverflow.com/questions/9135095/git-gc-aggressive-push-to-server https://stackoverflow.com/questions/4367977/how-to-remove-a-dangling-commit-from-github

n0099 commented 10 months ago

https://github.com/n0099/tbclient.protobuf/issues/2#issue-1560704618

// run under https://www.wandoujia.com/apps/280375/history
const versionsUrl = $('ul.old-version-list').children().children('a[data-app-id]').map((i,e) => $(e).prop('href')).toArray();
const versions = [];
for (const versionUrl of versionsUrl) { // don't use .map() to reduce RPS
    const appInfoEl=$(jQuery.parseHTML(await (await fetch(versionUrl)).text())).find('div.app-info-wrap');
+     await new Promise(r => setTimeout(r, 500));
    const version = appInfoEl.find('p.version-name span').text().replace(/^v/, '')
    const createdAt= appInfoEl.find('p.update-time').text().replace(/^更新时间:/, '');
-    const downloadUrl = appInfoEl.find('a.normal-dl-btn').prop('href');
+    const downloadUrl = appInfoEl.find('a.normal-dl-btn').data('href');
    versions.push({version, createdAt, downloadUrl});
}
console.assert(versionsUrl.length === versions.length, 'some versions are missing, do you have to pass its CAPTCHA?');
console.table(versions);
console.table(JSON.stringify(versions));
n0099 commented 10 months ago
version,createdAt,downloadUrl
12.51.7.1,2023年12月12日 14:35,https://android-apps.pp.cn/fs08/2023/12/12/3/110_94efd030cb3bd019fa39a0a497f13abf.apk
12.51.5.1,2023年12月04日 15:25,https://android-apps.pp.cn/fs08/2023/12/04/8/110_02896571c48622ed2b6b4bcb386a8229.apk
12.51.1.0,2023年11月29日 16:10,https://android-apps.pp.cn/fs08/2023/11/29/7/110_a9eee97937e7a268a8f72776a54f84e3.apk
12.50.3.1,2023年11月22日 16:55,https://android-apps.pp.cn/fs08/2023/11/22/8/110_1e1a90936d130299350cb1fdca143153.apk
12.50.3.0,2023年11月09日 13:25,https://android-apps.pp.cn/fs08/2023/11/09/2/110_931e2ce75d916258392f5733f95871ac.apk
12.50.1.1,2023年11月03日 16:35,https://android-apps.pp.cn/fs08/2023/11/03/8/110_b4590ec70411e8d31712b636769eb386.apk
12.49.1.0,2023年10月19日 15:15,https://android-apps.pp.cn/fs08/2023/10/19/6/110_7f6b609236cf87e359646898725c876a.apk
12.48.1.1,2023年09月22日 16:10,https://android-apps.pp.cn/fs08/2023/09/22/6/110_cd96beef90eca9d7e4387481190ece2e.apk
12.47.1.0,2023年09月14日 14:45,https://android-apps.pp.cn/fs08/2023/09/14/10/110_95e94f82baeaadff01e21a9926ce858c.apk
12.46.3.0,2023年08月30日 15:10,https://android-apps.pp.cn/fs08/2023/08/30/0/110_9cb7a80870b1d191898519ee505d3d35.apk
12.46.1.1,2023年08月22日 15:40,https://android-apps.pp.cn/fs08/2023/08/22/6/110_c2dd6ea4bda73bdf759bb75e8af90213.apk
12.45.7.0,2023年08月14日 15:30,https://android-apps.pp.cn/fs08/2023/08/14/1/110_3e216685dccafe5984e2cde009614cf2.apk
12.45.1.1,2023年08月07日 16:45,https://android-apps.pp.cn/fs08/2023/08/07/6/110_ac94a3f508ba48000390d08a456072a3.apk
12.44.1.0,2023年07月17日 17:02,https://android-apps.pp.cn/fs08/2023/07/17/1/110_c54b1eae5a51f81876a252f75df200b9.apk
12.43.7.0,2023年07月07日 15:35,https://android-apps.pp.cn/fs08/2023/07/07/4/110_2c13a7f4f994561dd165b955883a3ef3.apk
12.43.1.0,2023年06月25日 15:35,https://android-apps.pp.cn/fs08/2023/06/25/11/110_04bccfb50d65a3b5af7ee77a7fbc5c81.apk
12.42.5.0,2023年06月09日 15:50,https://android-apps.pp.cn/fs08/2023/06/09/11/110_eaa5f399e17e8130699b34bd437c805a.apk
12.42.1.1,2023年06月06日 16:20,https://android-apps.pp.cn/fs08/2023/06/06/0/110_806559233abc71d37292dc13e7680bb4.apk
12.41.7.1,2023年06月05日 10:05,https://android-apps.pp.cn/fs08/2023/06/05/7/110_974569d72e8629cb6d852bb61b1e9f7d.apk
12.41.7.0,2023年05月31日 17:10,https://android-apps.pp.cn/fs08/2023/05/31/10/110_cb27122c9924285428c6018258ef132b.apk
12.41.5.1,2023年05月25日 14:20,https://android-apps.pp.cn/fs08/2023/05/25/4/110_81101df34d83c08bf169f056a4c9458b.apk
12.41.1.0,2023年05月18日 15:10,https://android-apps.pp.cn/fs08/2023/05/18/4/110_6496feecb27dfe166983a3b2e4cd86aa.apk
12.40.1.1,2023年05月05日 11:14,https://android-apps.pp.cn/fs08/2023/05/05/7/2_71a7aed410b58869173e12132e2e78dc.apk
12.39.7.2,2023年04月20日 16:51,https://android-apps.pp.cn/fs08/2023/04/20/11/106_c46c3d08f94fb3d5478066726da27a04.apk
12.39.1.1,2023年04月11日 17:42,https://android-apps.pp.cn/fs08/2023/04/11/10/2_828f4effc9e8d152b2bb6022738c227d.apk
12.38.1.1,2023年03月28日 15:21,https://android-apps.pp.cn/fs08/2023/03/28/0/2_c5ac163d6982a7930dcbba2a731556bd.apk
12.38.1.0,2023年03月22日 17:25,https://android-apps.pp.cn/fs08/2023/03/22/5/2_8c74fc7589216b3e4fbceb687e1ade26.apk
12.37.1.0,2023年02月28日 17:32,https://android-apps.pp.cn/fs08/2023/02/28/8/2_38e2ee5b1c35734a151e329ec0e682ab.apk
12.36.3.2,2023年02月16日 11:25,https://android-apps.pp.cn/fs08/2023/02/16/0/2_edd1499b83db55863a8055d4af6f1bc7.apk
12.36.3.1,2023年02月14日 17:01,https://android-apps.pp.cn/fs08/2023/02/14/5/2_ad5e59262887a5a2eaf9bd44b33c9f3d.apk
12.36.3.0,2023年02月10日 11:51,https://android-apps.pp.cn/fs08/2023/02/10/2/106_9857893b2924a6d7bcb4cfb0eccca98b.apk
12.36.1.0,2023年02月07日 19:15,https://android-apps.pp.cn/fs08/2023/02/07/1/2_ebbabd9d69553af34fcca23709b717a1.apk
12.35.1.2,2023年01月30日 18:20,https://android-apps.pp.cn/fs08/2023/01/30/10/110_b70ab03d642c3303054b7da4ea113c2e.apk
12.35.1.0,2023年01月13日 21:00,https://android-apps.pp.cn/fs08/2023/01/13/5/110_8742ac8afda105ff14e1d264b4617d8b.apk

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407303213

wget2 -O 12.51.7.1.apk https://android-apps.pp.cn/fs08/2023/12/12/3/110_94efd030cb3bd019fa39a0a497f13abf.apk && touch -c -t 202312121435 12.51.7.1.apk
wget2 -O 12.51.5.1.apk https://android-apps.pp.cn/fs08/2023/12/04/8/110_02896571c48622ed2b6b4bcb386a8229.apk && touch -c -t 202312041525 12.51.5.1.apk
wget2 -O 12.51.1.0.apk https://android-apps.pp.cn/fs08/2023/11/29/7/110_a9eee97937e7a268a8f72776a54f84e3.apk && touch -c -t 202311291610 12.51.1.0.apk
wget2 -O 12.50.3.1.apk https://android-apps.pp.cn/fs08/2023/11/22/8/110_1e1a90936d130299350cb1fdca143153.apk && touch -c -t 202311221655 12.50.3.1.apk
wget2 -O 12.50.3.0.apk https://android-apps.pp.cn/fs08/2023/11/09/2/110_931e2ce75d916258392f5733f95871ac.apk && touch -c -t 202311091325 12.50.3.0.apk
wget2 -O 12.50.1.1.apk https://android-apps.pp.cn/fs08/2023/11/03/8/110_b4590ec70411e8d31712b636769eb386.apk && touch -c -t 202311031635 12.50.1.1.apk
wget2 -O 12.49.1.0.apk https://android-apps.pp.cn/fs08/2023/10/19/6/110_7f6b609236cf87e359646898725c876a.apk && touch -c -t 202310191515 12.49.1.0.apk
wget2 -O 12.48.1.1.apk https://android-apps.pp.cn/fs08/2023/09/22/6/110_cd96beef90eca9d7e4387481190ece2e.apk && touch -c -t 202309221610 12.48.1.1.apk
wget2 -O 12.47.1.0.apk https://android-apps.pp.cn/fs08/2023/09/14/10/110_95e94f82baeaadff01e21a9926ce858c.apk && touch -c -t 202309141445 12.47.1.0.apk
wget2 -O 12.46.3.0.apk https://android-apps.pp.cn/fs08/2023/08/30/0/110_9cb7a80870b1d191898519ee505d3d35.apk && touch -c -t 202308301510 12.46.3.0.apk
wget2 -O 12.46.1.1.apk https://android-apps.pp.cn/fs08/2023/08/22/6/110_c2dd6ea4bda73bdf759bb75e8af90213.apk && touch -c -t 202308221540 12.46.1.1.apk
wget2 -O 12.45.7.0.apk https://android-apps.pp.cn/fs08/2023/08/14/1/110_3e216685dccafe5984e2cde009614cf2.apk && touch -c -t 202308141530 12.45.7.0.apk
wget2 -O 12.45.1.1.apk https://android-apps.pp.cn/fs08/2023/08/07/6/110_ac94a3f508ba48000390d08a456072a3.apk && touch -c -t 202308071645 12.45.1.1.apk
wget2 -O 12.44.1.0.apk https://android-apps.pp.cn/fs08/2023/07/17/1/110_c54b1eae5a51f81876a252f75df200b9.apk && touch -c -t 202307171702 12.44.1.0.apk
wget2 -O 12.43.7.0.apk https://android-apps.pp.cn/fs08/2023/07/07/4/110_2c13a7f4f994561dd165b955883a3ef3.apk && touch -c -t 202307071535 12.43.7.0.apk
wget2 -O 12.43.1.0.apk https://android-apps.pp.cn/fs08/2023/06/25/11/110_04bccfb50d65a3b5af7ee77a7fbc5c81.apk && touch -c -t 202306251535 12.43.1.0.apk
wget2 -O 12.42.5.0.apk https://android-apps.pp.cn/fs08/2023/06/09/11/110_eaa5f399e17e8130699b34bd437c805a.apk && touch -c -t 202306091550 12.42.5.0.apk
wget2 -O 12.42.1.1.apk https://android-apps.pp.cn/fs08/2023/06/06/0/110_806559233abc71d37292dc13e7680bb4.apk && touch -c -t 202306061620 12.42.1.1.apk
wget2 -O 12.41.7.1.apk https://android-apps.pp.cn/fs08/2023/06/05/7/110_974569d72e8629cb6d852bb61b1e9f7d.apk && touch -c -t 202306051005 12.41.7.1.apk
wget2 -O 12.41.7.0.apk https://android-apps.pp.cn/fs08/2023/05/31/10/110_cb27122c9924285428c6018258ef132b.apk && touch -c -t 202305311710 12.41.7.0.apk
wget2 -O 12.41.5.1.apk https://android-apps.pp.cn/fs08/2023/05/25/4/110_81101df34d83c08bf169f056a4c9458b.apk && touch -c -t 202305251420 12.41.5.1.apk
wget2 -O 12.41.1.0.apk https://android-apps.pp.cn/fs08/2023/05/18/4/110_6496feecb27dfe166983a3b2e4cd86aa.apk && touch -c -t 202305181510 12.41.1.0.apk
wget2 -O 12.40.1.1.apk https://android-apps.pp.cn/fs08/2023/05/05/7/2_71a7aed410b58869173e12132e2e78dc.apk && touch -c -t 202305051114 12.40.1.1.apk
wget2 -O 12.39.7.2.apk https://android-apps.pp.cn/fs08/2023/04/20/11/106_c46c3d08f94fb3d5478066726da27a04.apk && touch -c -t 202304201651 12.39.7.2.apk
wget2 -O 12.39.1.1.apk https://android-apps.pp.cn/fs08/2023/04/11/10/2_828f4effc9e8d152b2bb6022738c227d.apk && touch -c -t 202304111742 12.39.1.1.apk
wget2 -O 12.38.1.1.apk https://android-apps.pp.cn/fs08/2023/03/28/0/2_c5ac163d6982a7930dcbba2a731556bd.apk && touch -c -t 202303281521 12.38.1.1.apk
wget2 -O 12.38.1.0.apk https://android-apps.pp.cn/fs08/2023/03/22/5/2_8c74fc7589216b3e4fbceb687e1ade26.apk && touch -c -t 202303221725 12.38.1.0.apk
wget2 -O 12.37.1.0.apk https://android-apps.pp.cn/fs08/2023/02/28/8/2_38e2ee5b1c35734a151e329ec0e682ab.apk && touch -c -t 202302281732 12.37.1.0.apk
wget2 -O 12.36.3.2.apk https://android-apps.pp.cn/fs08/2023/02/16/0/2_edd1499b83db55863a8055d4af6f1bc7.apk && touch -c -t 202302161125 12.36.3.2.apk
wget2 -O 12.36.3.1.apk https://android-apps.pp.cn/fs08/2023/02/14/5/2_ad5e59262887a5a2eaf9bd44b33c9f3d.apk && touch -c -t 202302141701 12.36.3.1.apk
wget2 -O 12.36.3.0.apk https://android-apps.pp.cn/fs08/2023/02/10/2/106_9857893b2924a6d7bcb4cfb0eccca98b.apk && touch -c -t 202302101151 12.36.3.0.apk
wget2 -O 12.36.1.0.apk https://android-apps.pp.cn/fs08/2023/02/07/1/2_ebbabd9d69553af34fcca23709b717a1.apk && touch -c -t 202302071915 12.36.1.0.apk
wget2 -O 12.35.1.2.apk https://android-apps.pp.cn/fs08/2023/01/30/10/110_b70ab03d642c3303054b7da4ea113c2e.apk && touch -c -t 202301301820 12.35.1.2.apk
wget2 -O 12.35.1.0.apk https://android-apps.pp.cn/fs08/2023/01/13/5/110_8742ac8afda105ff14e1d264b4617d8b.apk && touch -c -t 202301132100 12.35.1.0.apk
n0099 commented 10 months ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1416782147

mtime

12.35.1.0 2023-01-13T16:40:30+0800
12.35.1.2 2023-01-30T12:57:18+0800
12.36.1.0 2023-02-07T15:29:22+0800
12.36.3.0 2023-02-09T21:04:46+0800
12.36.3.1 2023-02-13T21:26:02+0800
12.36.3.2 2023-02-15T18:02:10+0800
12.37.1.0 2023-02-27T18:32:50+0800
12.38.1.0 2023-03-22T15:02:58+0800
12.38.1.1 2023-03-27T23:00:14+0800
12.39.1.1 2023-04-11T14:20:20+0800
12.39.7.2 2023-04-20T14:10:26+0800
12.40.1.1 2023-05-04T14:21:00+0800
12.41.1.0 2023-05-17T21:27:18+0800
12.41.5.1 2023-05-24T15:59:28+0800
12.41.7.0 2023-05-31T14:17:36+0800
12.41.7.1 2023-06-01T02:31:26+0800
12.42.1.1 2023-06-03T22:52:20+0800
12.42.5.0 2023-06-08T21:30:12+0800
12.43.1.0 2023-06-21T19:30:38+0800
12.43.7.0 2023-06-29T22:42:34+0800
12.44.1.0 2023-07-14T21:50:06+0800
12.45.1.1 2023-08-07T13:19:00+0800
12.45.7.0 2023-08-14T12:55:48+0800
12.46.1.1 2023-08-22T14:06:50+0800
12.46.3.0 2023-08-28T20:43:34+0800
12.47.1.0 2023-09-13T20:19:52+0800
12.48.1.1 2023-09-21T23:54:20+0800
12.49.1.0 2023-10-18T22:33:58+0800
12.50.1.1 2023-11-03T14:47:38+0800
12.50.3.0 2023-11-07T23:03:00+0800
12.50.3.1 2023-11-22T10:47:26+0800
12.51.1.0 2023-11-28T20:10:50+0800
12.51.5.1 2023-12-02T18:03:08+0800
12.51.7.1 2023-12-10T21:23:42+0800

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1417424277

dirCount

12.35.1.0 222
12.35.1.2 222
12.36.1.0 222
12.36.3.0 222
12.36.3.1 222
12.36.3.2 222
12.37.1.0 221
12.38.1.0 219
12.38.1.1 219
12.39.1.1 219
12.39.7.2 253
12.40.1.1 219
12.41.1.0 219
12.41.5.1 253
12.41.7.0 253
12.41.7.1 253
12.42.1.1 219
12.42.5.0 219
12.43.1.0 219
12.43.7.0 219
12.44.1.0 218
12.45.1.1 218
12.45.7.0 218
12.46.1.1 218
12.46.3.0 218
12.47.1.0 218
12.48.1.1 217
12.49.1.0 217
12.50.1.1 217
12.50.3.0 217
12.50.3.1 217
12.51.1.0 217
12.51.5.1 217
12.51.7.1 217

fileCount

12.35.1.0 1488
12.35.1.2 1488
12.36.1.0 1488
12.36.3.0 1488
12.36.3.1 1489
12.36.3.2 1490
12.37.1.0 1485
12.38.1.0 1481
12.38.1.1 1519
12.39.1.1 1521
12.39.7.2 1607
12.40.1.1 1522
12.41.1.0 1522
12.41.5.1 1620
12.41.7.0 1620
12.41.7.1 1620
12.42.1.1 1531
12.42.5.0 1531
12.43.1.0 1535
12.43.7.0 1537
12.44.1.0 1542
12.45.1.1 1549
12.45.7.0 1549
12.46.1.1 1551
12.46.3.0 1552
12.47.1.0 1541
12.48.1.1 1543
12.49.1.0 1550
12.50.1.1 1573
12.50.3.0 1573
12.50.3.1 1573
12.51.1.0 1576
12.51.5.1 1576
12.51.7.1 1576

$ join <(join mtime fileCount) dirCount

版本号 编译时间*
12.35.1.0 23-01-13 16:40:30 1488 222 ✔️ 🔴 🔴 🔴
12.35.1.2 23-01-30 12:57:18 1488 222 ✔️ 🔴 🔴 🔴
12.36.1.0 23-02-07 15:29:22 1488 222 ✔️ 🔴 🔴 🔴
12.36.3.0 23-02-09 21:04:46 1488 222 ✔️ 🔴 🔴 🔴
12.36.3.1 23-02-13 21:26:02 1489 222 ✔️ 🔴 🔴 🔴
12.36.3.2 23-02-15 18:02:10 1490 222 ✔️ 🔴 🔴 🔴
12.37.1.0 23-02-27 18:32:50 1485 221 ✔️ 🔴 🔴 🔴
12.38.1.0 23-03-22 15:02:58 1481 219 ✔️ 🔴 🔴 🔴
12.38.1.1 23-03-27 23:00:14 1519 219 ✔️ 🔴 🔴 🔴
12.39.1.1 23-04-11 14:20:20 1521 219 ✔️ 🔴 🔴 🔴
12.39.7.2 23-04-20 14:10:26 1607 253 ✔️ 🔴 🔴 🔴
12.40.1.1 23-05-04 14:21:00 1522 219 ✔️ 🔴 🔴 🔴
12.41.1.0 23-05-17 21:27:18 1522 219 ✔️ 🔴 🔴 🔴
12.41.5.1 23-05-24 15:59:28 1620 253 ✔️ 🔴 🔴 🔴
12.41.7.0 23-05-31 14:17:36 1620 253 ✔️ 🔴 🔴 🔴
12.41.7.1 23-06-01 02:31:26 1620 253 ✔️ 🔴 🔴 🔴
12.42.1.1 23-06-03 22:52:20 1531 219 ✔️ 🔴 🔴 🔴
12.42.5.0 23-06-08 21:30:12 1531 219 ✔️ 🔴 🔴 🔴
12.43.1.0 23-06-21 19:30:38 1535 219 ✔️ 🔴 🔴 🔴
12.43.7.0 23-06-29 22:42:34 1537 219 ✔️ 🔴 🔴 🔴
12.44.1.0 23-07-14 21:50:06 1542 218 ✔️ 🔴 🔴 🔴
12.45.1.1 23-08-07 13:19:00 1549 218 ✔️ 🔴 🔴 🔴
12.45.7.0 23-08-14 12:55:48 1549 218 ✔️ 🔴 🔴 🔴
12.46.1.1 23-08-22 14:06:50 1551 218 ✔️ 🔴 🔴 🔴
12.46.3.0 23-08-28 20:43:34 1552 218 ✔️ 🔴 🔴 🔴
12.47.1.0 23-09-13 20:19:52 1541 218 ✔️ 🔴 🔴 🔴
12.48.1.1 23-09-21 23:54:20 1543 217 ✔️ 🔴 🔴 🔴
12.49.1.0 23-10-18 22:33:58 1550 217 ✔️ 🔴 🔴 🔴
12.50.1.1 23-11-03 14:47:38 1573 217 ✔️ 🔴 🔴 🔴
12.50.3.0 23-11-07 23:03:00 1573 217 ✔️ 🔴 🔴 🔴
12.50.3.1 23-11-22 10:47:26 1573 217 ✔️ 🔴 🔴 🔴
12.51.1.0 23-11-28 20:10:50 1576 217 ✔️ 🔴 🔴 🔴
12.51.5.1 23-12-02 18:03:08 1576 217 ✔️ 🔴 🔴 🔴
12.51.7.1 23-12-10 21:23:42 1576 217 ✔️ 🔴 🔴 🔴
n0099 commented 10 months ago
git clone https://github.com/n0099/open-tbclient
git checkout src
git log --format='%s %H' --shortstat
12.51.7.1 7cd55773c530118a622de825afc1cc33175c3d4d
  8039 files changed, 723166 insertions(+), 722761 deletions(-)
12.51.5.1 3e26453fb8de1df72ec464fd4f09feb083533d54
  16067 files changed, 1522943 insertions(+), 1522088 deletions(-)
12.51.1.0 aa752c3f58e7f047c10c0287265bf0dfa3121614
  23347 files changed, 2073128 insertions(+), 1985470 deletions(-)
12.50.3.1 93c36d1ed901cb10487b2f95fcd9ee9da97bbc62
  10267 files changed, 936673 insertions(+), 936474 deletions(-)
12.50.3.0 26d698a427a94db749290a70113fa9cdeb030be9
  188 files changed, 2610 insertions(+), 1955 deletions(-)
12.50.1.1 cb1bca21989496adc416e48db5f36ed62beae41a
  21170 files changed, 1948536 insertions(+), 1855474 deletions(-)
12.49.1.0 db37dbaeb66bb91637dd6d2197152d8e0905ef30
  21394 files changed, 1860210 insertions(+), 1961371 deletions(-)
12.48.1.1 c7a27802aa9e7918da41b06b64af7fef73bf1911
  18320 files changed, 1698585 insertions(+), 1712001 deletions(-)
12.47.1.0 d192bd93c93b409acb144480c2cf21f3becc72a9
  19822 files changed, 1870483 insertions(+), 1839893 deletions(-)
12.46.3.0 a9076cbaa9e733ab58f6797da54dbdafb49d13b2
  2538 files changed, 190368 insertions(+), 189605 deletions(-)
12.46.1.1 4c81ff36931e329b2d2fc2eddf810833fd28b223
  18818 files changed, 1771780 insertions(+), 1727257 deletions(-)
12.45.7.0 05f9c36fef824b8d5da2b62dbc0ad8c7762230d1
  9177 files changed, 861138 insertions(+), 860234 deletions(-)
12.45.1.1 17e38db583653859e543fef8a45f54ddbc1a3eb7
  18449 files changed, 1791457 insertions(+), 1770021 deletions(-)
12.44.1.0 1d86379f36cfe9e1f7b211390fc5855d3dc658c2
  19575 files changed, 1800387 insertions(+), 1755901 deletions(-)
12.43.7.0 e825b48e448a4e59c3c6228c8302cb24790ee1d7
  18676 files changed, 1747099 insertions(+), 1706731 deletions(-)
12.43.1.0 9857deef0f579001aa0acad3455237fc801d4013
  16637 files changed, 1641649 insertions(+), 1636138 deletions(-)
12.42.5.0 e19c50a7e78b83842fa238c6c00ff30d41aea1ac
  9612 files changed, 924003 insertions(+), 923169 deletions(-)
12.42.1.1 eed7d687e0985f2cef290895c2047f25545f89d6
  26246 files changed, 2022232 insertions(+), 1857792 deletions(-)
12.41.7.1 898a5ed9e64d8c30a4d987cddeeeaba1a81fa0dd
  29 files changed, 45 insertions(+), 44 deletions(-)
12.41.7.0 c37f121e38712d69aac344af073f34737dbcf66c
  28 files changed, 28 insertions(+), 28 deletions(-)
12.41.5.1 666d08a3e843a2216267ea131f2366075d3a1b27
  7214 files changed, 698590 insertions(+), 687734 deletions(-)
12.41.1.0 732a42f8d18347359f8deafe3b8dacfbeecb33c0
  36932 files changed, 1912385 insertions(+), 1793180 deletions(-)
12.40.1.1 e9c3566d9b35f8b06f10bda29ffa7fc3480a6d27
  16017 files changed, 1596627 insertions(+), 1574736 deletions(-)
12.39.7.2 6a952dc436a3e28c6296dc261fc4f1180ecd322b
  14992 files changed, 1464497 insertions(+), 1453945 deletions(-)
12.39.1.1 94e0fd9e41d34081ff8480b8ea40acc155224e96
  16797 files changed, 1631451 insertions(+), 1609780 deletions(-)
12.38.1.1 85c0d94290bf0059f904a5ab13cc96729e7c17a2
  75 files changed, 3457 insertions(+), 52 deletions(-)
12.38.1.0 62ba192f9eed1ba3ee764a584b93b5ff42d1bfed
  18357 files changed, 1872321 insertions(+), 1760698 deletions(-)
12.37.1.0 c910c5484808ea8968bf8d19ac59500764e4bd5d
  27216 files changed, 2465501 insertions(+), 3463241 deletions(-)
12.36.3.2 0224b38e8149b6c1c7300b31c9b6d7a45e567e9d
  786 files changed, 6540 insertions(+), 6402 deletions(-)
12.36.3.1 a7585d6dad55993c4405def37d0f4f392fd76906
  5 files changed, 80 insertions(+), 3 deletions(-)
12.36.3.0 5744b904167dfe07cb5823493de0ded3f8e8f478
  6026 files changed, 466647 insertions(+), 444214 deletions(-)
12.36.1.0 2431f661ebf108844b5a34b0d6f1632c6599aac6
  17399 files changed, 1746339 insertions(+), 1698203 deletions(-)
12.35.1.2 1d2c74fd57e0ee341c0ecf90b9ed89f24dcf99e9
  34 files changed, 668 insertions(+), 670 deletions(-)
12.35.1.0 42ddf7da82d200f4a6fb22ff60f41b0c1b1c67bb
  18269 files changed, 1690262 insertions(+), 1663951 deletions(-)
12.34.3.0 0203c3a927bbe3fd24521e5f08cd60a3c41d2175
  6270 files changed, 448712 insertions(+), 578525 deletions(-)
12.34.1.0 d43e4ec23d48416fb664d0c38d7cf6a21b785d60
  20450 files changed, 1612955 insertions(+), 1491869 deletions(-)
12.32.5.2 4126a3ba6e532a2ad4cb92ffd04aef42a4d4eafa
  36 files changed, 556 insertions(+), 256 deletions(-)
12.32.5.1 de7d2b5bdf6a1e3a37f0e489ea364fafa5020e21
  342 files changed, 21966 insertions(+), 4073 deletions(-)
12.32.3.0 90a677b7d2d0a5048ff05cf7dc369eb767256db8
  7950 files changed, 783942 insertions(+), 783792 deletions(-)
12.32.1.0 331d1243425f3a4769cb22b1fddcecaef956b159
  14681 files changed, 1478859 insertions(+), 1468294 deletions(-)
12.31.5.0 73183f02a98d0e088c59e3069bd28a0c45fba4ff
  28313 files changed, 1778313 insertions(+), 1685635 deletions(-)
12.30.1.0 47ab70f6c8b3e98f75e792d641c5ceef1ce6e900
  30804 files changed, 2886585 insertions(+), 2652308 deletions(-)
12.29.7.0 28c732c0b3cc97db5ea665fa10d502fab7178d68
  1936 files changed, 14348 insertions(+), 13967 deletions(-)
12.29.5.0 83476c1fa15fedc7d065363c02b584ae8d72a13e
  13388 files changed, 1332392 insertions(+), 1332681 deletions(-)
12.29.1.1 885020e238f6d27d0ccf257a0fd7c6c36bf6b96c
  18372 files changed, 1666605 insertions(+), 1533199 deletions(-)
12.28.1.1 37cc987334c7baedcd8c13f38b2879d2e3cdb23b
  7882 files changed, 731529 insertions(+), 732286 deletions(-)
12.28.1.0 cd1eb25de3271b4062fbbcc29c8f1cce680811f4
  31125 files changed, 1726280 insertions(+), 1724172 deletions(-)
12.27.5.0 d03952cf72b3d07ff66f6d0b6ac830a2c8025434
  6505 files changed, 380477 insertions(+), 366397 deletions(-)
12.27.1.1 7a30f22d17a3362b58c207c21fe58b195c77b604
  572 files changed, 2311 insertions(+), 2187 deletions(-)
12.27.1.0 49c3c0afd336cdefe9c50bec459ca97d7d254f2a
  18407 files changed, 1601756 insertions(+), 1463952 deletions(-)
12.26.5.0 ee30e7017d1f9a602c53cd5d9051717c6eb4049f
  11723 files changed, 647710 insertions(+), 630602 deletions(-)
12.26.3.0 61b2f783a7bb7d2cabfecab055d5eb17fb6a5de8
  20 files changed, 741 insertions(+), 48 deletions(-)
12.26.1.0 98bb3d12acbd9a4d9670d2ef1ef5f72e03f503a7
  18477 files changed, 1614693 insertions(+), 1573636 deletions(-)
12.25.5.0 9c119ab9e5c88f5febc30df98d09f2e39ab62969
  17301 files changed, 1609178 insertions(+), 1564159 deletions(-)
12.25.1.0 8a90207bfaad72cb5ae2fd6183ff3206c55c0568
  16680 files changed, 1412768 insertions(+), 1464988 deletions(-)
12.24.1.0 86728387a5ea78014b6b90c349f83a753aa58e06
  15456 files changed, 1309625 insertions(+), 1348842 deletions(-)
12.23.7.0 58a671007c4acef8fe9d45f8a0401133d89e5ead
  633 files changed, 22927 insertions(+), 1547 deletions(-)
12.23.5.0 b49ba3be0cee26a3e764745a8bc5fb33bab2d4fc
  9393 files changed, 776609 insertions(+), 773834 deletions(-)
12.23.1.0 65efac4217691c53ec8d8697fb0b6e98ffff06e2
  40710 files changed, 2049740 insertions(+), 2130641 deletions(-)
12.22.1.0 30985d0fb432625bd9e7ceec60a53d6334b00461
  46040 files changed, 2387962 insertions(+), 3173484 deletions(-)
12.21.1.0 79daa0216916c0d7b02a8ed2f940d2db6210716f
  46265 files changed, 1953504 insertions(+), 2294214 deletions(-)
12.20.1.0 3ac9c2b8a84a856407005b9115e6ade5e23d9031
  32820 files changed, 2061288 insertions(+), 2020512 deletions(-)
12.19.1.0 c7794f21b5b3240309ae78eb641ed73ceede8d9a
  19875 files changed, 1030649 insertions(+), 1016066 deletions(-)
12.18.1.0 80a3c5601c28a2c510b942a3dca7ba44de0fce02
  17714 files changed, 826424 insertions(+), 784771 deletions(-)
12.17.1.0 2d8f04be86de39a6dca9f237600454543d08c08e
  27333 files changed, 2031913 insertions(+), 2161005 deletions(-)
12.16.1.0 60d8b0d3666ead274078abff05feabe9aff601ff
  44645 files changed, 2165800 insertions(+), 2044696 deletions(-)
12.15.1.0 84fc6f8e2abe71db5ffd6256979b530117488d67
  44696 files changed, 2775109 insertions(+), 2523377 deletions(-)
12.14.1.0 6b9d91df1b19eb4e12c637cb4132c02688b0866b
  25325 files changed, 1496964 insertions(+), 1559657 deletions(-)
12.13.2.0 d8d6f5b9db8cb6f90e4423abec949eb12cc64ce2
  5123 files changed, 140614 insertions(+), 140757 deletions(-)
12.13.1.0 e0a961ab36d07dd43671f61e2443578037c51503
  45720 files changed, 2545463 insertions(+), 2509384 deletions(-)
12.12.1.0 616d95b5748d953d7721fe318823c0c956c47dbc
  16777 files changed, 1071075 insertions(+), 1068950 deletions(-)
12.11.1.0 64498912ef0b7300991f07e644b2b3f1f19eed20
  15943 files changed, 614367 insertions(+), 602934 deletions(-)
12.10.1.0 ee5cc35bfe9a129fea1451e4b359c9052c5ace5a
  24633 files changed, 1704055 insertions(+), 1690226 deletions(-)
12.9.3.0 176bbc22fb7e3f0e39305e493c16944edf1d5365
  6 files changed, 274 insertions(+), 272 deletions(-)
12.9.2.0 8efea217fa3ff8df7af6c12369120b684bef4182
  4 files changed, 254 insertions(+), 253 deletions(-)
12.9.1.0 eb0c7c015516114e35bfa255b8431c81e15cb4ce
  25200 files changed, 1750453 insertions(+), 1744819 deletions(-)
12.8.1.1 5a321d1483a8fda51c3abdd8988832f1280873c4
  36 files changed, 41 insertions(+), 35 deletions(-)
12.8.1.0 9eee08bb18e6441465c39386e361c98b06085f5e
  44308 files changed, 2589368 insertions(+), 2302993 deletions(-)
12.7.6.0 37a193ec9a8cbf26084bee3cce41c7f2284437d5
  26274 files changed, 1908235 insertions(+), 1873139 deletions(-)
12.7.1.1 6062ccd5d2184f488ee63114da6c14dcda5b1f0f
  6 files changed, 251 insertions(+), 213 deletions(-)
12.7.1.0 a1f8610616565dbf658bbb643cea4a59664501c7
  40510 files changed, 1800841 insertions(+), 1959480 deletions(-)
12.6.6.0 7479658955776d35175a3e5dfe1fe6ce38a51f8d
  42783 files changed, 5102641 insertions(+), 2386862 deletions(-)
12.6.3.0 3519a344d95a2d257a38b4fa163ba8cb86798614
  22460 files changed, 1074990 insertions(+), 1062242 deletions(-)
12.6.1.0 99b4aff53b150ff78d654bdba11cfe16e163a683
  20106 files changed, 736751 insertions(+), 558486 deletions(-)
12.5.6.0 cda65dff47d807db6a7775166a6b3ef3044f3cbc
  23106 files changed, 1114000 insertions(+), 1108852 deletions(-)
12.5.1.0 f12bb394e091e57fba852ac1d92568c7556f4679
  24071 files changed, 1156865 insertions(+), 1107197 deletions(-)
12.4.8.24 872aadae67acb4433a19dac93765246d4d1c713e
  35145 files changed, 1760340 insertions(+), 1634158 deletions(-)
12.4.8.15 8e9eb394567010f76fbea933b0a45605cca0ec23
  22072 files changed, 1033038 insertions(+), 1020300 deletions(-)
12.4.8.14 4e849ff968e9a6e5a253c5c9a316da06c812dfb6
  22185 files changed, 924027 insertions(+), 841063 deletions(-)
12.4.8.2 5d691f04cf33117a519943f043db47b0d67b4b41
  18698 files changed, 309599 insertions(+), 311927 deletions(-)
12.4.8.0 2d0e1a4a7357c29baa2fa084a7f52d0866e185ca
  44997 files changed, 2847557 insertions(+), 2961802 deletions(-)
12.3.8.11 f70a5c214dd3f401eeb630b2ba99aca9d33e9ee5
  13 files changed, 20 insertions(+), 21 deletions(-)
12.3.8.10 556e9571232be2a8ea259882b26d7eff889d5ec5
  26787 files changed, 636868 insertions(+), 702989 deletions(-)
12.3.8.6 636c8b0b753caf0eee06c8e649dd308c1350943c
  7782 files changed, 242653 insertions(+), 241373 deletions(-)
12.3.8.3 8b22dbc728902cf898bfb9ea1f95c3994b4b87e8
  17 files changed, 23 insertions(+), 44 deletions(-)
12.3.8.0 49af59dd1f6ec7b064846e37b219983c13a707a2
  29040 files changed, 823411 insertions(+), 705070 deletions(-)
12.2.8.11 d0cddf03aa9e7e2ea09a12ec7067e5987fa97923
  2978 files changed, 49912 insertions(+), 49863 deletions(-)
12.2.8.9 0e7bfed3025970e1da8c3eb1e9979609660e6186
  27315 files changed, 587429 insertions(+), 615461 deletions(-)
12.2.8.1 d8ed4f80d22c9ae8c8fd33599757a3e187bf82e1
  17330 files changed, 305174 insertions(+), 217466 deletions(-)
12.2.8.0 dcbf9afa046ed414cdfd7110ca202671c7acc088
  32488 files changed, 1453775 insertions(+), 976329 deletions(-)
12.1.8.4 daf20f72080a20fbcc31800e245a712729e0b5c1
  5869 files changed, 216313 insertions(+), 216248 deletions(-)
12.1.8.1 65507c039e11fd02c910be8665e4a9d9b12c0978
  94 files changed, 279 insertions(+), 293 deletions(-)
12.1.8.0 4efd03a4d0ff86fd999f7f87ba15e9a54d9afe26
  25060 files changed, 709673 insertions(+), 828110 deletions(-)
12.0.8.1 da673cb5e48ec5f91b5ada20e63ea66bf8f6379d
  13 files changed, 22 insertions(+), 15 deletions(-)
12.0.8.0 f81574cccfde12587be94b22f601b415bf36d501
  23025 files changed, 579183 insertions(+), 576829 deletions(-)
12.0.2.2 dc1ac35cf10204a0077849bcce7f4de661e3387e
  14633 files changed, 543994 insertions(+), 524081 deletions(-)
11.10.8.6 909828e74aec255c2caa00b158fa53f137c92635
  13273 files changed, 634364 insertions(+), 515551 deletions(-)
11.10.8.0 c65d9372afe2781d9d399221baca1130d9522b64
  23676 files changed, 607306 insertions(+), 550606 deletions(-)
11.9.8.0 86dc1de453c656b6dab9ce0dc22d512307f8f94d
  23891 files changed, 615851 insertions(+), 573448 deletions(-)
11.8.8.7 02bc0e0f2a2e19371b0f3ec01eb227a078dbf382
  10912 files changed, 332884 insertions(+), 332081 deletions(-)
11.8.8.0 1590aa391f9c62bd937f8d7f511382dc914192dd
  23649 files changed, 806443 insertions(+), 701782 deletions(-)
11.7.8.1 a89a665fcf4cf3ddb7da1b27056c9f7bc58b56ae
  4159 files changed, 120124 insertions(+), 119938 deletions(-)
11.7.8.0 cf0e6f2c059168d173dc860b38c43dbe0dbc4a6b
  23277 files changed, 639880 insertions(+), 634765 deletions(-)
11.6.8.2 beffd7736f9875f59f2c5d5aa374f581d92d4062
  7 files changed, 11 insertions(+), 7 deletions(-)
11.6.8.1 24809bfe6f132d0217f46512b7390347ce1e2b28
  5036 files changed, 84221 insertions(+), 84008 deletions(-)
11.6.8.0 db5e5392efbc06959991ea958f6b9679b0e0c4fd
  12181 files changed, 594385 insertions(+), 529321 deletions(-)
11.5.8.3 d272ab3b74ff9a9b0538dee1859476bd1b9e37bb
  6921 files changed, 260226 insertions(+), 258135 deletions(-)
11.5.8.0 3f6405dbde670862fe208b47b93d585569a4b9bc
  12164 files changed, 599953 insertions(+), 535404 deletions(-)
11.4.8.7 55ea7df947e1bc18bbaa8a4c64fc879c484fbbce
  2883 files changed, 27884 insertions(+), 27875 deletions(-)
11.4.8.6 1ad1d643daa1a41659f707d5ff85acab9c6bc482
  10808 files changed, 405020 insertions(+), 396658 deletions(-)
11.4.8.0 abe17a78b72272eabbeaa2cfde63a5f99925f0f2
  13322 files changed, 597406 insertions(+), 620477 deletions(-)
11.3.8.2 190dfca5249066c33cda7e7b72b6e25564a604e1
  19 files changed, 72 insertions(+), 31 deletions(-)
11.3.8.1 84d849d7fd18ab0f6fb691bf18d95ec781a69bc9
  1475 files changed, 6078 insertions(+), 6067 deletions(-)
11.3.8.0 12ebaa77c67925be862ab3c1bd2fe2b0c3f902e0
  9760 files changed, 411780 insertions(+), 406762 deletions(-)
11.2.8.4 391a9a518a8fe08be1e31ee35a22ba0db685f9cb
  7776 files changed, 311666 insertions(+), 310911 deletions(-)
11.2.8.1 c5484d171793172e12972844b7ac9d6f389a0cc4
  8678 files changed, 276444 insertions(+), 276269 deletions(-)
11.2.8.0 5f15277cee9ccb15bb9c2778cb49ebfb0bcbf891
  21714 files changed, 562885 insertions(+), 494660 deletions(-)
11.1.8.2 18b20bfecb4077ed5d155ec0995cae8baaab2ddf
  10 files changed, 45 insertions(+), 24 deletions(-)
11.1.8.1 d3dec0b7828dc0d6cc9177df98cdb0838770b502
  3410 files changed, 93738 insertions(+), 93700 deletions(-)
11.1.8.0 00ce87bc8fd3ccbe07d9a833759b04ab350dfc51
  19586 files changed, 630790 insertions(+), 474406 deletions(-)
11.0.0.0 28681fb253445ec0a3554db163cc9abbfd9d13a1
  21032 files changed, 1175379 insertions(+), 574502 deletions(-)
10.3.8.41 cf3cf223e0eff0dd0a017e340965ae654279a23c
  1214 files changed, 48543 insertions(+), 41805 deletions(-)
10.3.8.34 be753f148577c72316b8f91f27c1e1828ef488f8
  12 files changed, 64 insertions(+), 29 deletions(-)
10.3.8.33 15fbb6c2c93bac9e3acf216b775f47ff5107a42d
  37 files changed, 195 insertions(+), 216 deletions(-)
10.3.8.30 ce91bed0fa726ef184dca7df248331b85bcfd0f8
  7938 files changed, 286542 insertions(+), 287486 deletions(-)
10.3.8.19 3a507c253eac8c8772001bcb145a39a8ce4c86b3
  10850 files changed, 728822 insertions(+), 308796 deletions(-)
10.3.8.12 84622d36dc3debc030746e572bfcdeee03b62ec9
  6680 files changed, 285530 insertions(+), 262482 deletions(-)
10.3.8.10 467dfb3ebb08513751cf221ffb770cce16b7d70a
  19 files changed, 35 insertions(+), 24 deletions(-)
10.3.8.8 f804ef066d31a7a22b957b894bec81095c74de1e
  12 files changed, 17 insertions(+), 22 deletions(-)
10.3.8.7 65a00e6c41dad7d5c115abbb708d13960bd3a2f4
  4312 files changed, 183451 insertions(+), 181251 deletions(-)
10.3.8.1 44bb953b5155a52561b468a8583d8a84ebb1e07a
  1156 files changed, 29257 insertions(+), 4800 deletions(-)
10.3.8.0 03ff76f8979c65317f30949151bee9dfc77ad5b6
  6988 files changed, 295189 insertions(+), 295745 deletions(-)
10.2.8.8 215a94d258ce552b4a1b3300fe97bf5eb4116ab0
  4484 files changed, 138824 insertions(+), 138279 deletions(-)
10.2.8.5 13fd7b7886b3c7920bc0a3d6e96c2f2dcb2815a9
  9 files changed, 13 insertions(+), 10 deletions(-)
10.2.8.2 cfc39c0daf7d0120e37713241f07134b6049254c
  3260 files changed, 110719 insertions(+), 110470 deletions(-)
10.2.8.0 fa306aa97ec98ade6afd9bdb77adc3a6a8d7b5f0
  8548 files changed, 426037 insertions(+), 403753 deletions(-)
10.1.8.1 e7c2d9aa03343c24d5c6a118a11de4045df8a7bb
  4217 files changed, 121508 insertions(+), 121504 deletions(-)
10.1.8.0 8ddc1554958f9a4e1d331b5b8a931643f580ff90
  5848 files changed, 189402 insertions(+), 188197 deletions(-)
10.0.8.4 fe113aba38c123c43716b5a6a50e9f383e8a55d0
  7825 files changed, 532051 insertions(+), 179943 deletions(-)
10.0.8.2 c22962390900b0ed7cc01920f399272ea542e4ab
  2364 files changed, 59289 insertions(+), 58649 deletions(-)
10.0.8.0 52e5f45887c0ebc647b3c8f717b40e6d615bac43
  12509 files changed, 470515 insertions(+), 853075 deletions(-)
9.9.8.42 7858486f84acf51fc212a1944d39b1b1f2f64479
  4 files changed, 7 insertions(+), 22 deletions(-)
9.9.8.41 885a351a068632ceef3ab054b5eccf9f1dcb2503
  8 files changed, 28 insertions(+), 15 deletions(-)
9.9.8.40 eb9de8ee63292d84871b0ed14a07e68e85aa422b
  43 files changed, 289 insertions(+), 243 deletions(-)
9.9.8.32 49b8b9fd05eb6bc1e86e2c6b7a6379b2ecca5324
  3254 files changed, 109462 insertions(+), 109441 deletions(-)
9.9.8.31 ae89221cbc47005f9db4a67a3d70f0b338352f8c
  4792 files changed, 202825 insertions(+), 199401 deletions(-)
9.9.8.20 ec11b8c5319c3096bf858c74ad320677f647028d
  7 files changed, 11 insertions(+), 22 deletions(-)
9.9.8.12 b2a954ce5f52f17f6ddee18cf86777e0126f1ae0
  3986 files changed, 193141 insertions(+), 191396 deletions(-)
9.9.8.10 7bce9f8fcbec5f7e54d9c8aaeb95d1e261f185ab
  1584 files changed, 15422 insertions(+), 15448 deletions(-)
9.9.8.0 aac6dafb3daeccfd5d3f2986fb6d3d069f4cd172
  4775 files changed, 214179 insertions(+), 205658 deletions(-)
9.8.8.13 0079a05b74f8a720729e552be90123696f1c361b
  6126 files changed, 321868 insertions(+), 245187 deletions(-)
9.8.8.7 78b19f1467800812832d989c2a4e6c00421e28fb
  8 files changed, 19 insertions(+), 17 deletions(-)
9.8.8.5 1fc12c563b1df24b9718724fe92a1574ee8b1378
  2468 files changed, 67302 insertions(+), 67228 deletions(-)
9.8.8.3 4e1361ed22a539af5e884f4a2af28b15321c8f3f
  9148 files changed, 498505 insertions(+), 228484 deletions(-)
9.8.8.0 d396d1de0d1c7e40555950bce1a536c7a16e246f
  5521 files changed, 323479 insertions(+), 249275 deletions(-)
9.7.8.3 130ab6892244cf91e3a622086242546b373f8a82
  3639 files changed, 177218 insertions(+), 174623 deletions(-)
9.7.8.0 efd7e1778f041434377f671fb46061f7fe95e30c
  4397 files changed, 236216 insertions(+), 233752 deletions(-)
9.6.8.2 8ddf9b960c93aebc91482e622eb7776427aa15b4
  4 files changed, 10 insertions(+), 8 deletions(-)
9.6.8.1 c9adb18b68cd1b4eac83a2389bd35da44b009181
  5 files changed, 35 insertions(+), 20 deletions(-)
9.6.8.0 8b821faeebbf75233a7876bd8b4f4a06e634d00e
  4614 files changed, 246031 insertions(+), 237707 deletions(-)
9.5.8.0 6719a822213bc9bd0eaf670b7c8e5f1e04adf417
  5987 files changed, 345735 insertions(+), 282979 deletions(-)
9.4.8.11 f70a5040d6d8ef3dea65addb5bf93917203fb161
  3364 files changed, 172307 insertions(+), 176423 deletions(-)
9.4.8.6 85a1db219d2e61be36487436d847f84d8138abe1
  1876 files changed, 70299 insertions(+), 70061 deletions(-)
9.4.8.4 8c6acfcb8d294a4c67143805532429007933fd0f
  4 files changed, 52 insertions(+), 51 deletions(-)
9.4.8.3 2d092e6f390e0d47f4317133ed4f736aa3419e04
  938 files changed, 4248 insertions(+), 4248 deletions(-)
9.4.8.0 dfd933ecad2bc84ef72cfa47db717960b8640ad6
  6361 files changed, 368334 insertions(+), 339609 deletions(-)
9.3.8.5 f72bf2eb548d43f09383569ed9ef71c672f8cf50
  3075 files changed, 152536 insertions(+), 151887 deletions(-)
9.3.8.2 e9ab890a029e04fa2a0e867f510d687e18894db0
  3736 files changed, 167274 insertions(+), 165790 deletions(-)
9.3.8.0 89045ab2f979743338a59044f94ec720f49f951d
  5824 files changed, 478988 insertions(+), 193049 deletions(-)
9.2.8.8 600db8c116dc9288664e4b86926512d1ec36b955
  648 files changed, 3654 insertions(+), 3646 deletions(-)
9.2.8.7 a175a104fc1568a7174be08ed962f0bfbf40c2ed
  2600 files changed, 101738 insertions(+), 101380 deletions(-)
9.2.8.5 403e81a96952f2e39b6ae35d73eb6389aa7123cf
  2411 files changed, 143026 insertions(+), 140946 deletions(-)
9.2.8.0 986bda415142d0438da62965408ccc8151a0419a
  4679 files changed, 341891 insertions(+), 192039 deletions(-)
9.2.0.1 6ce2f75732e5ed12b431d1ffdddc0474fabe6f3c
  2310 files changed, 81511 insertions(+), 85102 deletions(-)
9.1.8.3 e4e5cc6728b389c7ec87f1406ce07521fcd26a61
  821 files changed, 9809 insertions(+), 9793 deletions(-)
9.1.8.0 1225098f427cce6dc5f231f61d5b317214bdd4d1
  2864 files changed, 163820 insertions(+), 155469 deletions(-)
9.0.8.0 029806ae06e01cb0e9104fe1bd2e32c552ed893b
  2674 files changed, 199625 insertions(+), 195613 deletions(-)
8.9.8.5 eac1f21054e327c7316789ce231491750b8cd390
  1942 files changed, 116557 insertions(+), 114558 deletions(-)
8.9.8.0 38fa79c10f4e5f6e2dea62fc43afe940a724ea25
  2751 files changed, 172018 insertions(+), 167965 deletions(-)
8.8.8.15 e82497710e84bdaf2b36bf9d327e993eecc818f3
  2401 files changed, 122372 insertions(+), 120407 deletions(-)
8.8.8.13 c51af5bf7edc40b80035ec6c2a02bcd9d64c180f
  573 files changed, 14355 insertions(+), 14375 deletions(-)
8.8.8.9 360a78424d1d0df4b63c7df049c4bced52e3de4e
  3137 files changed, 235203 insertions(+), 163540 deletions(-)
8.8.8.6 ce8e38dcf43fffb5ebba2e9b31ad0b27e5223f1e
  1765 files changed, 107277 insertions(+), 107681 deletions(-)
8.8.8.1 6d4c8c1fb9d46a3dfb42fdfcee624b8e38213a51
1 file changed, 27 insertions(+), 27 deletions(-)
8.8.8.0 2fa3735e57486ed321bffca335c27d03d4cffe51
  2662 files changed, 172691 insertions(+), 156713 deletions(-)
8.7.8.9 47316eff713839c5320583865374fb6d2b89d89e
  1872 files changed, 82431 insertions(+), 81497 deletions(-)
8.7.8.6 ef4086fa9e4a8f6abf3a7222067792d9a6aab18f
  2352 files changed, 132973 insertions(+), 132676 deletions(-)
8.7.8.2 badca1b18ed7c7254a09ae654901fe0925c3a0ef
  204 files changed, 1009 insertions(+), 995 deletions(-)
8.7.8.1 45050253dfb2ca3959b646ed2a61786ee1219576
  2370 files changed, 119470 insertions(+), 119442 deletions(-)
8.7.8.0 419c1e635b98f09af39d92490a1b22d95d4fe57b
  5906 files changed, 263564 insertions(+), 295036 deletions(-)
8.6.8.0 124a22cd122653b79b14a25ddadd34c695a6091a
  5070 files changed, 235299 insertions(+), 179992 deletions(-)
8.5.8.0 670d2dd83ece79015a2d6338aa0071b9d90d0486
  4112 files changed, 164737 insertions(+), 150285 deletions(-)
8.5.1.6 5c8336d6fb7435c0a3d71504f1d534a64bf5fce8
  4739 files changed, 205783 insertions(+), 179490 deletions(-)
8.4.8.2 428fdadba2ee4925344afa13faa2a8dd11639854
  3931 files changed, 117924 insertions(+), 117270 deletions(-)
8.4.8.0 c575fd24c6a69a41a6511c516e98168927b650f7
  4777 files changed, 160851 insertions(+), 177956 deletions(-)
8.3.8.0 ff56fdb4266e466a76bc04b3049c7553d4fb094f
  4605 files changed, 171608 insertions(+), 165593 deletions(-)
8.2.2 a884de1003feaa9c70248ff80b82e74b44c20139
  4894 files changed, 200301 insertions(+), 191100 deletions(-)
8.1.0.4 451bec90eff7cba526557705f4044780d9c18777
  4275 files changed, 158962 insertions(+), 167239 deletions(-)
8.0.0.3 b7116e72ba91e2bda36007a20aa5dee6411ba643
  4474 files changed, 175634 insertions(+), 173388 deletions(-)
7.9.2 6694d9e402b1eb93c0604a202fab840afd93cc2d
  3913 files changed, 147614 insertions(+), 141548 deletions(-)
7.8.1 f2eb4b2d88e1c359bc9b33d9fb1677c08925c22c
  4675 files changed, 187760 insertions(+), 182075 deletions(-)
7.7.2 2edcb82af6c5ccc800092dec51174cc15325a496
  4717 files changed, 164307 insertions(+), 170936 deletions(-)
7.6.2 55004f7921537478dcca9f4c7f53c96abe31a9aa
  5017 files changed, 198666 insertions(+), 204777 deletions(-)
7.4.5 b59ea7be81e62c09e8bab581c7683dfacd34cfcf
  2396 files changed, 25574 insertions(+), 25510 deletions(-)
7.4.3 d556bfddbeda7668d3310cc5f912b152f0d29ac1
  5215 files changed, 227895 insertions(+), 218672 deletions(-)
7.3.4 432acaa2ce4038c6be7a696692fa883e7acd8a24
  5150 files changed, 208610 insertions(+), 204928 deletions(-)
7.2.2 39a0d1c70b6ed4df68d0b61c5367398834aaca5a
  4912 files changed, 208303 insertions(+), 197385 deletions(-)
7.1.7 0e6bd7bf38a856fe736e6c34ce2446e48f4912b1
  342 files changed, 1200 insertions(+), 1065 deletions(-)
7.1.4 f79e38349baddd1de025d9eb3a3869ddcf985e16
  4894 files changed, 171257 insertions(+), 177642 deletions(-)
7.0.4 0ea4101ec3bc9685845faead50cf610e426d3cf9
  23 files changed, 51 insertions(+), 26 deletions(-)
7.0.3 dd6a87a510053dc52db69a220155b407b8952f01
  5091 files changed, 229326 insertions(+), 161609 deletions(-)
6.9.9 a80214638f0b0c296ba4b4d9531389c32aa01e9b
  3626 files changed, 118045 insertions(+), 113742 deletions(-)
6.9.7 cb5cb134b25c232a9c4beacde3dc6e77368d9af3
  1917 files changed, 20787 insertions(+), 20790 deletions(-)
6.9.5 191e0a0a1f89e9d43a69be009c76932d0d8ed83c
  3177 files changed, 70616 insertions(+), 64810 deletions(-)
6.9.2 dba01bd1e898ccbb0fe309c57332738388803362
  3966 files changed, 161248 insertions(+), 124509 deletions(-)
6.8.7 3c2a4a3e74e590ad99019213b36c93a1141e6935
  3602 files changed, 111483 insertions(+), 108372 deletions(-)
6.8.3 ed6acfe6e6342590f5d83f5141ade1516c90c026
  6195 files changed, 233784 insertions(+), 224459 deletions(-)
6.7.2 1ea3009ee50cb3453f98a04abd2b17c7d26d3fce
  2467 files changed, 38668 insertions(+), 38630 deletions(-)
6.7.1 39eed14eb64b01483a6306e28be373139d4af554
  4761 files changed, 152849 insertions(+), 159056 deletions(-)
6.6.6 69ae85201bce3026448da2a261e380cd787d62f9
  3292 files changed, 71733 insertions(+), 70639 deletions(-)
6.6.2 eaa569b35b9e21ca4b699c3aaa33662bef0a5467
  5881 files changed, 233658 insertions(+), 211641 deletions(-)
6.5.8 38b637f674f1dc7f56e28eb377c929606dfb2523
  3228 files changed, 72584 insertions(+), 72313 deletions(-)
6.5.3 673b5465d13d78b92e9de6e6fe07097635c1d040
  3903 files changed, 113482 insertions(+), 121918 deletions(-)
6.5.2 76033fdb7ffb2464b5ad4934cb4b10c33c93a19f
  5855 files changed, 210790 insertions(+), 232850 deletions(-)
6.4.9 5d68ac53b79cd20b815f240c48910d2facac9134
  3352 files changed, 78733 insertions(+), 76508 deletions(-)
6.4.3 6c8b03ed6cbe18478576ed7c368d221346302b76
  6027 files changed, 246793 insertions(+), 260866 deletions(-)
6.3.3 22e6391d7a77990de448de2b280c45896cef3df6
  55 files changed, 630 insertions(+), 972 deletions(-)
6.3.2 2dff75c11d87e0f5f01dbc21a29c8a8bee3b5bea
  1494 files changed, 57515 insertions(+), 43803 deletions(-)
6.2.2 01efca27da1fd27f4cb79cddd5f5d015dad581cb
  4155 files changed, 154885 insertions(+), 160026 deletions(-)
6.2.1 8ce7f0ee35571c6bd6e58819409333b87cdecad6
  3742 files changed, 147048 insertions(+), 134191 deletions(-)
6.1.3 627e7ea5f9c3477cd2aed9ea690e051e21b3652b
  1195 files changed, 27943 insertions(+), 23500 deletions(-)
6.1.2 1d2575fb9f99114dc35908f5c22d9baf21f47d05
  207 files changed, 5887 insertions(+), 6024 deletions(-)
6.1.1 95a90a9a4b0d8faaa701a69d806d000059441b9f
  2047 files changed, 68419 insertions(+), 61368 deletions(-)
6.1.0 ea4d583dca2f247bc60adc7d98385900878db1b3
  5944 files changed, 238012 insertions(+), 252688 deletions(-)
6.0.1 15a23cf2f69cb040df27dfefe88015af900e7a2a
  120 files changed, 11882 insertions(+), 11504 deletions(-)
6.0.0 7f782e419a6486faac6e068df936a6ee6050f8b5
  1594 files changed, 59123 insertions(+), 61259 deletions(-)
5.6.3 e231efc0c302cef1b443809234330ace416e053c
  4815 files changed, 220822 insertions(+), 185443 deletions(-)
5.6.2 e64702aeac007f30fbb6369eaa951036b98a1597
  112 files changed, 1223 insertions(+), 1259 deletions(-)
5.6.1 52483e5d7eb188bc5e041cb8629cdf174d249745
  3727 files changed, 81458 insertions(+), 89283 deletions(-)
5.6.0 3a00f1ca5dd332a5255908208a80fa1dd58a43e1
  4291 files changed, 209888 insertions(+), 163041 deletions(-)
5.5.2 c34b36b77a1c28b0ce447c669ee108d0fbc43f0a
  111 files changed, 1044 insertions(+), 1122 deletions(-)
5.5.1 fb67c84c763c4f6ccb2572049d0d6dd1667d93e8
  2695 files changed, 90535 insertions(+), 125672 deletions(-)
5.4.2 ee02508515d81f20aadaff1abcbbbbfc6f356068
  1835 files changed, 74598 insertions(+), 60395 deletions(-)
5.3.1 2ce50cf5c0ab0d355af5950c7375eea54037c49e
  4504 files changed, 152360 insertions(+), 141944 deletions(-)
5.2.2 f64b04fe0abeb2e721b947b5e73505d030302d6f
  710 files changed, 5787 insertions(+), 5735 deletions(-)
5.2.1 5e779f6877bca2e28fa652c2a6a0fb7762114f23
  3087 files changed, 87520 insertions(+), 68912 deletions(-)
5.1.5 41a1f44261eccad8a128383fdf1a7384095dcabe
  26 files changed, 587 insertions(+), 509 deletions(-)
5.1.3 30b66996e6ca39b72744336d9733df9638279580
  148 files changed, 983 insertions(+), 1061 deletions(-)
5.1.2 7bf6a01c09942998e192df5ec5c03ba418c855a1
  2438 files changed, 36136 insertions(+), 37712 deletions(-)
5.1.1 23e0ca9a845529bd83ea341a14c3a1876aab8a6d
  2832 files changed, 94360 insertions(+), 84469 deletions(-)
5.0.8 686ef1b3851b650319f7c204e06f5f412e888080
  3299 files changed, 162025 insertions(+), 67869 deletions(-)
4.5.3 fc9601992bebc4a85f75c2fd78009b1e13a5c52d
  2178 files changed, 75681 insertions(+), 56952 deletions(-)
4.4.2 1549b71fb41b18b5e1acb46cc97db2b7b16e0871
  37 files changed, 199 insertions(+), 197 deletions(-)
4.4.1 1ceeb5976b7e4e9a4e37f75b40da928a9c36293d
  1808 files changed, 59462 insertions(+), 52940 deletions(-)
4.3.1 948bb17432c87c480b022915ca334791bebca272
  1453 files changed, 17956 insertions(+), 18708 deletions(-)
4.3.0 a9c6758166bfe38a3a32137635b722bf008b5bf8
  2146 files changed, 97393 insertions(+), 63817 deletions(-)
4.2.2 f7ad07a4a5ed5bce239bbaaf25d4a9fecd8a36ae
  1822 files changed, 29139 insertions(+), 47743 deletions(-)
4.2.0 b3412a9a6116bccb45124d36f0af14c6902df027
  2088 files changed, 89294 insertions(+), 49879 deletions(-)
4.1.2 0b6cf4cabf025cb594c74fb635693049c9d88ee6
  324 files changed, 8624 insertions(+), 3413 deletions(-)
4.1.1 4656509c8435972deb0e51160223306e3fbbff0a
1 file changed, 1 insertion(+), 2 deletions(-)
4.1.0 5246e1fbdd61853c6bb038c1e5ab1b41fe5e2fa4
  660 files changed, 31007 insertions(+), 24495 deletions(-)
4.0.0 30646b36684a00d89d985bcd4c0fad7e4f02bd14
  1195 files changed, 77376 insertions(+), 60496 deletions(-)
3.4.0 edd2489ad393dbe82fc70b75bbe3881e23b55b8a
  679 files changed, 31350 insertions(+), 18268 deletions(-)
3.3.1 89c6db41ea08dfdfd587df3ca1e4cad9d3d5aa7a
  8 files changed, 204 insertions(+), 233 deletions(-)
3.3.0 fc3b3dd53095f50afbff06c0ab6a28e62930f10e
  1312 files changed, 130726 insertions(+), 43862 deletions(-)
3.2.2 86240e9d876eafafe7ad1e784abf5e1c36744f85
  1141 files changed, 40724 insertions(+), 113077 deletions(-)
3.2.0 95e08b321c366e8ca47908adc1d015b172f193e9
  1141 files changed, 113079 insertions(+), 40728 deletions(-)
3.1.0 bde781ecd6d44eb24dd45f6043492f699fe985b3
  1154 files changed, 78437 insertions(+), 61434 deletions(-)
3.0.2 2b222eb4a51ed17cd6983376f8a1c0a3f924709a
  10 files changed, 176 insertions(+), 92 deletions(-)
3.0.1 01dc6a4c050c58d262fa90dc4e147baba893612c
  234 files changed, 13938 insertions(+), 16039 deletions(-)
2.5.1 4efafae0b779ec4d083b79e82cf5c2c00592b558
  7 files changed, 40 insertions(+), 13 deletions(-)
2.5.0 18a2e2dc5ded82554d1bacdba1c1afa43253ab0a
  127 files changed, 8897 insertions(+), 3138 deletions(-)
2.1.0 86b956ac990eab7828867c6716bd0dbc60bfd51b
  181 files changed, 14649 insertions(+), 7174 deletions(-)
2.0.3 2dde142e47c19067ad30a357eb323f0da34f03a6
  68 files changed, 1348 insertions(+), 1136 deletions(-)
2.0.2 002d2f134fc882fbd65c72adfdde05d77f4dc910
  8 files changed, 55 insertions(+), 22 deletions(-)
2.0.1 202e298b1d4a838a64f65eda604d7c71df4007ad
  2 files changed, 20 insertions(+), 20 deletions(-)
2.0.0 23ccd79efe9a5c3159282cc526eba44171ee7d32
  238 files changed, 26041 insertions(+), 2403 deletions(-)
1.1.0 db4577d1686cd76168bf650a95ba3fa19d1bb600
  41 files changed, 3796 insertions(+), 1047 deletions(-)
1.0.4 38975610312964622b706916c55284c2742421ce
  14 files changed, 1784 insertions(+), 565 deletions(-)
1.0.3 9b22ffa06c863a74c38a77d9544c0c0fe36cc81c
  25 files changed, 1968 insertions(+), 958 deletions(-)
1.0.2 8647489dde0d9d156f20b246960abbd53bed2cd0
  77 files changed, 4896 insertions(+), 2170 deletions(-)
1.0.1 d34439b3c5aa2e5e350e4c029bcc2e3e632c607c
  63 files changed, 5243 insertions(+), 2640 deletions(-)
1.0.0 bf7fe5d153f0395caf2e9f0b11407ab1f340884d
  113 files changed, 24394 insertions(+)
n0099 commented 10 months ago
git clone https://github.com/n0099/tbclient.protobuf
git checkout tbclient
git log --format='%s %H' --shortstat
12.51.1.0 @ proto e7825f56bf0ce23d528490f8e0a450c8c884929f
  34 files changed, 159 insertions(+), 70 deletions(-)
12.51.1.0 @ java c25265834d7e04ca8df6f123925bc24e7506b34e
  177 files changed, 2101 insertions(+), 1224 deletions(-)
12.50.1.1 @ proto 81180d697f2a11c5347a417fe1bdb7d2bae6bc18
  48 files changed, 273 insertions(+), 5 deletions(-)
12.50.1.1 @ java 5d2fe4bd92cbfc0264dd6386758ca1139f98e269
  45 files changed, 2226 insertions(+), 22 deletions(-)
12.49.1.0 @ proto 177ecb0bf2ef84807991a744fcd8fdfdc440d83d
  15 files changed, 91 insertions(+), 1 deletion(-)
12.49.1.0 @ java 0b074933fd90da8a3512af82ce2b65cf94bd60c0
  162 files changed, 1504 insertions(+), 744 deletions(-)
12.48.1.1 @ proto 4c7e554385d413ea986d12edbdd2a3c9b3b8c143
  21 files changed, 71 insertions(+), 34 deletions(-)
12.48.1.1 @ java 7ff06e918beb1c20143316fcb1f13ccfeb50f310
  166 files changed, 1386 insertions(+), 970 deletions(-)
12.47.1.0 @ proto cb4e02d7bf87d89f7401bffc7ceaab0090adb802
  21 files changed, 35 insertions(+), 122 deletions(-)
12.47.1.0 @ java e019ae20bdb0c1c14b593a376d67320611ce9036
  169 files changed, 1018 insertions(+), 1664 deletions(-)
12.46.3.0 @ proto 527c0e55fe64d159dd5fc34febb93f96a735f295
  7 files changed, 21 insertions(+)
12.46.3.0 @ java 4b31d99e651a5f4a82687a7595058fd163963ccb
  7 files changed, 191 insertions(+), 10 deletions(-)
12.46.1.1 @ proto e65eb62134fe67eef7557cd328072fea824a4576
  6 files changed, 37 insertions(+)
12.46.1.1 @ java 7158f23e02f23ffce485c56d63100470784adff8
  156 files changed, 1062 insertions(+), 754 deletions(-)
12.45.7.0 @ proto 81079c5c72b1e91b03a248eb4a58f033403dcf5c
  5 files changed, 22 insertions(+)
12.45.7.0 @ java c1447afa1697bee2d667d8cfa4c3a4aaaddb80d7
  5 files changed, 221 insertions(+), 5 deletions(-)
12.45.1.1 @ proto 2a05dbb01c04cf6f9eac8471c71586d2580d07ae
  22 files changed, 106 insertions(+)
12.45.1.1 @ java 58bc75cf209acd22545c4f7b47b511750858c678
  169 files changed, 1681 insertions(+), 763 deletions(-)
12.44.1.0 @ proto a2466a89058eb7614c6a0cc37f391aebef999598
  20 files changed, 137 insertions(+), 36 deletions(-)
12.44.1.0 @ java 2f0758ccce6f40d35c215a8ee918f8cb956e8d6c
  21 files changed, 1175 insertions(+), 266 deletions(-)
12.43.7.0 @ proto bd157a3a2cfcdd4406fae3bbe0b3790bb6fa20c5
  3 files changed, 21 insertions(+)
12.43.7.0 @ java c11e2ccdf86a604e4ec3adda8b21ecf51b5c97f9
  154 files changed, 908 insertions(+), 759 deletions(-)
12.43.1.0 @ proto d79214d7342e461274ef3eecd61681705c68b134
  27 files changed, 123 insertions(+), 50 deletions(-)
12.43.1.0 @ java d561763aa2ef1e4fca4143f1515cb67dd73e1056
  128 files changed, 1461 insertions(+), 883 deletions(-)
12.42.5.0 @ proto 6585e608b0ff18b9bea63e943dd4e784d78d06ab
  1 file changed, 3 insertions(+)
12.42.5.0 @ java fb12718264bdfd3a14f91f2e78fec640a21bbeda
  1 file changed, 37 insertions(+), 1 deletion(-)
12.42.1.1 @ proto bce9d3688828c4174d69ae47a4413513672944ff
  161 files changed, 93 insertions(+), 1129 deletions(-)
12.42.1.1 @ java f387a7c93d1bf50bf9a338361d4678bf891209a0
  1263 files changed, 3689 insertions(+), 13568 deletions(-)
12.41.5.1 @ proto 26f4b604ddfcd75ed6b2bcd1de308581a09df4bb
  150 files changed, 1124 insertions(+), 3 deletions(-)
12.41.5.1 @ java 72ba66fd0f6c4dedce366ccddaeed2d1478ed7db
  215 files changed, 10775 insertions(+), 253 deletions(-)
12.41.1.0 @ proto fd9339d7ec8e26fd6d99ecd21b248e3c8590911a
  5 files changed, 9 insertions(+)
12.41.1.0 @ java bd578736f56987d5ee991cdf0f7d544a2d3bd380
  1522 files changed, 3115 insertions(+), 3053 deletions(-)
12.40.1.1 @ proto 0314b6934732f74b20c8616cf849eb7e9f319d8f
  134 files changed, 19 insertions(+), 988 deletions(-)
12.40.1.1 @ java b5df01dd94f9a8f46ba7f822fd8139e74589ee15
  134 files changed, 243 insertions(+), 9610 deletions(-)
12.39.7.2 @ proto 5f27b3f4665d8930c7a0f4dc842ffe76d8f60e9f
  131 files changed, 993 insertions(+), 3 deletions(-)
12.39.7.2 @ java 57e962d690e33ed0dce91b20900f3a6ccf03793b
  131 files changed, 9681 insertions(+), 113 deletions(-)
12.39.1.1 @ proto f29fa967ef2d6b2ec33df04f676db414ae33aaa1
  8 files changed, 66 insertions(+)
12.39.1.1 @ java d4984e1698c7f911e52a015f4cf10fd861a741d1
  8 files changed, 725 insertions(+), 5 deletions(-)
12.38.1.1 @ proto 4775cb6838d992afa47091678d3c9a9221943815
  44 files changed, 428 insertions(+)
12.38.1.1 @ java a448f387b159c937e991be23cc33793ec016547b
  44 files changed, 3383 insertions(+), 6 deletions(-)
12.38.1.0 @ proto 10967dd3f70321f17617dfa60b37d6733f8a18da
  24 files changed, 70 insertions(+), 67 deletions(-)
12.38.1.0 @ java c7287c209069a1e758c370f31bd97ca956b96046
  56 files changed, 777 insertions(+), 614 deletions(-)
12.37.1.0 @ proto 2961239e76cece260c9026370fbb42def2ebb0d3
  5 files changed, 39 deletions(-)
12.37.1.0 @ java 28188144dd1a95b337efbe0dd107c079634998c7
  159 files changed, 770 insertions(+), 1050 deletions(-)
12.36.3.2 @ proto 8f723ae90197a114e1f22ae2c44513ce30cb2454
  3 files changed, 15 insertions(+)
12.36.3.2 @ java 759c901c6643eb945e3e9c48f98b09a1c5766740
  3 files changed, 140 insertions(+), 3 deletions(-)
12.36.3.1 @ proto adb86d215a7e929eb61a6fbea2ce766b8bf2a680
  1 file changed, 7 insertions(+)
12.36.3.1 @ java fe65ae55883fac858506de41963f4fa4f52c740f
  2 files changed, 77 insertions(+)
12.36.1.0 @ proto 9ed94a2db05654cee25ca038540bf22a82b39a6f
  1 file changed, 1 insertion(+)
12.36.1.0 @ java 8df7e42fb1627edc5db5c03a2ea1c46a3e250306
  1 file changed, 13 insertions(+), 1 deletion(-)
12.35.1.0 @ proto 4d0b23297ca3b151d370eec54857b501e3968acf
  145 files changed, 99 insertions(+), 995 deletions(-)
12.35.1.0 @ java c4b57ebc390c59164464ffccc3a6d47cf2cc4d97
  145 files changed, 912 insertions(+), 9648 deletions(-)
12.34.3.0 @ proto 92fb529251306706369a8bab2370ec1e68fa3763
  142 files changed, 1062 insertions(+), 3 deletions(-)
12.34.3.0 @ java df999906232ad93d709087feb750529b0a049e18
  1568 files changed, 15057 insertions(+), 124736 deletions(-)
12.34.1.0 @ proto 31b6909bf30cb424eee4405ca74d0d7843ede1e7
  138 files changed, 59 insertions(+), 986 deletions(-)
12.34.1.0 @ java 1f64546d2ab0db9ff6960426ed2aa8ae39d1cceb
  281 files changed, 1344 insertions(+), 17134 deletions(-)
12.32.5.1 @ proto ed64a3adca8dfe847029e24855f20189b5fa7e8b
  138 files changed, 1039 insertions(+), 3 deletions(-)
12.32.5.1 @ java 42176596dd9a8bb62bd65f937165a0fc6217cd3a
  138 files changed, 17699 insertions(+), 111 deletions(-)
12.32.1.0 @ proto 2edd0819802f3d2633bbe28868335fa858020157
  1 file changed, 1 insertion(+)
12.32.1.0 @ java 4182deb91baf52b52288118dcd6c748a9c8d966d
  1 file changed, 14 insertions(+), 2 deletions(-)
12.31.5.0 @ proto 35fd57ad317ff1efaff7e0060353e9e0e9777e19
  146 files changed, 63 insertions(+), 1008 deletions(-)
12.31.5.0 @ java 78e900ea8063268ca1f18afba77b8bd12892f78a
  1547 files changed, 5337 insertions(+), 21395 deletions(-)
12.30.1.0 @ proto 9c9bd3f2c2a9de9440dbddfa03f7b06137ee76f4
  151 files changed, 1091 insertions(+), 20 deletions(-)
12.30.1.0 @ java 9b1d5fd750e10a3024ca87969c416d2e5fe931c6
  1547 files changed, 41706 insertions(+), 19281 deletions(-)
12.29.7.0 @ proto eb9189bd5f319b1b0102a71b4ab595310e6bfce0
  5 files changed, 15 insertions(+)
12.29.7.0 @ java 1ff3aaab9f5e5fec01fbd5315c59c02d903e6c0e
  5 files changed, 246 insertions(+), 4 deletions(-)
12.29.5.0 @ proto 826d7defb62a8319b2ee1f1dc26df7eb08d5fa1f
  7 files changed, 8 insertions(+)
12.29.5.0 @ java 953ea5484b1d9c2b09c8657f228e759724558e1c
  7 files changed, 124 insertions(+), 9 deletions(-)
12.29.1.1 @ proto a4473c16ac4fe5822d7458a549a7911fa2543aad
  9 files changed, 11 insertions(+), 60 deletions(-)
12.29.1.1 @ java 94c25009f102c35f49547545a803055a910a80fd
  260 files changed, 951 insertions(+), 1604 deletions(-)
12.28.1.1 @ java 5b7c27c3c573ba43788d9c016454a9afa5704ae9
  41 files changed, 123 insertions(+), 123 deletions(-)
12.28.1.0 @ proto 7ec1895e82b7c7888823a5d43478a96b07b1eb99
  10 files changed, 23 insertions(+)
12.28.1.0 @ java 204f309a4fff6ed34f0dbff0686eb0ed9e2b69b3
  186 files changed, 857 insertions(+), 545 deletions(-)
12.27.5.0 @ java e184101863b64fa0afe02ec12e2ab9a25a1d728a
  360 files changed, 1452 insertions(+), 1452 deletions(-)
12.27.1.1 @ java 9c8bba5f0718cd4fe2b4205365147c407c9ceb30
  15 files changed, 44 insertions(+), 44 deletions(-)
12.27.1.0 @ proto e74ea610bbd1d1e9587ea77754eecf510082790c
  26 files changed, 154 insertions(+), 1 deletion(-)
12.27.1.0 @ java 96bccdbbe7bb19e568edaa33b8e753d7be0d6d80
  914 files changed, 5617 insertions(+), 3305 deletions(-)
12.26.5.0 @ proto 8207660fed0e30494abc9119d8d283787889528b
  8 files changed, 20 insertions(+)
12.26.5.0 @ java f34e8ca7a9c8c94a3abf56abeab765ce1e9e9632
  209 files changed, 1261 insertions(+), 936 deletions(-)
12.26.3.0 @ proto ccae549fd9451563ceda0c2343b6897093566e34
  7 files changed, 46 insertions(+)
12.26.3.0 @ java 69dd542eaed982615362aeb025d9a4af1662dbdf
  12 files changed, 697 insertions(+), 20 deletions(-)
12.26.1.0 @ proto 46ba5dbeb2d146ef567a54633807268a8cfabdeb
  33 files changed, 439 insertions(+), 10 deletions(-)
12.26.1.0 @ java 4f4fcb3a285b27f6b2b2ea8eb76adacbdb7c5c3d
  185 files changed, 6476 insertions(+), 789 deletions(-)
12.25.5.0 @ proto 24f91373eebfaea512ac525a033aa0ca7874c747
  19 files changed, 98 insertions(+), 45 deletions(-)
12.25.5.0 @ java 7ed26048dae8804d7b5956f9b7b81a08512f48c6
  168 files changed, 1770 insertions(+), 1145 deletions(-)
12.25.1.0 @ proto 579a46e13ff845ca25fed915b25fd40373cf3671
  25 files changed, 27 insertions(+), 134 deletions(-)
12.25.1.0 @ java 646fa55902b0b0fd0978c154cf70e1c5a4e6183a
  241 files changed, 1165 insertions(+), 2988 deletions(-)
12.24.1.0 @ proto a985ea980806cae5380c48214c824280fce44d2f
  13 files changed, 2 insertions(+), 91 deletions(-)
12.24.1.0 @ java be9721843f7265db8a1fb99a0831ffdaf91cdb4f
  311 files changed, 1302 insertions(+), 2672 deletions(-)
12.23.7.0 @ proto 7c0587a8e7910c2dc5a1f7913877d6d573356f67
  5 files changed, 22 insertions(+)
12.23.7.0 @ java 3ba1afaafd425b2f0ca7aa8986d65217994086d3
  112 files changed, 697 insertions(+), 323 deletions(-)
12.23.5.0 @ proto 44c592b1eabcaf4f04c0239bacd9d19008381295
  1 file changed, 3 insertions(+)
12.23.5.0 @ java 74d49fbe2ff36c4de09d2bf3de0335fec4270e85
  137 files changed, 445 insertions(+), 409 deletions(-)
12.23.1.0 @ proto 570f977db9dcad257c333bd0caa1bf3d747c5bf8
  18 files changed, 40 insertions(+), 65 deletions(-)
12.23.1.0 @ java dbe878af64b5fb3eca170b3036e953dd821cd7f3
  195 files changed, 1298 insertions(+), 1824 deletions(-)
12.22.1.0 @ proto 422dc69ed26ec5a0a28a53c09765756804b50190
  25 files changed, 168 insertions(+), 17 deletions(-)
12.22.1.0 @ java b93dd16f431c39e73f32ef8ddd534f6df923f2bd
  1443 files changed, 20464 insertions(+), 17980 deletions(-)
12.21.1.0 @ proto aee5c9cecf5d38bed3c2b180ea840cc76519416d
  8 files changed, 51 insertions(+), 12 deletions(-)
12.21.1.0 @ java 38b317c5be828272452efab62663c9819f2cf040
  1427 files changed, 5600 insertions(+), 5168 deletions(-)
12.20.1.0 @ proto 96a8d4374d4085057a5e74859b375218bef77291
  8 files changed, 27 insertions(+), 3 deletions(-)
12.20.1.0 @ java a8606f5201d2be570bec4b9b4b80a57175a5a8e0
  171 files changed, 1198 insertions(+), 836 deletions(-)
12.19.1.0 @ proto b0620e2ec6b7afe92b7807935317682f4a390810
  4 files changed, 39 deletions(-)
12.19.1.0 @ java bd515792fb80574765aedb3ce6e9dbe84e3f5e2c
  363 files changed, 1482 insertions(+), 2068 deletions(-)
12.18.1.0 @ proto efdd96bbc65affcf66798f6045bb2cd6c22ee3b1
  10 files changed, 22 insertions(+)
12.18.1.0 @ java 83aa2c4f7215562120d35dc16277d771fd33dd70
  411 files changed, 1921 insertions(+), 1621 deletions(-)
12.17.1.0 @ proto 17d1608b60670a6d9bc34f3f6e8f49874f9f05d3
  6 files changed, 28 insertions(+)
12.17.1.0 @ java 5bee35ca08c0f5e7c985b7d019330325be74e242
  327 files changed, 1812 insertions(+), 1387 deletions(-)
12.16.1.0 @ proto 2dd92bfb78b14da27c1986428434af58e45c320b
  7 files changed, 20 insertions(+), 1 deletion(-)
12.16.1.0 @ java 84971ec17f4430bd23a8ba8075e25a049cc147f5
  1298 files changed, 4951 insertions(+), 4654 deletions(-)
12.15.1.0 @ proto ed6302a4e2e7d5be79c4aaef016f77b6b5668eb9
  407 files changed, 1407 insertions(+), 1782 deletions(-)
12.15.1.0 @ java 9eabdc71110125a93461adeae3505baa06b66a78
  1164 files changed, 18862 insertions(+), 24948 deletions(-)
12.14.1.0 @ proto 9ed181d7618e44ea8827dc03ddd88d328b123e25
  10 files changed, 51 insertions(+)
12.14.1.0 @ java c8d8f12096ba83c94fbe4bf3d230050f96de71bd
  199 files changed, 1754 insertions(+), 963 deletions(-)
12.13.2.0 @ java 6ae156e68f5bf19f365dbee7ea44e32fa03dd7b5
  189 files changed, 953 insertions(+), 953 deletions(-)
12.13.1.0 @ proto d936f7aac513013606b60537278857947c218f7a
  10 files changed, 53 insertions(+), 1 deletion(-)
12.13.1.0 @ java 00d02981f7f894e23ffd6339ccbd1900fef98c03
  1487 files changed, 6158 insertions(+), 5417 deletions(-)
12.12.1.0 @ proto f8ad527a8f6dc26bd2221e4fe0272e43d66f0686
  12 files changed, 46 insertions(+)
12.12.1.0 @ java 402b309ba5f84b715d7341ca32415ed399b329f6
  201 files changed, 1572 insertions(+), 958 deletions(-)
12.11.1.0 @ proto 62888607fc133c310a00d62e64b24c49d7d124d0
  19 files changed, 35 insertions(+), 47 deletions(-)
12.11.1.0 @ java 333cc67543a6161125a7000594d4654acf6da71d
  202 files changed, 1234 insertions(+), 1535 deletions(-)
12.10.1.0 @ proto 330895bbad0fda32abf55c931bb430528d02f31e
  10 files changed, 63 insertions(+), 5 deletions(-)
12.10.1.0 @ java 80d65d15355b77955a5d7abe2e20b4e198b27724
  200 files changed, 1877 insertions(+), 1013 deletions(-)
12.9.1.0 @ proto 7dd4362eff8879fff5ec0585571fb050d28087c2
  9 files changed, 26 insertions(+)
12.9.1.0 @ java 808610b4942e53c8ade5246fef670e43a98a0df4
  198 files changed, 1316 insertions(+), 959 deletions(-)
12.8.1.0 @ proto 110d1bc2b5265ec3e7a778d2d7b808a75cf0d978
  18 files changed, 105 insertions(+), 2 deletions(-)
12.8.1.0 @ java eacdeec59cd88c08e57c0d8c53d004d35a6f9b35
  1476 files changed, 7029 insertions(+), 5344 deletions(-)
12.7.6.0 @ proto 47bb592cb137672d96d64426051125773775d3ff
  12 files changed, 80 insertions(+)
12.7.6.0 @ java fd4e259e6364a8c0fe3f6e685a9db7c9834d7b8d
  196 files changed, 2048 insertions(+), 945 deletions(-)
12.7.1.0 @ java 24821aadc11eec3552422ea417b06cc9ac95748a
  1458 files changed, 5316 insertions(+), 5310 deletions(-)
12.6.6.0 @ proto 0184a22cdd74e407314d6aca207d58dd51bb93cd
  34 files changed, 254 insertions(+), 2 deletions(-)
12.6.6.0 @ java a67a936b32c6296043af1d7a82208ae532c985d6
  1458 files changed, 124142 insertions(+), 8722 deletions(-)
12.6.3.0 @ java dd53f8eb4c1f54da8001fa5a077d29d6d190183c
  182 files changed, 918 insertions(+), 918 deletions(-)
12.6.1.0 @ proto 5413a3292628d15e676115dc1977fa1298065fd4
  5 files changed, 45 insertions(+)
12.6.1.0 @ java d77625709a43486aaf2ea77f72b6036d90f86074
  852 files changed, 2704 insertions(+), 2354 deletions(-)
12.5.6.0 @ proto 64717704b6a22cc5f20259958956e1f9d5192108
  1 file changed, 1 insertion(+)
12.5.6.0 @ java f1064cf27a818c8b81fff4589d612bde8a4f29fc
  347 files changed, 1328 insertions(+), 1316 deletions(-)
12.5.1.0 @ proto bf08a7a014e31b3e8c1a121d32cb46cb7e9ff99d
  7 files changed, 47 insertions(+), 3 deletions(-)
12.5.1.0 @ java a2c7751da0eab7db14fa270039b232c944c16ade
  659 files changed, 2427 insertions(+), 2100 deletions(-)
12.4.8.24 @ proto 1968c540cb55c3c49a4be3cd33165152f56966b3
  11 files changed, 42 insertions(+)
12.4.8.24 @ java db3470565b63ea2c51cfda72564f3d0d18ae06c3
  194 files changed, 1258 insertions(+), 926 deletions(-)
12.4.8.15 @ java 148b36fca75bf279470d9aa4389e84a1dd2ecfb3
  180 files changed, 908 insertions(+), 908 deletions(-)
12.4.8.14 @ proto 56adb214674cfedea07b4807d3f5a5898f6ef91c
  10 files changed, 54 insertions(+)
12.4.8.14 @ java ae8dacfa05139ab71f2bebf5702b7c09da32e717
  190 files changed, 1366 insertions(+), 909 deletions(-)
12.4.8.2 @ java 458eb70d01383861e96bf39b255d2f0e07ee8837
  1398 files changed, 2301 insertions(+), 2301 deletions(-)
12.4.8.0 @ proto cb66ca39f1e4997a52f3d33ef07a25177a07dfe6
  27 files changed, 186 insertions(+), 8 deletions(-)
12.4.8.0 @ java 65a5ea51397db7566d799132ec95e1c83c6022ae
  1414 files changed, 56989 insertions(+), 48701 deletions(-)
12.3.8.10 @ java a108226c894017d757d539c52076bf7de57761dc
  584 files changed, 1866 insertions(+), 1866 deletions(-)
12.3.8.6 @ java 73f8f7f9155af4e6fcf72b6d1f14b3a255d73800
  8 files changed, 449 insertions(+)
12.3.8.0 @ proto 7ff9f0d19212b1fe0436dbaa231d4dce2117b2f1
  22 files changed, 125 insertions(+), 2 deletions(-)
12.3.8.0 @ java 9ce28f8a487cd3ba0eb219702d69f94e69abe0ac
  599 files changed, 2822 insertions(+), 1855 deletions(-)
12.2.8.9 @ java c075d966b5ac2a254fc8d4ce4619aa9dff20c5d4
  578 files changed, 1846 insertions(+), 1846 deletions(-)
12.2.8.1 @ proto e62097d3d3de295f131f73332f1ae2684970add3
  220 files changed, 1958 insertions(+)
12.2.8.1 @ java 212f1d81427f1ba8753ec23a849866c8702f3802
  349 files changed, 15078 insertions(+), 645 deletions(-)
12.2.8.0 @ proto c59a0ec03e50b3c4159a8d4b3a3ee7259c570184
  10 files changed, 54 insertions(+)
12.2.8.0 @ java d6dfea7645c28761696d200cf7635b4afff8e4f1
  1167 files changed, 3497 insertions(+), 2982 deletions(-)
12.1.8.0 @ proto acffb654ac700fed3714c21aa8c5ca3e182af4d4
  26 files changed, 112 insertions(+), 7 deletions(-)
12.1.8.0 @ java 92995e8482c77dae88f0b2fcf4d2075d59b27e64
  1161 files changed, 3782 insertions(+), 2961 deletions(-)
12.0.8.0 @ proto 837bff0341b6b44e62bf9d0c272c38188b7bf391
  1 file changed, 3 insertions(+)
12.0.8.0 @ java c88a381639c42b3c7071fe52137f1d93677b360d
  1121 files changed, 2275 insertions(+), 2242 deletions(-)
12.0.2.2 @ java 249f792e1b641c9578d27320b2a1fd785bfe48f1
  129 files changed, 645 insertions(+), 645 deletions(-)
11.10.8.6 @ java 6d4aa9156d91cf6a1c280ad6aa12ea13640eb26c
  129 files changed, 645 insertions(+), 645 deletions(-)
11.10.8.0 @ proto 11a31ffafa060bfa978cbb0d0f778c0d99eec026
  7 files changed, 35 insertions(+)
11.10.8.0 @ java e7448e3031f2c483a5d0b3c80039edec0c2698e5
  1128 files changed, 3196 insertions(+), 2885 deletions(-)
11.9.8.0 @ proto 624623195de9bddc60e8b3811398c7166c663299
  26 files changed, 111 insertions(+), 1 deletion(-)
11.9.8.0 @ java 160435bc98a04522303cda01043b76bb26b6ef38
  1125 files changed, 3717 insertions(+), 2875 deletions(-)
11.8.8.7 @ java 61ebd289e01d3400f6cfd81c730a2fbab75553cf
  128 files changed, 640 insertions(+), 640 deletions(-)
11.8.8.0 @ proto f28309d72510f19a4f8f164c1bb0eb0ec92ae40e
  22 files changed, 107 insertions(+), 6 deletions(-)
11.8.8.0 @ java b820b900a06f6a444d14222d2d7b4922fee852ff
  147 files changed, 1529 insertions(+), 649 deletions(-)
11.7.8.1 @ java 1ce9cfc4590eebcddb47d4d9b151abe9c55a7805
  126 files changed, 630 insertions(+), 630 deletions(-)
11.7.8.0 @ proto 909ac549a4bf95fa88adf80e98d940caafdd5a80
  14 files changed, 75 insertions(+)
11.7.8.0 @ java e573c254f3463a84f1aa8a5edfb87bbd4bc777c4
  1134 files changed, 3480 insertions(+), 2900 deletions(-)
11.6.8.1 @ java 5812a8bf6d8aea3da464ef6ee49338a427de7af1
  126 files changed, 632 insertions(+), 632 deletions(-)
11.6.8.0 @ proto 325650cbc8cd64b052f900120690caf345f3680d
  79 files changed, 715 insertions(+), 3 deletions(-)
11.6.8.0 @ java f8db04b5e9047a5d3fec744b4e07084b6ead3522
  196 files changed, 6137 insertions(+), 641 deletions(-)
11.5.8.3 @ proto fbf2295d39ca63b36becf79eaa4b67062bb629c4
  5 files changed, 19 insertions(+), 1 deletion(-)
11.5.8.3 @ java 1dc7d2dc526d9910adc49ccf290eafe72a471988
  5 files changed, 145 insertions(+), 4 deletions(-)
11.5.8.0 @ proto c2c8c9ef36395f8cfcf4eb6e4fff93645c826443
  22 files changed, 92 insertions(+), 1 deletion(-)
11.5.8.0 @ java 6200b2ffb4ed9f47dff52e2f6affee37306c667c
  76 files changed, 1040 insertions(+), 312 deletions(-)
11.4.8.6 @ java 2a421b8c0151bef256844ab429f610a0228aa005
  119 files changed, 597 insertions(+), 597 deletions(-)
11.4.8.0 @ proto f695ccba43e68b0ffcddb7e886cf2434dfaa058f
  34 files changed, 205 insertions(+), 5 deletions(-)
11.4.8.0 @ java accdd2deb4326478a31398a77f976ba91c992e24
  108 files changed, 1919 insertions(+), 420 deletions(-)
11.3.8.0 @ proto b768f243ab7edbd78991df7bec36502683ddd721
  11 files changed, 27 insertions(+)
11.3.8.0 @ java f0711379b9a8f8faefada82b4cde02abcd3d2c46
  11 files changed, 237 insertions(+), 9 deletions(-)
11.2.8.1 @ java d6114308e319f46133d468517baeb7385da6c089
  116 files changed, 582 insertions(+), 582 deletions(-)
11.2.8.0 @ proto 13475ae59ec827be5d6dd7bdf7f5d010099f4f6e
  9 files changed, 27 insertions(+), 23 deletions(-)
11.2.8.0 @ java dd717db4d091a6cb09b870a6d668db40e2fb2040
  1037 files changed, 2900 insertions(+), 2710 deletions(-)
11.1.8.1 @ java adfcb880b65250332001c704ceaa3b6f76af6a1b
  115 files changed, 575 insertions(+), 575 deletions(-)
11.1.8.0 @ proto 45abb32fe4f46b50b24cb6bb68ddb799158111bf
  1 file changed, 1 insertion(+)
11.1.8.0 @ java a783dc828122a2043c8a9638db04be5b84979f22
  1012 files changed, 2598 insertions(+), 2587 deletions(-)
11.0.0.0 @ proto 362c812f4fa807d53093d544998a471e33975c7d
  154 files changed, 226 insertions(+), 197 deletions(-)
11.0.0.0 @ java 2b956027d1a19defc1fbf8c5243c446ef3525758
  1042 files changed, 4818 insertions(+), 3314 deletions(-)
10.3.8.19 @ proto 289d646f7482f71786968625409cf97abfd73220
  33 files changed, 309 insertions(+), 8 deletions(-)
10.3.8.19 @ java 24b268d9f625efc91a2721614fbca5de9cb44ce4
  31 files changed, 2243 insertions(+), 6 deletions(-)
10.3.8.12 @ proto c0cb0977a5b07669c3cc74313cfb3935536b3ecd
  4 files changed, 5 insertions(+), 1 deletion(-)
10.3.8.12 @ java 3cd52e14e7fe022de4a32552509a69805e158959
  4 files changed, 53 insertions(+), 8 deletions(-)
10.3.8.7 @ proto 1527d1421499ae0123c09e567a937395b7c038b8
  6 files changed, 34 insertions(+)
10.3.8.7 @ java b22872e964203f15e43162bdb19a33ca09be5a87
  6 files changed, 294 insertions(+), 1 deletion(-)
10.3.8.0 @ proto acbe1411ff9fa3ea4dd69c28bdccb6473c45715a
  8 files changed, 79 insertions(+)
10.3.8.0 @ java c2f9d3ecce80fad049568c5a7c8fb5cd3003b6dd
  8 files changed, 606 insertions(+)
10.2.8.0 @ proto 1ec23609fb36d17ee5527123cfc1480e7c5272e9
  59 files changed, 399 insertions(+), 8 deletions(-)
10.2.8.0 @ java ac399a171a8deb4f1c651b745b1b4645595dd89d
  53 files changed, 3081 insertions(+), 19 deletions(-)
10.1.8.0 @ proto 2197abdc9f2c8bb65a699c3220adf333132b1015
  1 file changed, 1 insertion(+)
10.1.8.0 @ java 4342afbf0bf6aad0ee76d6c5cda2254bd310545a
  1 file changed, 13 insertions(+), 1 deletion(-)
10.0.8.4 @ proto bdf076a74c11d28d29a4462a09d1ac22213ecb1b
  181 files changed, 1666 insertions(+), 33 deletions(-)
10.0.8.4 @ java 8817c7ba819d5ecc9488e58ab953115d075fa54c
  180 files changed, 12194 insertions(+), 227 deletions(-)
10.0.8.0 @ proto b1d155fc3c2c8a3458aea248af8159566570a597
  273 files changed, 473 insertions(+), 1926 deletions(-)
10.0.8.0 @ java 76882fecf55db3dbb7949442c7cb7a02cf14d998
  421 files changed, 3642 insertions(+), 14235 deletions(-)
9.9.8.31 @ proto 3ffa9ec985ad3560961a078a684ce1bd5ef0118b
  2 files changed, 5 insertions(+)
9.9.8.31 @ java 9f90071b99e59dd3ddb1d5b9af0fbc667a00afa5
  2 files changed, 59 insertions(+), 4 deletions(-)
9.9.8.12 @ proto 10c83aa2f587db812bab3c32afa46d28278966e8
  3 files changed, 12 insertions(+)
9.9.8.12 @ java b63a18c33613a9c65096556931f8a61d17c29f8a
  3 files changed, 97 insertions(+), 3 deletions(-)
9.9.8.0 @ proto 44685f331e8ebab2d96d334b779a114da94c7f94
  12 files changed, 73 insertions(+), 2 deletions(-)
9.9.8.0 @ java 9d210a8853065d37677645d0311e16400b62cff2
  12 files changed, 575 insertions(+), 6 deletions(-)
9.8.8.13 @ proto c99d223d0c90642e5ef376b918eb6fbe867e70b9
  2 files changed, 3 insertions(+)
9.8.8.13 @ java 4352f57f82d6bd60e3b960c77301aa40fed0bdc2
  2 files changed, 30 insertions(+), 2 deletions(-)
9.8.8.3 @ proto f24b2c485eee9161f9218731b3ee0ccaf2f36b9e
  4 files changed, 34 insertions(+)
9.8.8.3 @ java 7f61a08b81e4f4831d9a178dbd9073909a4b2149
  731 files changed, 1690 insertions(+), 1453 deletions(-)
9.8.8.0 @ proto 5619fdcd0194ed2b7e20cb934842daab6e5c42dd
  23 files changed, 153 insertions(+)
9.8.8.0 @ java 1c73a2c796a208f64aa5aa6c005c1bc28e03d307
  23 files changed, 1068 insertions(+), 9 deletions(-)
9.7.8.3 @ proto 0c5663522f00048c99cf9e5b1b399dfe702f9517
  2 files changed, 3 insertions(+)
9.7.8.3 @ java f36f07c045cb9cc27721d194205bd577d81685a2
  2 files changed, 25 insertions(+), 2 deletions(-)
9.7.8.0 @ proto b1073688f6e37fa5f0ed4aa6702c8c5ae248d14d
  25 files changed, 187 insertions(+), 1 deletion(-)
9.7.8.0 @ java b509a84f05e44a6bc7009bdf6016539e11ca6a19
  36 files changed, 1348 insertions(+), 34 deletions(-)
9.6.8.0 @ proto 38f71411bef77248fa35a42555ff89e5f9ebaea1
  26 files changed, 150 insertions(+)
9.6.8.0 @ java 3e97872abe0499919e83aca1b4c9cf1a3e570044
  26 files changed, 1109 insertions(+), 15 deletions(-)
9.5.8.0 @ proto 0686d2c13281a5d9ee4bfaad09b3afbef3405751
  32 files changed, 243 insertions(+), 1 deletion(-)
9.5.8.0 @ java 88ae64e648c06a1a77e5a30cc75df5b8c6ee241b
  33 files changed, 1855 insertions(+), 15 deletions(-)
9.4.8.0 @ proto ca744fc9db3b04c23ae67dd49816e247bf803dc7
  33 files changed, 147 insertions(+), 4 deletions(-)
9.4.8.0 @ java 9f2f991ba8f34ab7926ce0891605bb8a7eaf6d83
  57 files changed, 1205 insertions(+), 91 deletions(-)
9.3.8.5 @ proto 2c5b6e008c7b1739495b6c1ea8bd3ad69b2776e3
  8 files changed, 43 insertions(+)
9.3.8.5 @ java 7c4576bcfe4ee041868771f2caa75fbb54cc51af
  9 files changed, 382 insertions(+), 5 deletions(-)
9.3.8.2 @ proto 137d48446e23a5a5c59b0f7750d45989d64ff6be
  1 file changed, 1 insertion(+), 1 deletion(-)
9.3.8.2 @ java 40652ce91f24ceba5daabb0cef2b8b9311ca48e6
  1 file changed, 2 insertions(+), 2 deletions(-)
9.3.8.0 @ proto 3ae61843e3941d30c14a478730094c8f6b545862
  183 files changed, 1678 insertions(+), 2 deletions(-)
9.3.8.0 @ java a65ee49cd669c9899e648115949e5acd925496c0
  184 files changed, 12450 insertions(+), 12 deletions(-)
9.2.8.5 @ proto 8c30ea6426990a70e6ff0d9c6c9e0dd5f5456038
  4 files changed, 19 insertions(+)
9.2.8.5 @ java 40f0475b00124bcb34e850fa39a4677037223bc2
  4 files changed, 158 insertions(+), 1 deletion(-)
9.2.8.0 @ proto 68b13d3a96b93f66d3923b56810c5b214cf4cf67
  24 files changed, 242 insertions(+), 1 deletion(-)
9.2.8.0 @ java be89d88a392260b10e61514cb331ae44af76bb83
  121 files changed, 714 insertions(+), 411 deletions(-)
9.1.8.0 @ proto dc2fe2408b2172159a2c6399653b9ae901fd707f
  9 files changed, 43 insertions(+), 2 deletions(-)
9.1.8.0 @ java a28fb25505045cb7ef7913970f5ccb6c9c5644a5
  10 files changed, 328 insertions(+), 21 deletions(-)
9.0.8.0 @ proto 96adbe76bb179c07281b2e619d9777bb1ec5d1d9
  18 files changed, 56 insertions(+), 127 deletions(-)
9.0.8.0 @ java 1af30a26897424d2000c3499259aa21bc8f3e9fc
  19 files changed, 453 insertions(+), 1366 deletions(-)
8.9.8.5 @ proto 51418efd7d78ce71d4251eb2a8cff4f0ec63cafe
  1 file changed, 3 insertions(+)
8.9.8.5 @ java e14a11aa028e05eced9004ba31d10be4755f4401
  1 file changed, 35 insertions(+), 1 deletion(-)
8.9.8.0 @ proto 11a5fad03fe39ab77e56546ea36514b7e49e5213
  29 files changed, 59 insertions(+), 198 deletions(-)
8.9.8.0 @ java 375c3115fe7527a91fd5fe75044b8fde6344a8b1
  41 files changed, 713 insertions(+), 1530 deletions(-)
8.8.8.9 @ proto 8738d532c786e7640d0b1f3cc787b3e98b108d3c
  19 files changed, 98 insertions(+)
8.8.8.9 @ java b48b5c11e36fe2df2789048f9c99a2cca148f030
  21 files changed, 823 insertions(+), 10 deletions(-)
8.8.8.6 @ proto 66212e8aee53edc5a79db9cd60848055d182d596
  1 file changed, 1 insertion(+)
8.8.8.6 @ java ed305adbdd86ca72eccc01eb59c0c5e44f04e175
  1 file changed, 12 insertions(+), 1 deletion(-)
8.8.8.0 @ proto fb0bdce9804d3ca3e9bd6b7258da156acb84aeac
  23 files changed, 73 insertions(+), 68 deletions(-)
8.8.8.0 @ java c39e6c63d21339b6ea37c1c106d064f0b66799eb
  28 files changed, 605 insertions(+), 77 deletions(-)
8.7.8.0 @ proto 4b3e07dedb1921c646bf703c48d6dc752b55eea7
  27 files changed, 183 insertions(+), 1 deletion(-)
8.7.8.0 @ java 7bff95a8c3b20c01936a6ca60192d937971d3a66
  649 files changed, 2113 insertions(+), 3273 deletions(-)
8.6.8.0 @ proto 0fb3f11095c9fea4bb49b2ae48852daf4d20b841
  24 files changed, 125 insertions(+)
8.6.8.0 @ java 781f6efbdf2d2f4cdd820402e870d9fbb62c5a6e
  24 files changed, 981 insertions(+), 14 deletions(-)
8.5.8.0 @ proto 7e07a7b906e46bd00c8450da5989c8f622527c72
  36 files changed, 266 insertions(+), 119 deletions(-)
8.5.8.0 @ java 71df6fbda3ce5ad463de928aaa0587774abd0bcc
  36 files changed, 1769 insertions(+), 185 deletions(-)
8.5.1.6 @ proto 4eb9f7e561317ab5a61b795607fbee5bae2384b0
  30 files changed, 166 insertions(+), 30 deletions(-)
8.5.1.6 @ java 954a9fa3b2077e1bfe62908acd7487c14ecfa943
  36 files changed, 1329 insertions(+), 286 deletions(-)
8.4.8.2 @ proto 6e6c577a85bc1895cbba46b06e5dc578d5d59db0
  1 file changed, 2 insertions(+)
8.4.8.2 @ java ad2f3868095099250f1438a0cafdfd0cf3905ead
  2 files changed, 36 insertions(+), 2 deletions(-)
8.4.8.0 @ proto 1aa732c432ef8529be0405c2a17f83e98f005d2f
  4 files changed, 26 insertions(+), 3 deletions(-)
8.4.8.0 @ java 0c43c978dd7982fb7355f27298d9b8566f24e1be
  4 files changed, 132 insertions(+), 20 deletions(-)
8.3.8.0 @ proto 5d6dd99950d18faed88c8caad846676f564e2ea0
  6 files changed, 25 insertions(+)
8.3.8.0 @ java b41a7af254c7a30b5d67cbe60b5a1e8df05e031b
  13 files changed, 303 insertions(+), 40 deletions(-)
8.2.2 @ proto 892322bd5c10d2e602648a2ed73066bd23dd0547
  24 files changed, 86 insertions(+), 36 deletions(-)
8.2.2 @ java d9260f7e36cef12bf9faaa7f55f685b556d2f81d
  25 files changed, 808 insertions(+), 293 deletions(-)
8.1.0.4 @ proto cd5e8df0e0f4f9bcb0061553078b6bac842130a3
  17 files changed, 85 insertions(+)
8.1.0.4 @ java 7a2331d2eff0c2b9a12bde06630dddc2bccf7824
  18 files changed, 789 insertions(+), 10 deletions(-)
8.0.0.3 @ proto d0d1bc714b1786d698c3ffcd25b79084ef00eaec
  52 files changed, 155 insertions(+), 213 deletions(-)
8.0.0.3 @ java 40f27b05731e333cb481cd7e252a5d70496955da
  48 files changed, 1145 insertions(+), 1403 deletions(-)
7.9.2 @ proto 9c80c32696515640e04c0a17189db28841d3f9a2
  19 files changed, 109 insertions(+), 1 deletion(-)
7.9.2 @ java dea6edb7446fdca450dfc88eb1bf67c8b35e6e9b
  24 files changed, 1092 insertions(+), 51 deletions(-)
7.8.1 @ proto c3accfbe307b8c1bde8b2d22a0ea0e7d55e4679c
  37 files changed, 267 insertions(+), 1 deletion(-)
7.8.1 @ java ad88ecb9e061e4a43ef7347ada93d38f32a9b380
  37 files changed, 2145 insertions(+), 81 deletions(-)
7.7.2 @ proto bd4e7061fc310e80d1ef36f5bed157edb1919ac0
  33 files changed, 100 insertions(+), 155 deletions(-)
7.7.2 @ java 1e4f26acc1cd470ba553a64fc2102535b6772c3d
  33 files changed, 664 insertions(+), 897 deletions(-)
7.6.2 @ proto ed6e5356fc401d2b5aba16b821c49c2b9397b523
  76 files changed, 432 insertions(+), 166 deletions(-)
7.6.2 @ java 0a9f1dddff6722911ea2146e6c46fea2b7cb3aee
  75 files changed, 3854 insertions(+), 1293 deletions(-)
7.4.3 @ proto 8f509813e119b68735db1adc8517c688eb369f4f
  59 files changed, 281 insertions(+), 233 deletions(-)
7.4.3 @ java 0c0bb624fb5acbd5d9b4b13ccbf68ab1be34c2cd
  59 files changed, 1776 insertions(+), 1823 deletions(-)
7.3.4 @ proto 00ddbef2a202746c9c90667e4d9b455680b9dd10
  169 files changed, 582 insertions(+), 778 deletions(-)
7.3.4 @ java 68e03d91952f3441cc98c81ba2841d2768adf3ea
  157 files changed, 4379 insertions(+), 5687 deletions(-)
7.2.2 @ proto 0957b7f688fe5328194d3d695b2d3776e412018d
  145 files changed, 605 insertions(+), 460 deletions(-)
7.2.2 @ java 18471ba24c89affc75f6d5a4feed90789eb13402
  138 files changed, 5007 insertions(+), 2936 deletions(-)
7.1.4 @ proto f8b599f6b01f6e6f0615611e7911a9be977a8966
  114 files changed, 190 insertions(+), 870 deletions(-)
7.1.4 @ java 95715fe8090c1352614dd47386b6fc20996c4fab
  112 files changed, 1580 insertions(+), 7115 deletions(-)
7.0.3 @ proto 60dcf599ece3d14812166dcc104cccfc0593b59c
  194 files changed, 1669 insertions(+), 17 deletions(-)
7.0.3 @ java ad05b7d6b467438a7f7564bcae9a442814d676b9
  195 files changed, 13847 insertions(+), 211 deletions(-)
6.9.9 @ proto da92db966f84eea4d8eebb856735c552a0a1077b
  7 files changed, 18 insertions(+)
6.9.9 @ java d251e95c948a66747ed4e00363d6508952e62b3a
  7 files changed, 165 insertions(+), 4 deletions(-)
6.9.7 @ proto b2d6a001ee5b917dfde3e4c0ef874862c84f46e3
  4 files changed, 6 insertions(+)
6.9.7 @ java 9a94242f1c93636a51fac1804926defed713a46a
  4 files changed, 4 insertions(+), 4 deletions(-)
6.9.5 @ proto 086b4c4b2c09cf90e5ed16c0ae4329814a917459
  25 files changed, 178 insertions(+), 6 deletions(-)
6.9.5 @ java ce86ecf70dba8ee9d3e583ae083cbcdf658200ad
  25 files changed, 1360 insertions(+), 5 deletions(-)
6.9.2 @ proto 3ad4aed3802d3caf9b2b5d3a5a21aee941e62a81
  110 files changed, 755 insertions(+), 51 deletions(-)
6.9.2 @ java d4e95eee82a2bf17362e644580b9606e6e5b2939
  109 files changed, 5765 insertions(+), 425 deletions(-)
6.8.7 @ proto 1b2df416fac0e1465fac7337431895b66dbb7070
  27 files changed, 103 insertions(+)
6.8.7 @ java d2db27a0f67b1d4ac750c6edf811f1b4a2033395
  27 files changed, 803 insertions(+), 25 deletions(-)
6.8.3 @ proto dc84b2f57626816887caee4e430174dcae219cc6
  190 files changed, 482 insertions(+), 965 deletions(-)
6.8.3 @ java 371a65c3ea5c04a12f11bf4072262f6145b95835
  440 files changed, 5160 insertions(+), 7066 deletions(-)
6.7.1 @ proto 1908fbac5bf1c778753eb181585fec9ac11d0ab9
  44 files changed, 280 insertions(+), 30 deletions(-)
6.7.1 @ java a7a987948b9b97086e5e576b02894edaf0a5ca92
  45 files changed, 2441 insertions(+), 187 deletions(-)
6.6.6 @ proto 8871b8284195269c9d17d8667d7fb210be311251
  4 files changed, 39 insertions(+)
6.6.6 @ java 21f8afb4b76a847a0956f367da789a3c5bb73bf8
  4 files changed, 266 insertions(+)
6.6.2 @ proto ee55ed9819b8ff2d5de8b47197ab30b18c7e05ee
  75 files changed, 521 insertions(+), 95 deletions(-)
6.6.2 @ java 5c7e5cc85875b3251c9b4ac2381afb4d87d6ef8e
  74 files changed, 3940 insertions(+), 595 deletions(-)
6.5.3 @ proto 1374f619bcb821fd612a0b67ef72e8883b11aa8e
  16 files changed, 50 insertions(+), 7 deletions(-)
6.5.3 @ java 9d52c85453fa0374eb71e28f4b1269c14c1cb5ab
  16 files changed, 145 insertions(+), 58 deletions(-)
6.5.2 @ proto 08468a78aef9c1e2fab6d243a72f46c576b0f420
  97 files changed, 504 insertions(+), 140 deletions(-)
6.5.2 @ java 10878f9b209ec304431efb735397293fa5a5fa23
  97 files changed, 3555 insertions(+), 959 deletions(-)
6.4.9 @ proto f54515195f09ae0edbbb0dc2c467f6b7c8011fdf
  5 files changed, 34 insertions(+)
6.4.9 @ java 1bba2b996235ca8ec71d7f8b8297d8a471b1b5cf
  5 files changed, 265 insertions(+), 3 deletions(-)
6.4.3 @ proto f73c2fd10c3b787a161dbb15c504fc9b807a36ae
  119 files changed, 849 insertions(+), 50 deletions(-)
6.4.3 @ java e8dabe6f2a2f41cfa4bbf637de216ffdff088036
  120 files changed, 6294 insertions(+), 248 deletions(-)
6.3.2 @ proto 1630bea501b8e393907f220b6162ddf42136f726
  1 file changed, 1 insertion(+)
6.3.2 @ java 4fd37abdce34ea32bb551eac9a6a62d5118eed43
  1 file changed, 13 insertions(+), 1 deletion(-)
6.2.2 @ proto 63562d9021788436e9486b762598071f09a571ed
  84 files changed, 735 insertions(+), 17 deletions(-)
6.2.2 @ java 15f333900303bbb1186cc6ec7c0b3c6e5ff572d9
  84 files changed, 5894 insertions(+), 49 deletions(-)
6.2.1 @ proto 5d58266fa0b5919456f73a41e7e6b8b88339b04b
  61 files changed, 497 insertions(+), 7 deletions(-)
6.2.1 @ java e0dfdbeb03f14e9d4fdfb9582921723dc97db660
  60 files changed, 3748 insertions(+), 43 deletions(-)
6.1.2 @ proto 3ba81b1927b09724ec525a6d6792e0797749779c
  55 files changed, 375 insertions(+), 11 deletions(-)
6.1.2 @ java d173fad73fcbd78210f90824bbcc0c0e8ee40e57
  8 files changed, 8 insertions(+), 8 deletions(-)
6.1.1 @ proto 0474f29e2b9e0450205e8ca264f630e7d6f3d2c7
  19 files changed, 59 insertions(+), 19 deletions(-)
6.1.1 @ java 9c861604a1ecd0c462710865022e2f41132db568
  19 files changed, 456 insertions(+), 29 deletions(-)
6.1.0 @ proto ca11a3f152e614e5a9be1a9b0c21353645ca7fe3
  33 files changed, 662 insertions(+)
6.1.0 @ java 8c412cdb434229a5c146109d9610efacd6990fd0
  80 files changed, 9453 insertions(+)
n0099 commented 10 months ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1407423467

@BANKA2017 建议立即上传 archive.org 永久归档 https://n0099-my.sharepoint.cn/:f:/g/personal/n_n0099_partner_onmschina_cn/EolZx_WzrVRBm-jPm6O_030BX0hO1EzNgK3IiNeM2VfnGA?e=340ee5

https://github.com/n0099/open-tbclient/blob/8f8bcac472f5212500d031d87aeac8aecdae469d/README.md?plain=1#L27

百度网盘 OneDrive

@BANKA2017 @Starry-OvO 建议立即永久archive.org/2023中的34个新版本

n0099 commented 10 months ago

https://github.com/n0099/tbclient.protobuf/issues/2#issuecomment-1415798400

这样我们就可以git blame image 甚至git bisect --run配合grep找出某个同名的字段何时/在哪些.proto文件中出现过

image 时隔多年再次增加PbContent字段(哪些PbContent.type中会有此字段我暂且蒙古) https://github.com/n0099/tbclient.protobuf/commit/4c7e554385d413ea986d12edbdd2a3c9b3b8c143#diff-ae98a0b959442a9b60fcd9133b6b6bbdba765f5d8cf6c20bba5473a97ae96140R54

lumina37 commented 10 months ago

Great Work