Deploy your private ChatGPT website for free with one click

Hello, everyone, I am Mr. Shu, a programmer. Today I will teach you how to deploy a private and exclusive ChatGPT website " for free ". Even if you don't know programming, you can follow this article to complete the construction, which is very simple.

Why deploy a private ChatGPT website?

There are already many ChatGPT mirror sites in the domestic market, so why do we have to reinvent the wheel? The reasons are nothing more than the following:

  • Many ChatGPTs on the market limit the number of times you can use them, and you will be charged when the number of times is used up, so you can cut leeks properly.
  • Some sites let you fill in the OpenAI API key, but it is not safe to fill in the API key in other people's sites.
  • The most important thing is that it is unstable, and you may not be able to access it if you use it. Few of the sites I used to bookmark are now available.

[External link picture transfer failed, the source site may have an anti-theft link mechanism, it is recommended to save the picture and upload it directly (img-IIcUV4F4-1681127653631)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=OTYyNzZmY2RiMDI5ZWM1ZGE0OTdjYTc5OTE2MTFlNDBfRmxuZ01hUTVuVVVrVlZVNWgxeTRCRmF3MFBZSDRpbHpfVG9rZW46UUdjUGJWaHhhb0hOaTh4TzNJcmNEV05t bkRlXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

Therefore, it is better to toss a private and exclusive ChatGPT website by yourself, and you can also share it with your friends, so that you can use it comfortably and play with confidence.

Project selection

1. Here we choose the ChatGPT-Next-Web project (other projects are also available, depending on your preferences). We choose this project because it naturally fits this tutorial, and the UI is also OK. It also has a large built-in prompt list.

[picture]

[picture]

2. Vercel was selected for project deployment . The front-end partners should be familiar with it. In fact, Github Pages was considered at the beginning , but the problem with GitHub is that the domestic access speed is very slow, so Vercel is selected here. Compared with GitHub Pages, domestic Accessing Vercel is faster, requires no Internet access, and is free for personal use!

3. Choose CloudFlare for domain name management and CDN acceleration. Personally, I prefer to hand over domain name resolution to CloudFlare for management, and the sites managed by it can be transmitted to multiple locations around the world, greatly improving the speed and performance of the website.

Preparation

This tutorial uses the ChatGPT-Next-Web project, Vercel deployment, and CloudFlare for domain name management and acceleration, so you need to prepare in advance:

1. Github account.

2. Vercel account.

3. CloudFlare account.

4、OpenAI API KEY。

5. A domain name, if you don’t have one, you need to buy it, and how to buy it will be introduced later.

deployment work

1. Fork ChatGPT-Next-Web project in Github to personal warehouse.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-L6YfjD5L-1681127653637)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=OWE5ODlhZTI4NTQzNzZmYjk1MTBkYTM2ZjAyNzI3M2Jfdk5tVHo0M1lnMzBLbVp3TGlUdkFyTzJUR2Vsa3VpQVlfVG9rZW46RHM5eGI2dmd3b0hQTmh4OWRoZWNjS0 VsbmhMXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

2. Click "Add New Project" in Vercel and choose to deploy from Github.

[External link picture transfer failed, the source site may have an anti-theft link mechanism, it is recommended to save the picture and upload it directly (img-VIuzhGD3-1681127653638)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YTUxYjI0MmFhYjk0ODQ5MGQwN2I3NTYxYmIyOWUyNDdfSVVjNVlNOVFvVEFiM2VoN05BdENXZWdmWTVaNUs0N0xfVG9rZW46TG9ORmJNMFREb2w4cEF4VnI4d2NHaERF bkRlXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

3. Select the project we forked just now to import.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-LXzOl5dy-1681127653639)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MjdlMDUwYjBkMTczOTI0ODk5MGExODZkZDBlNjJjMGNfYnVNeU9UdlBpbDBnYjdCSEJNWE40ZUoyYjBsbGN5TEdfVG9rZW46TGY4QmJMUzlQb2d3MDd4bW4wNWNzZGl MbmhmXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

4. Configuration parameters, here mainly add the following two parameters:

  • CODE stands for access control of the website, fill in a password you remember here.
  • OPENAI_API_KEY Fill in the Key of your OpenAI account.

Here I am giving examples of 111 and 222, depending on your actual situation.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-9422AdRA-1681127653639)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YjVkNWY3OGE0OGU4NWQ0ZmFjNGRkOGVjNmZmZTI5ZmJfRk5Fa1lrWUFjaHZpWXVFSGRFWG1Bd1FQUWZyMzdvWUNfVG9rZW46S1ZKSGJIelg4b0FCdnB4VW9DemNFb HNkbnpkXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-T2omwbEt-1681127653640)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YjM4MWRkM2NmMTVmOWM1NmRmZjIwMWVlYzc4ZmYzNjZfdkJQYUxMUHdYUUVORWJSWTZEdTFyM3NnTVBrQmVDNkZfVG9rZW46RUo1cWJHTldib1p1N3d4YXF6eGNOYWx SbnpkXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

