in

A safe and simple notification tools For developers and everyone can push notifications with API



Release
iTunes App Store
WebStore
Windows
Workflow
CodeQL
Codecov
Total alerts
Go Report Card
Go Reference
GitHub
Docker pull
Downloads
Users

English | 简体中文

Chanify is a safe and simple notification tools. For developers, system administrators, and everyone can push notifications with API.

  1. Features
  2. Getting Started
  3. Installation

  4. Usage

  5. HTTP API

  6. Configuration
  7. Security

  8. Chrome Extension
  9. Windows Client
  10. Docker Compose
  11. Contributing
  12. License

  1. iOS App(1.0.0 version and above) or macOS App(1.3.0 version and above).
  2. Get send token, more detail.
  3. Send message.

here.

Docker

$ docker pull wizjin/chanify:latest

Send Audio

Send mp3 audio only support POST method used serverful node.

cat <mp3 audio path> | curl -H "Content-Type: audio/mpeg" --data-binary @- "http://<address>:<port>/v1/sender/<token>"
  • Content-Type: multipart/form-data

Send File

Send file only support POST method used serverful node.

  • Content-Type: multipart/form-data

Chrome web store.

Extension features:

  • Send select text/image/audio/url message to Chanify
  • Send page url to Chanify

Windows Client from here.

Windows Client features:

  • Support Chanify to the Windows Send To Menu.
  • Support send message with CLI.

  1. docker compose.
  2. Edit configuration file (docker-compose.yml).
  3. Start docker compose: docker-compose up -d

docker-compose.yml:

version: "3"
services:
    web:
        image: nginx:alpine
        restart: always
        volumes:
            - <workdir>/nginx.conf:/etc/nginx/nginx.conf
            - <workdir>/ssl:/ssl
        ports:
            - 80:80
            - 443:443
    chanify:
        image: wizjin/chanify:dev
        restart: always
        volumes:
            - <workdir>/data:/data
            - <workdir>/chanify.yml:/root/.chanify.yml
Key Description
workdir Work directory for node server.

<workdir>/nginx.conf:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
	worker_connections  1024;
}

http {
	include       /etc/nginx/mime.types;
	default_type  application/octet-stream;
	log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    '$status $body_bytes_sent "$http_referer" '
    '"$http_user_agent" "$http_x_forwarded_for"';

	access_log  /var/log/nginx/access.log  main;

	server_tokens   off;
	autoindex       off;
	sendfile        on;
	tcp_nopush      on;
	tcp_nodelay     on;

	keepalive_timeout  10;

    server {
		listen				80;
		server_name         <hostname or ip>;
		access_log          off;
		return 301 https://$host$request_uri;
	}

	server {
		listen              443 ssl http2;
		server_name         <hostname or ip>;
		ssl_certificate     /ssl/<ssl key>.crt;
		ssl_certificate_key /ssl/<ssl key>.key;
		ssl_protocols       TLSv1.2 TLSv1.3;
		ssl_ciphers         HIGH:!aNULL:!MD5;
		keepalive_timeout   30;
		charset             UTF-8;
		access_log          off;

		location / {
			proxy_set_header   Host               $host;
			proxy_set_header   X-Real-IP          $remote_addr;
			proxy_set_header   X-Forwarded-Proto  $scheme;
			proxy_set_header   X-Forwarded-For    $proxy_add_x_forwarded_for;
			proxy_pass http://chanify:8080/;
		}
	}
}
Key Description
hostname or ip Internet hostname or ip for node server.
ssl key SSL key file for node server.

<workdir>/chanify.yml:

server:
    endpoint: https://<hostname or ip>
    host: 0.0.0.0
    port: 80
    name: <node name>
    datapath: /data
    register:
        enable: false
        whitelist: # whitelist    
            - <user id>
Key Description
hostname or ip Internet hostname or ip for node server.
node name Name for node server.
user id User ids for whitelist.

LICENSE for more information.

GitHub

https://github.com/chanify/chanify




Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

GIPHY App Key not set. Please check settings

The Props Object – DEV Community

Unbeatable Emoji Tic Tac Toe