TOR: http://starfilesmj35tuw5bf7qaxfpf4d6tydvqjbftzw23t3ghtjreyx45id.onion
I2P: http://vnt23fy3n5qiwojrkcec2i3ac6w5gkacdyrf2gobid6xjnq53ffq.b32.i2p
Bitcoin: bc1qxfxt0k7ws49llv0wdj3tsyhr8wwr0z5thq5rtp
Monero: 41zcbma6ECS9awpfcoegTHXjcAEEqK9FrJuFceQp6gp9gdWgak1K55gNNhmED5etEj6QdDAUgLaEwDDouwhy1d7fKTBFaQv
API v2 will have a staged rollout. Check back here as endpoints are moved to v2.
API can be complicated. If you plan on using Starfiles' API in a website, it is recommended to use our very own Javascript library - StarfilesJS.
You will receive a file ID when a file is successfully uploaded. The file's link is:
//starfiles.co/file/ID
Endpoint: //upload.starfiles.co/file
Endpoint to upload file to a folder: //upload.starfiles.co/file?folder=xxxx&profile=yyyy
When uploading to a folder, you must own the folder. Replace yyyy with the verification code shown at Sync Profiles.
Method: POST
upload: example.txt
ORdatauri: data:image/png;base64,xxxxxxxxx
name: image.png
Config (optional):
open: true // Redirect on upload
redirect_url: //example.com/file.php?url={output} // Custom redirect URL (if open=true)
Parameter Content:
Max file size: 100mb
HTML | Python | Javascript | PHP | Curl | NodeJSWant to upload larger files?
Endpoint: //upload.starfiles.co
Max file size: 2gb
Files are split into chunks of 2MB (2097152 bytes). Each chunk needs to be uploaded separately.
Endpoint: //upload.starfiles.co/file
Parameters:
upload: file
number_of_chunks: chunk count
chunk_number: chunk number
The last chunk uploaded will return the file ID.
This endpoint will only work for Patreon members.
Endpoint: //api.starfiles.co/upload/upload_url?profile=xxxx
Replace xxxx with the verification code shown at Settings.
Config (optional):
redirect_url: //example.com/file.php?url={output} // Custom redirect URL
Method: POST
Parameter:
url: //example.com/example.txt
A plug and play javascript library.
<!-- StarfilesJS -->
<script src="//cdn.starfiles.co/js/starfilesjs.min.js"></script>
<!-- Upload form -->
<input type="file" id="uploaded_file" onchange="uploadFile()" multiple="multiple">
<!-- Outputs -->
<div id="preuploadoutput"></div>
<div id="output"></div>
<!-- Upload Progress -->
<div id="progress">
<span id="progressContainer"></span>
<span id="remaining_size"></span>
<span id="eta"></span>
<span id="status"></span>
<span id="upload_speed"></span>
</div>
Endpoint: //download.starfiles.co/xxxxx
Method: GET
Parameter:
Profile: xxxx (optional)
This endpoint let's you download a file from a folder without knowing the file id, just the file name.
Endpoint: //api.starfiles.co/downloadfromfolder
Method: GET
Parameter:
Folder: xxxxxxxx
Name: example.txt
Profile: xxxx (optional)
This endpoint generates the PLIST content required to install an IPA.
Endpoint: //api.starfiles.co/installipa/xxxxx
Install IPA: itms-services://?action=download-manifest&url=//api.starfiles.co/installipa/xxxxx
This endpoint converts your file into a torrent file. The torrent file is automatically seeded by Starfiles forever so the torrent never dies.
Endpoint: //api.starfiles.co/torrent/xxxxx
Endpoint: //api.starfiles.co/file/trash
Method: GET
Parameters:
profile: xxxx
id: ID
Endpoint: //api.starfiles.co/file/delete
Method: GET
Parameters:
profile: xxxx
file: ID
Endpoint: //api.starfiles.co/folder/trash
Method: GET
Parameters:
profile: xxxx
id: ID
Endpoint: //api.starfiles.co/folder/delete
Method: GET
Parameters:
profile: xxxx
id: ID
Endpoint: //api.starfiles.co/file/fileinfo
Method: GET
Parameter:
File: ID
Example Output:
{
"id":"26ae82",
"name":"face.png",
"extension":"png",
"mime_type":"image/png",
"size":"654382",
"tidy_size":"639.04KB",
"upload_time":"1598272797",
"time_ago":"5 months ago",
"download_count":"0",
"deleted":true
}
This endpoint lists all files that belong to a specific user.
Endpoint: //api.starfiles.co/user/files
Method: GET
Config (optional):
trash: true or false // Shows folders in trash or excludes them
Parameter:
profile: xxxx
Example Output:
[
{
"hash":"6e067c4e9e06eb198b6b8d589a20cad416e205e8b8bb9655fffa56f300a253b0",
"id":"3c5e90",
"name":"wallpaper.jpeg",
"star":"0"
},
{
"hash":"fa93d9c0a3e17c6f7460f256cc09fe0c67e54e41a8e5b2eb5aa2d15f67a025c7",
"id":"st-7FfQLq",
"name":"pfp.png",
"star":"0"
}
]
This endpoint lists all files in a specific folder.
Endpoint: //api.starfiles.co/folder/files
Method: GET
Parameter:
folder: xxxx
Example Output:
['xxxx', 'xxxx']
This endpoint lists all folders that belong to a specific user.
Endpoint: //api.starfiles.co/user/folders
Method: GET
Config (optional):
trash: true or false // Shows folders in trash or excludes them
Parameter:
profile: xxxx
Example Output:
[
{
"id":"61e81dfecf",
"name":"Wallpapers",
"parent":"",
"colour":"",
"star":"0"
}
]
This endpoint lists all public files.
Endpoint: //api.starfiles.co/file/public
Parameters: key=hash // Optional
Method: GET
Example Output:
[
{
"12345":[ // File ID
"file.png", // File Name
"2", // Download Count
"abcdefg12345678" // Hash
]
}
]
This endpoint lists all public folders.
Endpoint: //api.starfiles.co/folder/public
Method: GET
Example Output:
[
{
"12345":[ // Folder ID
"Photos" // Folder Name
]
}
]
Endpoint: //api.starfiles.co/folder/makefolder
Method: GET
Parameter:
profile: xxxx // Set folder owner
parent: xxxx // Set parent folder (optional)
This endpoint lets you sign your own IPAs with any certificate you like. First you must upload the IPA, p12 file, and the mobileprovision to Starfiles and get their file ids.
Endpoint: //sign.starfiles.co
Method: GET
Parameter:
ipa: xxxx // IPA's File ID
p12: xxxx // p12's File ID
mobileprovision: xxxx // mobileprovision's File ID
password: xxxx // Cert password (optional)
The request won't return any JSON, instead redirecting you to the signed IPA.
This endpoint lists all certificates.
Endpoint: //api.starfiles.co/signingcerts
Method: GET
Example Output:
[
{
"name":"iPhone Distribution Beijing Lezhixing Software Co., Ltd",
"mobileprovision":"st-UcQDZG",
"p12":"st-GQNtyT",
"password":"25",
"badges":{
"jailbreaksapp":false,
"scarlet":false,
"eonhub":true
}
},
{
"name":"Zhuhai",
"mobileprovision":"st-EcHfzq",
"p12":"st-dTq5gk",
"password":"112244",
"badges":{
"jailbreaksapp":false,
"scarlet":false,
"eonhub":true
}
}
]