乱码三千 – 分享实用IT技术

乱码三千 – 码出一个新世界


  • 首页

  • 归档

  • 搜索

使用Proxyman抓取android应用数据请求

发表于 2024-04-11

软件介绍

Proxyman是一款跨平台的HTTP/HTTPS网络抓包工具 目前支持Windows、Linux、MacOS、IOS四大平台

image-20240411171337537

软件主界面如下:

image-20240411175955421

软件下载

点击进入官网

Android抓包

这里以网易的MUMU模拟器为例 给大介绍如果使用Proxyman抓取手机上的HTTP/HTTPS请求

第一步 打开proxyman获取代理服务地址和端口号

点击菜单栏Certificate-->Install Certificate on Android-->Physical Devices

image-20240411172928040

image-20240411173138799

第二步 在模拟器上配置网络代理

进入设置-->WLAN长按网络名称弹出对话框 这里我们点击修改网络:

image-20240411173440435

然后将服务地址和端口号填入并点击保存:

image-20240411173512415

第三步 下载SSL证书

证书用于抓取HTTPS请求

打开模拟器中的浏览器 输入地址http://proxy.man/ssl下载证书并安装

image-20240411174336396

第四步 测试能否正常抓包

在手机浏览器上输入一个返回json串测试地址进行配置验证 测试地址如下:

1
http://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s=阳光正好-十二越&type=1&offset=0&total=true&limit=1

image-20240411174633446

如果我们能在proxman中能找到对应的测试地址和请求响应 则表示配置成功:

image-20240411174809359

不管是http还是https请求都能正常拦截:

image-20240411175000111

配置完毕!

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

各大音乐平台的api汇总

发表于 2024-04-11

网易云音乐

歌曲搜索

格式

请求方式 : POST

请求地址 :

1
https://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s=歌名&type=1&offset=0&total=true&limit=1

示例

1
https://music.163.com/api/search/get/web?csrf_token=hlpretag=&hlposttag=&s=阳光正好-十二越&type=1&offset=0&total=true&limit=1

效果

请求结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
{
"result": {
"songs": [
{
"id": 1335942808,
"name": "阳光正好",
"artists": [
{
"id": 31021271,
"name": "十二越",
"picUrl": null,
"alias": [],
"albumSize": 0,
"picId": 0,
"fansGroup": null,
"img1v1Url": "https://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"img1v1": 0,
"trans": null
}
],
"album": {
"id": 74994476,
"name": "阳光正好",
"artist": {
"id": 0,
"name": "",
"picUrl": null,
"alias": [],
"albumSize": 0,
"picId": 0,
"fansGroup": null,
"img1v1Url": "https://p1.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"img1v1": 0,
"trans": null
},
"publishTime": 1545753600000,
"size": 1,
"copyrightId": 558010,
"status": 0,
"picId": 109951163752920822,
"mark": 0
},
"duration": 304111,
"copyrightId": 558010,
"status": 0,
"alias": [],
"rtype": 0,
"ftype": 0,
"mvid": 0,
"fee": 8,
"rUrl": null,
"mark": 8192
}
],
"songCount": 1
},
"code": 200
}

获取歌曲播放直链地址

格式

请求方式 :GET

请求地址 :

1
https://music.163.com/song/media/outer/url?id=歌曲ID.mp3

示例

歌曲ID我们可以通过浏览器地址获取 比如 http://music.163.com/#/m/song?id=1901359372

那么该首歌的直链地址为:

1
https://music.163.com/song/media/outer/url?id=1901359372.mp3

我们可以将该地址其嵌入到 HTML中 使用audio标签:

1
<audio controls="controls" title="歌名" src="直链地址"></audio>

效果

注意: 这种方式只能获取到免费歌曲的直链 如果是VIP收费歌曲 则获取不到

获取歌曲歌词

格式

请求方式 : GET

请求地址:

1
http://music.163.com/api/song/lyric?os=pc&id=歌曲ID&lv=-1&kv=-1&tv=-1

