Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

beget-cli

CLI для Beget API с полным покрытием hosting API из KB (RU+EN) и всех 69 операций Beget Cloud VPS API v1.8.1.

Покрытие namespace: account, domains, dns, ftp, mail, mysql, backup, cron, sites, stats, vps.

Установка

cd /Users/mini/.openclaw/workspace/projects/beget-cli
npm install
npm link   # опционально, чтобы вызывать как `beget`
beget --help

Авторизация

beget auth add main
beget auth use main
beget account info --json

Non-interactive:

BEGET_API_PASSWORD='***' beget auth add main --login mylogin --no-input

auth add проверяет данные безопасным read-only вызовом user/getAccountInfo до записи профиля. Нужен именно пароль Beget API, а доступ к API должен быть разрешён в панели управления. Для подготовки профиля без сети можно явно пропустить проверку флагом --no-verify.

Beget Cloud VPS

Cloud API использует отдельный JWT. CLI получает его по паролю аккаунта и хранит только JWT в выбранном профиле:

beget auth cloud-login main --login mylogin
beget auth use main
beget vps regions --json
beget vps configurations --json
beget vps list --json
beget vps get VPS_ID --json

Создание и сложные изменения принимают тело из актуальной OpenAPI-схемы:

beget vps create --body-file create-vps.json --dry-run --json
beget vps create --body-file create-vps.json --json
beget vps stop VPS_ID --dry-run --json
beget vps remove VPS_ID --body-json '{"ip_action":"DELETE"}' --dry-run --json
beget vps remove VPS_ID --body-json '{"ip_action":"DELETE"}' --yes --json

Полное дерево из 69 операций, JWT-поток и правила безопасных мутаций описаны в docs/CLOUD_VPS.md.

Безопасность

  • Секреты не передавать через positional args.
  • Для mutate-команд есть --dry-run.
  • Для рискованных операций (delete/drop/restore) в non-interactive обязателен --yes.
  • Cloud-пароль не сохраняется; JWT никогда не печатается.
  • Cloud read-запросы могут повторяться при временном сбое, mutate-запросы отправляются ровно один раз.

Полный method -> command map

user

  • user/getAccountInfobeget account info
  • user/toggleSshbeget account toggle-ssh

domain

  • domain/getListbeget domains list
  • domain/getZoneListbeget domains zone-list
  • domain/addVirtualbeget domains add-virtual
  • domain/deletebeget domains delete
  • domain/getSubdomainListbeget domains subdomain-list
  • domain/addSubdomainVirtualbeget domains add-subdomain-virtual
  • domain/deleteSubdomainbeget domains delete-subdomain
  • domain/checkDomainToRegisterbeget domains check-to-register
  • domain/getPhpVersionbeget domains php-version-get
  • domain/changePhpVersionbeget domains php-version-change
  • domain/getDirectivesbeget domains directives-get
  • domain/addDirectivesbeget domains directives-add
  • domain/removeDirectivesbeget domains directives-remove

dns

  • dns/getDatabeget dns list (и shortcut beget dns ns-get)
  • dns/changeRecordsbeget dns change-records (и shortcut beget dns ns-set)

ftp

  • ftp/getListbeget ftp list
  • ftp/addbeget ftp add
  • ftp/changePasswordbeget ftp change-password
  • ftp/deletebeget ftp delete

mail

  • mail/getMailboxListbeget mail mailbox-list
  • mail/changeMailboxPasswordbeget mail mailbox-password-change
  • mail/createMailboxbeget mail mailbox-create
  • mail/dropMailboxbeget mail mailbox-drop
  • mail/changeMailboxSettingsbeget mail mailbox-settings-change
  • mail/forwardListAddMailboxbeget mail forward-add
  • mail/forwardListDeleteMailboxbeget mail forward-delete
  • mail/forwardListShowbeget mail forward-show
  • mail/setDomainMailbeget mail domain-mail-set
  • mail/clearDomainMailbeget mail domain-mail-clear

mysql

  • mysql/getListbeget mysql list
  • mysql/addDbbeget mysql db-add
  • mysql/addAccessbeget mysql access-add
  • mysql/dropDbbeget mysql db-drop
  • mysql/dropAccessbeget mysql access-drop
  • mysql/changeAccessPasswordbeget mysql access-password-change

backup

  • backup/getFileBackupListbeget backup file-backup-list
  • backup/getMysqlBackupListbeget backup mysql-backup-list
  • backup/getFileListbeget backup file-list
  • backup/getMysqlListbeget backup mysql-list
  • backup/restoreFilebeget backup restore-file
  • backup/restoreMysqlbeget backup restore-mysql
  • backup/downloadFilebeget backup download-file
  • backup/downloadMysqlbeget backup download-mysql
  • backup/getLogbeget backup log

cron

  • cron/getListbeget cron list
  • cron/addbeget cron add
  • cron/editbeget cron edit
  • cron/deletebeget cron delete
  • cron/changeHiddenStatebeget cron change-hidden-state
  • cron/getEmailbeget cron email-get
  • cron/setEmailbeget cron email-set

site

  • site/getListbeget sites list
  • site/addbeget sites add
  • site/deletebeget sites delete
  • site/linkDomainbeget sites link-domain
  • site/unlinkDomainbeget sites unlink-domain
  • site/freezebeget sites freeze
  • site/unfreezebeget sites unfreeze
  • site/isSiteFrozenbeget sites is-frozen

stat

  • stat/getSitesListLoadbeget stats sites-list-load
  • stat/getSiteLoadbeget stats site-load
  • stat/getDbListLoadbeget stats db-list-load
  • stat/getDbLoadbeget stats db-load

Выходные коды

  • 0 успех
  • 1 непредвиденная ошибка
  • 2 usage/validation
  • 3 auth/credentials
  • 4 API error
  • 5 config error
  • 6 network/timeout/http

Self-check

npm run self-check

About

CLI for Beget API

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages