−25%

kwa Windows ya mwaka, hadi 31 Okt. Tazama mipango

EQVPS
Anza

Simamia VPS yako kwa REST API na curl: hali, nishati, kusakinisha upya, kufanya upya

Kila unachofanya kwenye dashibodi baada ya kuagiza seva — kuangalia hali, kuwasha upya, kusoma vipimo, kubadilisha jina, kusakinisha upya OS, kufanya upya kwa miezi kadhaa, kughairi na kurudisha — kama amri za curl za kunakili, pamoja na majibu halisi.

Kuagiza seva kupitia API ni ombi moja. Hilo limeelezwa katika Agiza VPS kwa simu 4 za API. Ukurasa huu unahusu kila kitu kinachofuata: vitendo vya kawaida ambavyo vinginevyo ungebofya kwenye dashibodi, vimeandikwa kama amri za curl unazoweza kubandika kwenye hati.

Kila amri hapa chini iliendeshwa dhidi ya API yetu kabla ya kuchapishwa, na majibu ni nakala fupi za kilichorudi.

Maandalizi

Vigeu viwili huweka amri fupi:

export API=https://api.eqvps.com/api/v1/eqvps
export EQVPS_TOKEN='paste-your-token-here'

Tokeni hutoka POST /auth/register au kutoka Settings → API tokens kwenye dashibodi. Iweke nje ya historia ya shell ikiwa watu wengine hutumia mashine hiyo; kuisoma kutoka faili kwa export EQVPS_TOKEN=$(cat ~/.eqvps_token) kunatosha.

Tafuta seva zako

curl -s $API/services -H "Authorization: Bearer $EQVPS_TOKEN"

Kila kipengee kina id kama 47HZ7YF. Hiyo ndiyo nambari ya huduma ambayo simu nyingine zote huchukua. Kisha picha kamili ya seva moja:

curl -s $API/services/47HZ7YF -H "Authorization: Bearer $EQVPS_TOKEN"
{ "data": {
    "id": "47HZ7YF", "status": "active", "queued": false,
    "product": { "slug": "nano", "name": "Nano" },
    "specs": { "vcpu": 2, "memory_mb": 1024, "disk_gb": 15 },
    "hostname": "agent-box",
    "vm": { "state": "running", "uptime": 5340 },
    "access": { "method": "ssh", "host": "203.0.113.10", "port": 21521, "user": "root", "nat": true, ... } } }

access inakuambia jinsi ya kuingia. Kwenye mpango wenye IPv4 yake, mlango ni 22; kwenye mpango wa NAT ni mlango wako binafsi uliopelekwa. Simu hii inasoma tu, kwa hiyo kuiuliza kwenye kitanzi ni salama.

Ikiwa uliagiza bila ufunguo wa SSH, nenosiri la root huonyeshwa mara moja:

curl -s "$API/services/47HZ7YF?reveal=1" -H "Authorization: Bearer $EQVPS_TOKEN"

Wakati seva bado inawaka, jibu linasema password_pending na onyesho la mara moja halitumiki. Subiri nusu dakika na uulize tena.

Nishati: start, stop, reboot

curl -s -X POST $API/services/47HZ7YF/power \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"action": "reboot"}'

action ni start, stop au reboot. Seva ambayo bado haijawa hai (bado inaundwa, au imesimamishwa kwa kutolipa) hujibu 409 Service is not active. Hilo si kosa la hati yako. Angalia status kwanza.

Vipimo

curl -s "$API/services/47HZ7YF/metrics?timeframe=day" -H "Authorization: Bearer $EQVPS_TOKEN"

CPU, kumbukumbu, mtandao na diski kama mfululizo wa muda. timeframe ni hour (chaguo-msingi), day, week au month. Inafaa kwa kazi ya cron inayokuarifu diski ikiendelea kukua. Vihesabu vya trafiki kwa kipindi cha sasa cha malipo viko katika Angalia kasi na trafiki.

Badilisha jina la seva

curl -s -X POST $API/services/47HZ7YF/hostname \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"hostname": "web-01"}'

Jina jipya hutumiwa ndani ya mfumo unaoendesha na guest agent, bila kuwasha upya kwenye Linux. Ikiwa seva imesimamishwa, au uliondoa qemu-guest-agent, simu hurudisha 409 agent_unavailable na hakuna kinachobadilika.

Sakinisha upya OS

Hii hufuta diski. API inakulazimisha kuandika hostname ya sasa ya seva kwenye confirm, ili hati yenye id ya huduma isiyo sahihi isiweze kufuta mashine isiyo sahihi:

curl -s -X POST $API/services/47HZ7YF/reinstall \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"os_id": 4, "confirm": "web-01"}'

os_id hutoka kwenye orodha ya available_os ya mpango wako katika GET /products au kutoka maelezo ya seva yenyewe. Kusakinisha upya huendeshwa chinichini; uliza GET /services/{id} hadi status iwe active tena.

Kufanya upya na salio

Seva hufanywa upya kila mwezi kutoka salio lako lililolipwa mapema. Kuona gharama ya vipindi virefu zaidi kwa seva hii:

curl -s $API/services/47HZ7YF/renew-options -H "Authorization: Bearer $EQVPS_TOKEN"

Kulipa mapema, tuseme miezi mitatu, kwa simu moja:

curl -s -X POST $API/services/47HZ7YF/renew \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"months": 3}'