请求参数含义:

  • &tv=-1 : 表示获取歌词译文
  • &lv=-1 : 表示获取歌词原文
  • &kv=-1 : 表示获取歌词状态信息

示例

1
http://music.163.com/api/song/lyric?os=pc&id=1901359372&lv=-1&kv=-1&tv=-1

效果

请求结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
"sgc": false,
"sfy": false,
"qfy": false,
"lrc": {
"version": 3,
"lyric": "[00:00.00] 作词 : 十二越\n[00:01.00] 作曲 : 十二越\n[00:02.00] 编曲 : 十二越\n[00:16.28]\n[00:31.53] 你在哪里\n[00:37.87] 回忆闪烁不停\n[00:45.05] 我在这里\n[00:50.81] 一直等你\n[00:53.24] 在原地\n[00:57.71]\n[00:58.54] 时间一点一点过去\n[01:03.65] 真假不明\n[01:07.00] 沉醉在我们记忆\n[01:11.04]\n[01:12.05] 世界开始变得忧郁\n[01:17.14] 昏暗不明\n[01:20.49] 只为了你\n[01:25.39]\n[01:25.62] 你说 你说你还爱我\n[01:30.63] 是唯一的承诺\n[01:33.92] 却只剩承诺 没有了结果\n[01:36.43]\n[01:38.86] 你说 你说你会等我\n[01:44.12] 是绝对的承诺\n[01:47.55] 却没了联络 只剩下沉默\n[01:49.28]\n[01:50.62]\n[01:52.65] 你在哪里\n[01:59.01] 回忆闪烁不停\n[02:06.15] 我在这里\n[02:11.62] 一直等你\n[02:14.56] 在原地\n[02:18.24]\n[02:19.68] 时间一点一点过去\n[02:24.75] 真假不明\n[02:28.15] 沉醉在我们记忆\n[02:29.63]\n[02:33.14] 世界开始变得忧郁\n[02:38.23] 昏暗不明\n[02:41.61] 只为了你\n[02:43.30]\n[02:46.70] 你说 你说你还爱我\n[02:51.73] 是唯一的承诺\n[02:55.12] 却只剩承诺 没有了结果\n[02:59.38]\n[03:00.18] 你说 你说你会等我\n[03:05.32] 是绝对的承诺\n[03:08.69] 却没了联络 只剩下沉默\n[03:10.41]\n[03:13.82] 你说 你说你还爱我\n[03:19.69] 最后的承诺变成了软弱\n[03:25.19] 你说 你说 你说....\n[03:28.86]\n[03:40.89] 你说 你说你还爱我\n[03:45.89] 是唯一的承诺\n[03:49.26] 却只剩承诺 没有了结果\n[03:51.51]\n[03:54.36] 你说 你说你还爱我\n[04:00.33] 最后的承诺变成了软弱\n[04:10.02] 你说\n[04:12.56]\n[04:29.25] 混音 : 十二越\n"
},
"klyric": {
"version": 0,
"lyric": ""
},
"tlyric": {
"version": 0,
"lyric": ""
},
"code": 200
}

获取歌曲的详细信息

格式

请求方法: GET

请求地址 :

1
http://music.163.com/api/song/detail/?id=歌曲id&ids=[歌曲id]

示例

1
http://music.163.com/api/song/detail/?id=1901359372&ids=[1901359372]

效果

