-
-
Notifications
You must be signed in to change notification settings - Fork 1
API Reference
Diego Alfonso edited this page Jan 26, 2026
·
2 revisions
PrivUtil exposes a gRPC-Web API for all tool operations.
- Protocol: gRPC-Web over HTTP
-
Content-Type:
application/grpc-web+proto - Default Port: 8090
All methods are defined in proto/privutil.proto.
service PrivUtilService {
rpc Diff(DiffRequest) returns (DiffResponse);
rpc Base64Encode(Base64Request) returns (Base64Response);
rpc Base64Decode(Base64Request) returns (Base64Response);
rpc JsonFormat(JsonFormatRequest) returns (JsonFormatResponse);
rpc Convert(ConvertRequest) returns (ConvertResponse);
rpc GenerateUuid(UuidRequest) returns (UuidResponse);
rpc GenerateLorem(LoremRequest) returns (LoremResponse);
rpc CalculateHash(HashRequest) returns (HashResponse);
rpc TextInspect(TextInspectRequest) returns (TextInspectResponse);
rpc TextManipulate(TextManipulateRequest) returns (TextManipulateResponse);
rpc UrlEncode(TextRequest) returns (TextResponse);
rpc UrlDecode(TextRequest) returns (TextResponse);
rpc HtmlEncode(TextRequest) returns (TextResponse);
rpc HtmlDecode(TextRequest) returns (TextResponse);
rpc TimeConvert(TimeRequest) returns (TimeResponse);
rpc JwtDecode(JwtRequest) returns (JwtResponse);
rpc RegexTest(RegexRequest) returns (RegexResponse);
rpc JsonToGo(JsonToGoRequest) returns (JsonToGoResponse);
rpc CronExplain(CronRequest) returns (CronResponse);
rpc CertParse(CertRequest) returns (CertResponse);
rpc ColorConvert(ColorRequest) returns (ColorResponse);
rpc CaseConvert(CaseRequest) returns (CaseResponse);
rpc StringEscape(EscapeRequest) returns (EscapeResponse);
rpc TextSimilarity(SimilarityRequest) returns (SimilarityResponse);
rpc SqlFormat(SqlRequest) returns (SqlResponse);
rpc IpCalc(IpRequest) returns (IpResponse);
}Compare two texts.
message DiffRequest {
string text1 = 1;
string text2 = 2;
}
message DiffResponse {
string diff_html = 1;
}Encode or decode Base64 strings.
message Base64Request {
string text = 1;
}
message Base64Response {
string text = 1;
string error = 2;
}Format or minify JSON.
message JsonFormatRequest {
string text = 1;
string indent = 2; // "2", "4", "tab", "min"
}Convert between JSON, YAML, XML.
enum DataFormat {
JSON = 0;
YAML = 1;
XML = 2;
}
message ConvertRequest {
string data = 1;
DataFormat source_format = 2;
DataFormat target_format = 3;
}Generate UUIDs.
message UuidRequest {
int32 count = 1;
string version = 2; // "v1", "v4"
bool hyphen = 3;
bool uppercase = 4;
}
message UuidResponse {
repeated string uuids = 1;
}Convert timestamps.
message TimeRequest {
string input = 1; // "now", unix timestamp, or ISO format
}
message TimeResponse {
int64 unix = 1;
int64 unix_milli = 2;
string iso = 3;
string human = 4;
// ... more formats
}Calculate IP subnet information.
message IpRequest {
string cidr = 1; // "192.168.1.0/24"
}
message IpResponse {
string network = 1;
string broadcast = 2;
string netmask = 3;
int64 host_count = 4;
string first_host = 5;
string last_host = 6;
string error = 7;
}import { client } from "./lib/client";
import { DiffRequest } from "./proto/proto/privutil";
const response = await client.diff(
DiffRequest.create({ text1: "hello", text2: "world" }),
);
console.log(response.diffHtml);conn, _ := grpc.Dial("localhost:8090", grpc.WithInsecure())
client := pb.NewPrivUtilServiceClient(conn)
resp, _ := client.Diff(ctx, &pb.DiffRequest{
Text1: "hello",
Text2: "world",
})
fmt.Println(resp.DiffHtml)All responses include an optional error field:
- If empty: operation succeeded
- If set: contains error message
const resp = await client.jsonFormat(req);
if (resp.error) {
console.error("Error:", resp.error);
} else {
console.log("Result:", resp.text);
}Getting Started
User Guide
Development
Operations
Community