5. Click the "Deploy" button. If it goes well, wait for a while and the successful deployment page will pop up, as well as the exaggerated flowers~

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-vnRnVHPI-1681127653641)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ODgzMjQzODdmNTcwMjQyZjgyZDJlNGYwY2IwNTA2N2VfaUZ6eFlQNWJBYXdDbGR6VzIzU0NhTzYwc2VXS3ZyaGxfVG9rZW46SDBSMWJOZ3JWb1FoWkZ4dFQzcmNDS GNKbklmXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-silHEmum-1681127653642)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=OTRiZjBmZTVjNTE5YjlhYTVkZmUwZTIxNmY0NGNlMWJfWmxBc0I2cnIwazNYNmRhcEZxTEYyTXJDbzR1a0FwZWRfVG9rZW46WWlTeGJlNVdjb2V3RVl4MmQxbmN5Z1 NabmcxXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

6. Click the "Continue to DashBoard" button to view the deployment information.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-EC6DWmMY-1681127653642)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MDNmMDQyMDUyMGM2ZDlhODBiMTRjZDYwMGQ2MWE1OTFfY0N0M0xBdzBMMm44a2F2eG1Bb2hhRVA4eG16Tzc1Um5fVG9rZW46SVAxVmJTM3VmbzVheGt4bVRrcGNoYXpObn FlXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-ikgm9o4n-1681127653643)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MDg3MDY5OTk2NjY2MjY0ZGVjMWZhMmNmNTA3NjdhYjRfSjJsYVNyQ0txUUdLdG1VQVBkU2VVak5BYU9wT0dQMVlfVG9rZW46V200TmJUalQxb2hrcmZ4TzRpVmN rVlRnbkdkXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

7. It can be seen that the domain name chat-gpt-next-web-liart-kappa-35.vercel.app is automatically assigned for us . In fact, it is completed here. However, vercel.app is naturally blocked because it is widely used. If it is lost, you can click on it, but it should not be accessible. Fortunately, Vercel officially provides a separate IP and CNAME address for everyone. For domestic users, they can still enjoy the services provided by Vercel after configuring a separate domain name resolution.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-awwrFqqx-1681127653644)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MzdlN2VhZDdmYWVmODk3YmJkM2MyYWZhZWNiMGE0MmFfVTZlS2dYd2xEQmtUNHJlSDR4Tmp3YzZ2aXQzbmZ5bGpfVG9rZW46TVh5VWJOYmtRb3E5SVN4U2M1U2 NSQmF0bnViXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

8. Bind a custom domain name. It is assumed that you already have a domain name (if not, please continue to read) , click "View Domains" to enter the domain name configuration page, enter the domain name to be bound, and then click "Add" button to complete adding the custom domain name.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-iQAPX3rG-1681127653644)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MjM0NDAyMjNjN2IzNWNmZjc3NjNlYjdhODAwZjI5YmRfcThIajVvOVp6cnNRVFZGRGRWalBXaExNOHNXZ1dISzNfVG9rZW46VDFvUmJPTFZNb0ZPakt4d0FudGNU UzQ3bmVoXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-NvVHFevU-1681127653645)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YWQ5NjljNjE0MzExMmFmYjE3NDk5YmIyYjQ4YjFjMTdfVVdsbTd2VEQzWFRTMHdqRWhHV2lGTHN2dktjbXBvY0NfVG9rZW46UkJ2SmJWSXg5b0NnTjN4Nk1tOG M4NkFGbmdQXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

9. Some configurations that need to be done will pop up. Next, we need to go to our domain name provider to configure according to the requirements given by Vercel. If you can’t do this step, you can refer to the following CF domain name management chapter .

10. Now you can access your private and exclusive ChatGPT website through a custom domain name. The first visit may be a bit slow, because Vercel is generating an SSL certificate at this time, please wait patiently for a while~

This is the end of the deployment tutorial. Of course, you can also choose to use Tencent Cloud or Alibaba Cloud servers to deploy independently. If you are interested, you can check the information by yourself, and welcome to communicate with me. Attach the coupons of Tencent Cloud or Alibaba Cloud, and play a small advertisement (●'◡'●).

[Tencent Cloud] 2-core 2G cloud server starts at 9.33 per month, and the exclusive 3-year machine for individual developers is as low as 23% off

[Tencent Cloud] Exclusive benefits for promoters. There is no threshold for new customers to receive vouchers with a total value of up to 2,860 yuan. Each type of voucher is limited to 500, first come first served.

[Alibaba Cloud] Exclusive special offer for newcomers with 2-core 2G lightweight application server as low as 108 yuan/year