请求结果如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
{
"songs": [
{
"name": "你说你还爱我",
"id": 1901359372,
"position": 0,
"alias": [],
"status": 0,
"fee": 8,
"copyrightId": 2708773,
"disc": "01",
"no": 4,
"artists": [
{
"name": "十二越",
"id": 31021271,
"picId": 0,
"img1v1Id": 0,
"briefDesc": "",
"picUrl": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"img1v1Url": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"albumSize": 0,
"alias": [],
"trans": "",
"musicSize": 0,
"topicPerson": 0
}
],
"album": {
"name": "茶余饭后",
"id": 137142351,
"type": "EP",
"size": 5,
"picId": 109951166702919266,
"blurPicUrl": "http://p2.music.126.net/3474m94J-3GI3LIfdRTBmA==/109951166702919266.jpg",
"companyId": 0,
"pic": 109951166702919266,
"picUrl": "http://p2.music.126.net/3474m94J-3GI3LIfdRTBmA==/109951166702919266.jpg",
"publishTime": 1638892800000,
"description": "",
"tags": "",
"company": "HIFIVE智能经纪人",
"briefDesc": "",
"artist": {
"name": "",
"id": 0,
"picId": 0,
"img1v1Id": 0,
"briefDesc": "",
"picUrl": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"img1v1Url": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"albumSize": 0,
"alias": [],
"trans": "",
"musicSize": 0,
"topicPerson": 0
},
"songs": [],
"alias": [],
"status": 0,
"copyrightId": 2708773,
"commentThreadId": "R_AL_3_137142351",
"artists": [
{
"name": "十二越",
"id": 31021271,
"picId": 0,
"img1v1Id": 0,
"briefDesc": "",
"picUrl": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"img1v1Url": "http://p2.music.126.net/6y-UleORITEDbvrOLV0Q8A==/5639395138885805.jpg",
"albumSize": 0,
"alias": [],
"trans": "",
"musicSize": 0,
"topicPerson": 0
}
],
"subType": "录音室版",
"transName": null,
"onSale": false,
"mark": 0,
"gapless": 0,
"dolbyMark": 0,
"picId_str": "109951166702919266"
},
"starred": false,
"popularity": 5,
"score": 5,
"starredNum": 0,
"duration": 269258,
"playedNum": 0,
"dayPlays": 0,
"hearTime": 0,
"sqMusic": {
"name": null,
"id": 6988110024,
"size": 28403471,
"extension": "flac",
"sr": 44100,
"dfsId": 0,
"bitrate": 843901,
"playTime": 269258,
"volumeDelta": -37808
},
"hrMusic": null,
"ringtone": "",
"crbt": null,
"audition": null,
"copyFrom": "",
"commentThreadId": "R_SO_4_1901359372",
"rtUrl": null,
"ftype": 0,
"rtUrls": [],
"copyright": 0,
"transName": null,
"sign": null,
"mark": 0,
"originCoverType": 0,
"originSongSimpleData": null,
"single": 0,
"noCopyrightRcmd": null,
"hMusic": {
"name": null,
"id": 6988110025,
"size": 10772942,
"extension": "mp3",
"sr": 44100,
"dfsId": 0,
"bitrate": 320000,
"playTime": 269258,
"volumeDelta": -37825
},
"mMusic": {
"name": null,
"id": 6988110027,
"size": 6463782,
"extension": "mp3",
"sr": 44100,
"dfsId": 0,
"bitrate": 192000,
"playTime": 269258,
"volumeDelta": -35358
},
"lMusic": {
"name": null,
"id": 6988110029,
"size": 4309203,
"extension": "mp3",
"sr": 44100,
"dfsId": 0,
"bitrate": 128000,
"playTime": 269258,
"volumeDelta": -33920
},
"bMusic": {
"name": null,
"id": 6988110029,
"size": 4309203,
"extension": "mp3",
"sr": 44100,
"dfsId": 0,
"bitrate": 128000,
"playTime": 269258,
"volumeDelta": -33920
},
"mvid": 0,
"mp3Url": null,
"rtype": 0,
"rurl": null
}
],
"equalizers": {},
"code": 200
}

QQ音乐

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Chrome浏览器中如何下载SVG图片

发表于 2024-04-09

问题

当我们通过浏览器以图片链接的形式访问SVG图片时 我们会发现无法通过鼠标右键复制该图片

如果不考虑图片清晰度 那么可以用截图的方式简单粗暴地将图片拷贝下来

我们都知道SVG是矢量图 是一种基于XML语法的图像格式 这中格式图片可以实现无限缩放而不失真 所以我们必须将原图代码给拷贝下来才行

既然是代码 那就只能在开发者工具页面找

解决方案

  1. 点击图片鼠标右键选择检查 进入开发者页面

    image-20240409112448266

  2. 找到svg标签 鼠标右键Copy→Copy Element

    image-20240409112542590

  3. 将拷贝到的源代码粘贴到文本文档中 并将文件后缀改成svg即可

