Build a free image hosting with Telegraph
中文 document is no longer maintained
- Free
- Unlimited bandwidth (It will consume the traffic of your VPS)
- No censorship (NSFW image can be uploaded)
- You can upload any file, not just image files
- Single file cannot exceed 5MB
- Access speed may not be ideal in China Mainland
Full enable HTTPS
Client -> Cloudflare Server (Optional) -> Your VPS (Example: Oracle Cloud) -> Telegraph Servers (NL)
- a Domain (Make sure it's not blocked by GFW)
- an overseas VPS (Make sure you can access Telegraph)
- Install Nginx
I don't talk too much about simple steps such as domain name resolution and SSL certificate application.
location /upload {
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
if ($request_method = 'OPTIONS') {
return 204;}
proxy_pass https://telegra.ph/upload;
}
location /file {
proxy_pass https://telegra.ph/file;
}
client_max_body_size 5m;
Note: Remove all other useless location
related configuration and just keep the two above.
Thanks to my best friend Svend (author of uPic) for guiding the configuration scheme
- You can change the
API URL
andDomain
to your own.
- Don't forget to click on the
Other fields
to add the header information.
Please excuse the fact that I can't write a front-end, so the front-end is very minimal. If you have written a nice front-end, please submit a Pull Request
and I will appreciate it.
- Connect your server by SSH, then enter your web directory.
cd /www/wwwroot/xxx.com
- Download the source code on GitHub with
Git
.
git clone https://github.com/missuo/Telegraph-Image-Hosting.git ./
- Move all the files in
web
directory to web root directory.
mv web/* ./
-
Modify the line 34 to your domain in
api.php
-
Have fun.
There is no guarantee that it will work all the time, after all, Telegraph is on the GFW list. Use it and cherish it!