months ni 1, 3, 6 au 12, na 12 hutozwa kwa bei ya mwaka pamoja na punguzo lake. Jibu linasema paid_from_balance: true na linatoa tarehe mpya ya mwisho. Ikiwa salio halitoshi kiasi, hakuna kinachokatwa: unapata paid_from_balance: false na badala yake checkout_url ya ankara hiyo. Salio likishajazwa, POST $API/invoices/{invoice_id}/pay hulipa ankara hiyo kutoka salio; ikiwa bado halitoshi, hurudisha aina ileile ya checkout_url na haikati chochote. Kuangalia na kujaza salio:

curl -s $API/balance -H "Authorization: Bearer $EQVPS_TOKEN"

curl -s -X POST $API/balance/topup \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"amount": 25}'

Jibu la kujaza lina checkout_url. Hayo ni malipo ya kripto: USDT, USDC au ETH kwenye Base, Ethereum au Polygon. Salio huingizwa malipo yakithibitishwa on-chain. Kulipa ndiyo hatua pekee ambayo hati haiwezi kukufanyia, isipokuwa ikiwa na pochi.

Monero pia inafanya kazi, lakini tu kama kujaza salio kwa ukaguzi wa mkono: unatuma XMR, unawasilisha id ya muamala, nasi tunaingiza baada ya kuthibitisha. Tazama Lipa kwa Monero.

Ghairi, na ubadilishe nia

Kughairi kwa usalama huiacha seva ikiendelea hadi kipindi kilicholipwa kiishe na kwa urahisi haiifanyi upya:

curl -s -X POST $API/services/47HZ7YF/cancel \
  -H "Authorization: Bearer $EQVPS_TOKEN" -H "Content-Type: application/json" \
  -d '{"type": "end_of_period", "reason": "moving the project elsewhere"}'

reason inahitajika. Maneno machache yanatosha. Umebadilisha nia kabla ya tarehe?

curl -s -X POST $API/services/47HZ7YF/cancel/undo -H "Authorization: Bearer $EQVPS_TOKEN"

Pia kuna "type": "immediate". Inafuta seva na data yake papo hapo, inahitaji "confirm": "<hostname>" na haiwezi kurudishwa. Isipokuwa unamaanisha kweli, tumia end_of_period.

Weka tokeni hai

Tokeni mpya huishi mwaka mmoja kwa chaguo-msingi. Kila jibu lililothibitishwa lina kichwa X-Token-Expires-At, ili hati iweze kugundua mapema. Badilisha tokeni kwa mpya:

curl -s -X POST $API/auth/token/refresh -H "Authorization: Bearer $EQVPS_TOKEN"

Tokeni ya zamani huacha kufanya kazi mara moja, kwa hiyo hifadhi mpya kabla ya kufanya kitu kingine chochote.

Hitilafu zinazostahili kushughulikiwa

MsimboMaana yakeCha kufanya
401Tokeni haipo, imefutwa au imeisha mudaIfanye upya au unda mpya
402Salio ni dogo mno kwa kitendo kinachotumia salio tu (kwa mfano kubadilisha mpango)Jaza salio, kisha rudia simu ileile
409Seva haiko katika hali sahihi (bado haijawa hai, operesheni inaendelea, hakuna cha kurudisha)Soma message, angalia status, jaribu baadaye
422Sehemu fulani si sahihi au haipoJibu linasema ipi
429Maombi mengi mnoSubiri Retry-After

Unafanya hivi kutoka kwa mteja wa AI badala ya hati? Vitendo hivyohivyo vipo kama zana za MCP — tazama Jinsi wakala wa AI anavyosimamia VPS yake mwenyewe kupitia MCP na marejeleo ya API. Bado huna seva? Chagua mpango.

Maswali

Je, ninahitaji seva ya MCP ili kuendesha VPS kiotomatiki?

Hapana. MCP ni urahisi kwa wateja wa AI; kila zana ya MCP huita REST API ileile chini yake. Hati ya shell, kazi ya cron au pipeline ya CI inaweza kutumia curl moja kwa moja kwa tokeni ileile.

Ninapata tokeni wapi?

Ama kutoka POST /auth/register (wakala anayejisajili mwenyewe) au kutoka dashibodi: Settings → API tokens. Tokeni mpya ni halali kwa mwaka mmoja kwa chaguo-msingi; POST /auth/token/refresh hubadilisha tokeni kwa mpya kabla haijaisha muda.

Je, amri isiyo sahihi inaweza kufuta seva yangu?

Simu mbili tu huharibu data: kusakinisha upya na kughairi papo hapo. Zote mbili hukataa kuendeshwa usiporudia hostname kamili ya seva kwenye sehemu confirm. Kuwasha upya, kusimamisha, hostname na kufanya upya havigusi faili zako.

Kufanya upya hulipwaje?

Kutoka salio lililolipwa mapema. Seva hufanywa upya kila mwezi yenyewe ikiwa salio linatosha; POST /services/{id}/renew hulipa miezi 1, 3, 6 au 12 mapema kwa simu moja. Ikiwa salio halitoshi, simu ileile hurudisha ankara yenye kiungo cha malipo ya kripto badala ya kukata chochote.

Je, kuna kikomo cha maombi?

Ndiyo, kwa kila tokeni na kila kitendo — kwa mfano mara 10 za kufanya upya tokeni kwa dakika, tiketi 20 kwa dakika. Hati inayoangalia hali kila sekunde chache ni sawa; inayomiminia vitendo vya nishati kwenye kitanzi itapata 429 pamoja na Retry-After.

Maoni

Bado hakuna maoni. Kuwa wa kwanza.

Acha maoni

Maoni yanakaguliwa kabla ya kuonekana.