SVG相关工具

  • SVG在线转PNG
  • SVG图片在线压缩
  • PDF转SVG

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Git根据commit信息过滤并提取相应文件

发表于 2024-04-07

需求

最近发现GitHub图床仓库容量过大 已经严重影响到使用了 于是我准备将这个仓库按照不同的commit拆分多个独立的小仓库 方便后期的维护和管理

解决方案

  1. 首先创建一个无内容的空分支

    1
    git checkout --orphan new_branch_name
  2. 清除目录下所有的文件

    1
    git rm -rf .
  3. 将指定某个或者某些个commit提取到新分支上

    1
    git cherry-pick 12345abc def678 98765fed

    如果是一系列连续的commits,可以使用范围操作符:

    1
    git cherry-pick commit1^..commit2

    如果你想要按照某种模式过滤commits,可以使用git log和grep结合cherry-pick:

    1
    git log master --oneline | grep 'pattern' | awk '{print $1}' | xargs git cherry-pick

    这里需要将pattern替换为你想要匹配的文本,例如一个作者名或者某个关键词

    • git log master: 由于是空分支 无任何log记录 这里我要获取master分支上的commit信息
    • grep 'pattern': 对commit信息进行匹配过滤
    • --oneline : 匹配到的commitid在一行显示
    • awk '{print $1}'| xargs git cherry-pick: 将匹配到的commit打印出来 并作为git cherry-pick的参数
  4. 最后 将目录下提取出的文件迁移至新仓库中即可

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

Paypal绑定收款银行账户的注意事项

发表于 2024-04-06

前言

目前国外的大部分平台都支持Paypal收付款 如果你在某些平台赚取了一些美元需要通过Paypal提现到国内账户 那么就需要关联银行账户

image-20240406124429746

image-20240406124626479

目前Paypal是以电汇的形式进行打款 这里国内招行银行为例 给大家介绍如何填写 以及相关注意事项

填写账户信息

image-20240406125038367

  • 银行名称:China Merchants Bank(填写英文名称 输入一部分英文网页会自动搜索 然后我们只需要进行选择即可)
  • SWIFT 代码:CMBCCNBS (选择好银行对应名称后 该代码会自动补全 当然我们也可以手动填写)
  • 分行地址: 这个只需要填写一个空格即可 注意是英文空格 需要将输入法切换至英文输入状态
  • 账号:招商银行一卡通卡号

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

谷歌Adsense的PIN码接收问题

发表于 2024-04-05

前言

当Google Adsense账户收益达到10美元时 会触发PIN码验证 为六位数字验证码 该码以国际挂号信的方式按照Adsense上填写的联系地址进行邮寄 国内大概一个月左右就能收到

提高PIN码收取成功率

由于国际挂号信没有电话信息的 Adsense也未提供联系电话输入栏 这种形式的邮寄很容易造成收不到件 尤其是国内非一线城市

我之前收PIN码 就是没有填写联系电话 然后隔三差五往邮局跑 有些费劲 还好最后总算收到了

为了避免像我这样折腾 建议大家在地址栏补上自己的联系电话 这一招是很多网友测试过可行的 格式如下图:

image-20240406132833839

  1. 地址填写中文
  2. 地址填写办公楼地址更容易收到Pin码
  3. 地址栏加上姓名及联系电话,备注“到件联系1xxxxxxxx88 xx女士/先生”
  4. 邮编一定填写精确

仍然收不到PIN码怎么办

如果连续四次申请PIN码都未能收到 那么Google Adense 平台会提供一个人工验证通道

点击进入验证通道

人工验证需要填写姓名、电子邮件、发布商 ID、上传身份证照片 另外需要将身份证上的地址和 Google Adsense 账户的地址保持一致

待 Google审核通过后 谷歌就会发邮件告诉你已经通过验证

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

谷歌Adsense大陆地区如何填写收款信息

发表于 2024-04-05

前言