buy a domain name

If you don’t have a domain name, then you need to buy a domain name that belongs to you. If you buy a domain name well, you can achieve financial freedom early~

You can choose the following channels to purchase:

In addition, you can also choose to get a free domain name from the following platforms:

​ Friends who have time can try it, I have been fiddled with for a long time and have not applied for it~

  • eu.org
    • eu.org is a free domain name for organizations in the European Union that requires UK user information to register.

After thinking about it again and again, I chose Namesilo (domestic domain name service providers need real-name authentication), and the reasons for the choice are as follows:

  • The price is cheap and stable, no routine
    • The price of the Namesilo domain name itself is relatively cheap. The COM domain name is $8.99/year. Except for a one-dollar discount code, there are basically no other major promotions. The domain name renewal fee is the same as the first-year purchase price.
    • Routine refers to those that are extremely cheap in the first year, but the renewal fee in the next year is very expensive. For example, Godaddy costs $0.99 for the first year, and RMB 102 for renewal in the second year, and an additional RMB 60 is required for privacy protection.
    • Namesilo Price List: Domain Pricing
  • Permanent free privacy protection
    • Namesilo provides permanent free domain name privacy protection, preventing others from obtaining domain name owner's personal registration information through WHOIS query. For comparison, Godaddy's privacy protection is 60 yuan/year, and Namecheap is free for the first year.
  • high security
    • Support account login secondary verification and Domain Defender to protect the security of accounts and domain names. Log in, unlock domain name, etc., you can set email or SMS reminders.
  • Easy to pay
    • Support Alipay, Paypal, credit card and other payment methods.

1. After logging in to the website, search for the domain name you want to apply for in the big search box, and add it to the shopping cart.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-QJVbVXmR-1681127653645)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ZTFiNzg4NWVjOGNlZDU4Y2UzYjA1ZjNjY2NkYmYxMjhfeE1MZFBlQm9Lek5XZ1E5cG5tQ1pmY3BDMVBLdFB6SHdfVG9rZW46UmYxVWJ3a1hhb2JhS3V4OFdwRm NDWGxObndkXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

2. Then click "Checkout" to proceed to settlement, and fill in my discount code tree1024 to enjoy a discount of 1$ ~

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-rOMhxtzL-1681127653646)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=N2UyNDVhODBlMTRhYjllNDg4NzU0OGIzYjQ3MDE0MThfbXVRcXJqTjh0MHlBYnlIajlpN0lPTzhoWUVxd0pVd1pfVG9rZW46RVFZQ2J1azZWb3JXZFp4TTFVT2Nzb25jbl plXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

3. Next, fill in the account information, fill in roughly, only fill in the ones with asterisks, please use your usual email address.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-08AeEPhN-1681127653647)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YmIwMWI3ODhiYWJlOWVjN2ViMjI2NGEyZWZiMjNlOGRfeTNFcUJpZlZTZjFVT0xnQVFkUDd3cUN5bkE3NWhxYVlfVG9rZW46QzI4dGJEbUR2b1YwVFh4M1VhYmNK UEJxblFoXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

4. Choose a payment method. After the purchase is successful, you will receive an official email.

CF domain name management

1. Add the domain name purchased above to Cloudflare for management, click the "Add Site" button, and enter the domain name.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-WlOPszWi-1681127653647)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ZmRlNTZmY2I2NGM1Y2Q1NDNlYmIyMDhlMjA4YjRlZmNfcFpXNTgybkQ5QVBXUmpBWTJza3VTWUNLWDZPU0lwSHBfVG9rZW46RzdzWWJtWlB4b1FaOVl4OFJNU2NJ bmNqbnhnXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

2. Choose the Free plan, because we are building a website personally, and we don't need too many messy functions.

[External link picture transfer failed, the source site may have an anti-theft link mechanism, it is recommended to save the picture and upload it directly (img-AhTaWTes-1681127653648)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ODA0Mzc2M2NmNTMwZjMyOWI5NWZmMjgwZmYxNzkzYjFfWG0yUFlDOG42SHJCUnhzSldFN0ZIOFl6TkV3Tm0zVUZfVG9rZW46QUtLSGJTOVpub3pQS2Z4TUJnZ2Ntb ldRbjViXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

3. Then the overview page appears, and we follow the prompts to complete the name server settings.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-XryvP314-1681127653648)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MjhmM2ZiYmZmZjc2OTY2YTQwYmJiYjhkMWNmYzVkMzdfRWVTRFl3TmFTVld3Tk1vUDZYcWxRdExUcWVnYmtkMURfVG9rZW46VUNDc2JIMFAzb0twazV4aXUzZmNp Q1hJbkFoXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