自 2020年起Google AdSense暂停西联汇款,采用电汇方式付款。经过很多网友推荐,目前招商银行一卡通比较好用:没有手续费,收款稳定,一般也不要求提供证明文件,手机APP即可完成结汇。

本文一起来看看,谷歌adsense后台付款方式,招行银行一卡通信息如何填写

添加AdSense付款方式

前提当然是你要先申请一张招商银行一卡通。

注意:
银行卡必须为一类账户,二类及以下账户没有收款外币权限。
开通网银和手机银行。

登陆Google AdSense管理后台点击付款→付款信息→管理付款方式,添加付款方式。

image-20240405212739394

Adsense添加付款方式,招商银行信息如何填写?01

  • 付款人 ID(可选):不用填
  • 银行账户上的姓名:XING MINGMING(姓名拼音,大写,姓和名之间空格)
  • 银行名称:China Merchants Bank, H.O. Shenzhen, China(招行总行,不管哪个地方办理的卡都一样)
  • SWIFT BIC:CMBCCNBS
  • 账号:招商银行一卡通卡号
  • 重新输入账号:招商银行一卡通卡号
  • 中转银行:不填
  • 最终汇入方或最终收款人:不用填
  • 勾选设为主要付款方式

填写完成后,点击保存即可!

image-20240405211906512

AdSense付款

当谷歌AdSense账号余额达到$100,谷歌AdSense固定在每个月21日(中国时间22日)发起付款,1-3工作日可收到汇款。

招行APP结汇

下载安装登陆招商银行一卡通APP,找到【外汇结汇】,点开后点击【去结汇】
在【结汇委托】界面:

  • 卖出货币:选择美元现汇
  • 结汇资金来源:选择【其他经常转移】或【职工报酬和赡家款】
  • 结汇金额:输入要结汇的金额

Adsense添加付款方式,招商银行信息如何填写?04

最后点击确定,输入密码即可成功结汇,结汇后的人民币就自动打入银行卡。

注意:
每个人年度结汇总额度($50000),如果超出可到银行柜台申请额度。
结汇业务办理时间是 8:30-22:00。

本文转载自 : 自由超

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

谷歌Adsense新加坡税务信息如何填写

发表于 2024-04-05

前言

2023年10月起,谷歌adsense中国区、香港区等亚太地区账号后台都会提示:

需要添加新加坡税务信息,为了避免收款延迟,并确保预扣税款准确无误,请务必尽快提供您的新加坡税务信息!

这篇文章将给大家分享如何填写新加坡税务信息以及如何申请《中国税收居民身份证明》

为什么要提交新加坡税务信息

我们虽然提供过美国税务信息,但是adsense的广告费用,并不是直接从美国谷歌汇出。谷歌在全球各地有不同分公司,负责不同的区域。中国区账号所在的亚太地区广告费都是从谷歌新加坡分公司汇出的,所以需要提供新加坡税务信息。

参考谷歌官方说明:https://support.google.com/product-documentation/answer/13401799#zippy=

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?01

新加坡税务信息填写

点击【添加税务信息】,点击【开始填表】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?02

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?03

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?04

公司信息填写:选择【个人/独资经营者】,下面常设机构、注册服务税都选【否】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?05

免税:您是否有资格申请免税待遇,当然选【是】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?06

税务居住地:上面选了【是】之后,就会跳出税务居住地。国家地区我们选择【中国】,税务居住地证明,我们选择【税务居住地证明】。新加坡谷歌只认可政府签发的居住地证明, 其他证件如身份证, 护照, 水费电费发票是没用的。这个地方就是要提交《中国税收居民身份证明》,下面我们来看看如何申请这个证明。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?07

申请《中国税收居民身份证明》

什么是《中国税收居民身份证明》?

《中国税收居民身份证明》是依据我国对外签署的避免双重征税协定,为帮助中国居民企业和个人享受在境外取得所得时的协定优惠待遇,由税务部门开具的证明企业或个人的中国税收居民身份的一种制式证明。

《中国税收居民身份证明》有什么作用?

中国居民企业和个人开展对外投资、经营和提供劳务活动时,如果取得相应的收入,且在投资东道国负有纳税义务(主要是企业所得税和个人所得税),为适用我国与东道国签署的税收协定以减轻在东道国的税收负担,就需要向当地税务部门提交《中国税收居民身份证明》。简而言之,就是可以用来减轻税负。

《中国税收居民身份证明》怎么申请?

线上线下都能办。建议线上办理,更简单高效。每个省市税务申请的界面不一样,要填写或提交的材料不一样,像江苏税务必须要提交一个合同,不然无法申请。实际上全国税务都可以申请,我们以深圳税务为例,实测申请也更简单。

可按以下步骤申请:
网页打开深圳税务电子税务局

网上办税 (chinatax.gov.cn)

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?08

点击【我要办税】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?21

登陆界面我们使用【个人所得税APP】扫码登陆,个人所得税APP应该大家都有。如果深圳税务APP和个人所得税APP之前都没有注册,要单独注册下。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?09

登陆之后,点击【我要办税】,再点击【证明开具】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?10

再点击【中国税收居民身份证明开具】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?11

再点击【中国税收居民身份证明开具】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?12

跳出申请页面,点击最下面的【申请】

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?13

申请页面填写信息,标红星的框都是必填项:

  • 英文名称:拼音名在前,姓在后 建议使用大写
  • 职业:可任意填写,和实际接近最好
  • 享受待遇所得类型:独立个人劳务
  • 享受待遇金额:任意填
  • 通讯地址、境内住所地址、现居住地址:建议都填写真实地址
  • 联系电话:填写自己的手机号
  • 申请年度:可以写2024
  • 合伙企业信息:不用填,斜杠

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?14

  • 缔约对方国家(地区):选择新加坡共和国
  • 对方纳税人识别号:200817984R
  • 对方纳税人名称(英文):Google Asia Pacific Pte. Ltd.
  • 对方纳税人名称(英文):谷歌亚太私人有限公司
  • 拟享受协定名称:谷歌adsense广告费
  • 拟享受协议条款:可以不填
  • 拟享受协定收入金额:可以写50000,没有硬性要求
  • 预计减免税金额:可以写50000,没有硬性要求
  • 申请人或代理人:填写自己的中文姓名
  • 税务机关:任意选择

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?15

申请信息填写完毕后,点击【保存】,即完成申请。

返回申请页面,点击【查询】,里面可以马上看到刚刚申请好的证明,效率是真的高!勾选后点击【打印】。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?16

会自动跳出PDF版的《中国税收居民身份证明》,我们保存下来。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?17

上传《中国税收居民身份证明》

回到之前新加坡税务信息提交的页面。我们把上面申请到的《中国税收居民身份证明》上传上去。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?18

上传成功后,我们点击【提交】,就完成了新加坡税务信息的填写和提交,后面就等待谷歌adsense审核。

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?19

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?20

审批结果

提交之后,几乎每天都会关注下审核结果。实际1/19提交,通过审核是在1/30。中间真的是经过了7个工作日,一天不多一天不少。看了下有效期是到12/31

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?22

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?23

谷歌adsense新加坡税务信息如何填写?如何申请中国税收居民身份证明?24

YouTube视频版

本文转载自 : 自由超

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

ubuntu系统部署Frps实现内网穿透

发表于 2024-01-04

部署环境

  • 阿里云ubuntu64位系统