4. I purchased the domain name from NameSilo, so I enter the management page of NameSilo, complete the name server replacement, log in to your NameSilo account, click "Manage My Domains" in the upper right corner, and then you will see the picture below, first check the one you want The resolved domain name, and then click "change Nameservers".

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-BWJeK83o-1681127653649)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=MjNjNDViMTQ5ZGMwMDQxZGEyZDkxMWRlODllOTIwY2NfRFFSeXlMWlhoUmd2MGdjWU1NNmNsTDJRdW1oZTJZQkNfVG9rZW46Sk4zSWJMNTQwbzAyZTR4dzZmbGNJTEs1bm diXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-xvcLHz1z-1681127653649)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=Yzc5MzEyZjcyMzY0OGY1NGU5NjhiMWExY2I1OGYzMWJfQ25YQzBzVDFkNzdXZU5seE1JYWFkTUJCQmxyQ3BPTDNfVG9rZW46UkswQWJ6cVdxb2lZSkJ4MGVlaWNi TFQ4blFkXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

5. Fill in the address of the name server in CloudFlare ( athena.ns.cloudflare.com , jake.ns.cloudflare.com ) into Namesilo and save it. The official statement is that the resolution takes effect within 24 hours, but usually within half an hour OK.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-aUIkL7Aw-1681127653650)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YWJjNTcyNzM5ZDdkY2MyYmJkNTMzNmJmNTM1NDBiZGFfTnFYYU1XM0M0ZFhlb0FmelFJWVp0QnRIS0lYaGFxa2hfVG9rZW46RUFRV2J3VFdhb2k5RWd4VEZCdmMzbm labkpiXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

6. Go to CloudFlare again, check the name server, and if the check passes, an email will be sent.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-PUEkjs5d-1681127653650)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ZDg2NTcxMTY2M2EwYmM3Y2QyMTEzMDMxODRiZmUzZGRfeUdRN2l4R2pYdFpEY1N5NVh5cUtnU25NZ1JWZm00RVVfVG9rZW46Q3ZQM2IydUxkb001a0x4Q2hH UmNySU9zbjk3XzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

7. To configure SSL, first apply for a client SSL certificate in SSL/TLS : SSL/TLS -> Client Certificate -> Create Certificate, select the encryption mode to be complete, and there is no need to save the certificate and private key generated later.

[External link picture transfer failed, the source site may have an anti-theft link mechanism, it is recommended to save the picture and upload it directly (img-l2UpJ57r-1681127653651)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=Nzc5NWNmY2Q5M2ZjNjMwOTIxMjA1MTg5MzMyM2MyYzZfa0xMYkVVVm9MSzhCdHRnUWpuek9aUHJXTVFJZFl4VVlfVG9rZW46WUhjZ2JDaWJob0JPd0d4YlVaUGNzZzJ 5bmluXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

8. Add CNAME record, DNS -> Record -> Add Record. Add the CNAME record ( cname.vercel-dns.com ) as follows, and save it. Take www.tree1024.xyz as an example.

[External link picture transfer failed, the source site may have an anti-leeching mechanism, it is recommended to save the picture and upload it directly (img-vmhYHTUf-1681127653652)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=YjNkNGE1NDE5ZDZlY2Q2M2QxNWQyNTE2ZTEwOTlkOGVfMFRrbEdmM2pPbjJUdFdEeG05VXowTnE4RG5ydEVPMlZfVG9rZW46Sk1oaGJ5Rldmb2V5OFp4S2E4a2NsZH BjbnJoXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

9. Add an A record (optional). If you want to use the root domain name to access your site, such as https://tree1024.xyz, you need to add an A record to directly resolve the root domain name to Vercel’s server address ( 76.76.21.21 ) and that's it!

[External link picture transfer failed, the source site may have an anti-theft link mechanism, it is recommended to save the picture and upload it directly (img-7ylJeabY-1681127653652)(https://u5mwn062nv.feishu.cn/space/api/box/stream/download /asynccode/?code=ODQ1OTQ0YmU5MjI4MWZlODlmNWY1MzQ4ZDZjZGUwZTZfWjczbFd6Y1NBUnFIRmR1Y2dmVW1xYmZIdzEwYUJ3MGpfVG9rZW46S1FaU2J3S3Vab2gzZmt4amVTSWN ieThDblFlXzE2ODExMTYwOTk6MTY4MTExOTY5OV9WNA)]

10. So far, you have a resolvable domain name.

cost accounting

It is said to be free, but this trip actually costs a bit:

Time cost : It takes about 1 hour, and it may take more than 2 hours if you are not skilled.

Economic cost : It is mainly the money to buy the domain name. The price fluctuates too much. Think about the domain name ai.com, which is really profitable!

Please contact me if you have any questions! Provide one-stop chatGPT website deployment service.

Mr. Tree v: _tree –

Public number: Mr. Programmer Shu

Guess you like

Origin blog.csdn.net/sj5590155/article/details/130068394