部署Frps

  1. 下载frps工具

    1
    wget https://github.com/fatedier/frp/releases/download/v0.53.2/frp_0.53.2_linux_amd64.tar.gz

    这里使用当前最新的0.53.2版本,可前往GitHub指定具体版本下载

  2. 解压文件

    1
    tar -zxvf frp_0.53.2_linux_amd64.tar.gz
  3. 在frps.toml配置文件中填写配置信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    [common]
    # 内网穿透端口配置
    bind_addr = 0.0.0.0
    bind_port = 7000


    # WEB控制面板相关配置
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500
    dashboard_user = admin
    dashboard_pwd = admin

    # 日志相关配置
    log_file = ./frps.log
    log_level = info
    log_max_days = 3
    disable_log_color = false


    # auth token
    token = 12345678

    # 子域名配置
    subdomain_host = frps.com

    allow_ports = 2000-3000,3001,3003,4000-50000


    max_pool_count = 5
    max_ports_per_client = 0
  4. 运行frps程序

    1
    ./frps -c frps.toml
  5. 验证程序是否可用

    首先在阿里云后台安全组开放7000和7500端口方便外网访问

    配置好后在浏览器中输入http://服务器ip:7500,看控制面板界面是否能正常打开

    打开后界面如下:

    image-20240104163746870

  6. 将frps设置后台运行

    1. 进入systemctl目录,创建frps.service

      1
      2
      3
      4
      cd /etc/systemd/system/
      vim frps.service
      # 或者直接
      vim /etc/systemd/system/frps.service
    2. 复制下面的代码到文件frps.service中

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      [Unit]
      # 服务名称,可自定义
      Description = frp server
      After = network.target syslog.target
      Wants = network.target

      [Service]
      Type = simple
      # 启动frps的命令,需修改为您的frps的安装路径
      ExecStart = /root/frp_0.53.2_linux_amd64/frps -c /root/frp_0.53.2_linux_amd64/frps.toml

      [Install]
      WantedBy = multi-user.target
    3. 启动该后台服务

      1
      systemctl start frps

      可通过systemctl status frps指令查看服务运行日志

  7. 将frps设置开机自启动

    1
    systemctl enable frps
  8. 至此, frps安装完毕

    接下来,可在需要进行内网穿透的电脑上安装frpc来实现内网穿透,具体详见之前的文章:《使用frp进行内网穿透实现外网访问局域网中的服务器》

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

使用docker部署Frps实现内网穿透

发表于 2024-01-04

部署环境

  • 阿里云ubuntu系统

部署Frps

  1. 搜索frps镜像

    1
    docker search frp
  2. 拉取frp镜像

    1
    docker pull snowdreamtech/frps
  3. 创建frps目录以及frps.toml配置文件

    1
    2
    3
    mkdir frps
    cd frps
    touch frps.toml
  4. 在frps.toml配置文件中填写配置信息

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31

    [common]
    # 内网穿透端口配置
    bind_addr = 0.0.0.0
    bind_port = 7000


    # WEB控制面板相关配置
    dashboard_addr = 0.0.0.0
    dashboard_port = 7500
    dashboard_user = admin
    dashboard_pwd = admin

    # 日志相关配置
    log_file = ./frps.log
    log_level = info
    log_max_days = 3
    disable_log_color = false


    # auth token
    token = 12345678

    # 子域名配置
    subdomain_host = frps.com

    allow_ports = 2000-3000,3001,3003,4000-50000


    max_pool_count = 5
    max_ports_per_client = 0
  1. 创建并运行容器

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    docker run -id \
    --name=c_frps \
    --restart=always \
    --network c_bridge \
    -p 6010:6000 \
    -p 7010:7000 \
    -p 7510:7500 \
    -v /root/songjian/frp/frps/frps.toml:/etc/frp/frps.toml \
    -h c_frps \
    snowdreamtech/frps:latest
  2. 验证程序是否可用

    在浏览器中输入http://localhost:7510,看控制面板界面是否能正常打开

    界面如下:

    image-20240104163746870

  3. 至此, frps安装完毕

    接下来,可在需要进行内网穿透的电脑上安装frpc来实现内网穿透,具体详见之前的文章:《使用frp进行内网穿透实现外网访问局域网中的服务器》

注意事项

  1. 如果需要进入容器,可执行以下指令

    1
    docker exec -it c_frps /bin/sh

    注意:这里需要使用/bin/sh,不能使用bash或者/bin/bash,否则会报错

本文为作者原创 转载时请注明出处 谢谢

乱码三千 – 点滴积累 ,欢迎来到乱码三千技术博客站

1…567…51

乱码三千

android程序员一枚,擅长java,kotlin,python,金融投资,欢迎交流~

507 日志
145 标签
RSS
© 2026 乱码三千
本站总访问量次
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4
0%