Đây là bài đăng lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS
CHƯƠNG TRÌNH:
TÊN
rpost - đăng một bài báo lên máy chủ tin tức NNTP
SYNOPSIS
đăng lại [tên máy chủ] [ @tên tệp ] [ -s | -S tên tệp] [ -e | -E tên tệp] [ -b tập tin lô
] [ -r rnews_file rnews_path] [ -p tiếp đầu ngữ ] [ -Q ] [ -d ] [ -U tên người dùng ] [ -P mật khẩu mở khóa ] [
-M ] [ -N port_number] [ -l cụm_tệp] [ -D ] [ -T hết giờ ] [ -u ] [ -n ]
[ -F perl_file] [ -i ] [ -z ] [ -f lọc $$ o = filter_arg1 ...]
MÔ TẢ
đăng lại sẽ đăng một hoặc nhiều bài báo, được chỉ định bởi tên máy chủ. Nếu tên máy chủ không phải là
được chỉ định, rpost sẽ sử dụng biến môi trường NNTPSERVER. Tên máy chủ có thể
tùy chọn bao gồm số cổng, trong biểu mẫu Tổ cổng Nếu biểu mẫu này được sử dụng, bất kỳ cổng nào
số được chỉ định thông qua tùy chọn -N sẽ bị bỏ qua.
Chung Các lựa chọn
@tên tệp
Tùy chọn này yêu cầu rpost đọc các tùy chọn khác từ một tệp ngoài dòng lệnh.
-D Tùy chọn này yêu cầu rpost ghi nhật ký các thông báo gỡ lỗi khác nhau vào "debug.suck", chủ yếu
để nhà phát triển sử dụng.
-e|-E tên tập tin
Các tùy chọn này sẽ gửi tất cả các thông báo lỗi (thường được hiển thị trên stderr), đến một
tập tin. Phiên bản viết thường, -e, sẽ gửi thông báo lỗi đến mặc định đã biên dịch
được định nghĩa trong suck_config.h. Mặc định là suck.errlog. Phiên bản chữ hoa, -E,
yêu cầu tham số tên tệp. Tất cả các thông báo lỗi sau đó sẽ được gửi đến tệp này.
-i
Tùy chọn này yêu cầu rpost bỏ qua 201 (không được phép đăng) khỏi thông báo chào mừng
và để thử và đăng bài. Một số máy chủ tin tức (inn-2.3.1) gửi 201 không được phép đăng
khi họ đang sử dụng lệnh AUTHINFO để xác minh quyền đăng.
-l cụm_tệp
Tùy chọn này yêu cầu rpost tải trong một tệp cụm từ thay thế, thay vì sử dụng
tin nhắn. Điều này cho phép bạn có các cụm từ in rpost bằng một ngôn ngữ khác hoặc cho phép
bạn có thể tùy chỉnh các thông báo mà không cần xây dựng lại. Xem "PHRASES NGOẠI NGỮ" trong
hút.1 để biết thêm chi tiết.
-M
Tùy chọn này yêu cầu rpost gửi lệnh "trình đọc chế độ" đến máy chủ từ xa. nếu bạn
nhận được thông báo lệnh không hợp lệ từ rpost ngay sau thông báo chào mừng, sau đó
hãy thử tùy chọn này.
-n
Tùy chọn này yêu cầu rpost hiển thị tên của tệp khi nó đang được tải lên.
-N cổng_số
Tùy chọn này yêu cầu rpost sử dụng số cổng NNRP thay thế khi kết nối với máy chủ,
thay vì số cổng mặc định, 119.
-s|-S tên tập tin
Các tùy chọn này sẽ gửi tất cả các thông báo trạng thái (thường được hiển thị trên stdout), đến một
tệp thay thế. Phiên bản viết thường, -s, sẽ gửi thông báo trạng thái đến
biên dịch mặc định được xác định trong suck_config.h. Mặc định là / dev / null, vì vậy không có trạng thái
tin nhắn sẽ được hiển thị. Phiên bản viết hoa, -S, yêu cầu tham số tên tệp.
Tất cả các thông báo trạng thái sau đó sẽ được gửi đến tệp này.
-T Tùy chọn này ghi đè giá trị TIMEOUT được biên dịch trong. Đây là thời gian mà rpost chờ đợi cho
dữ liệu từ máy chủ từ xa trước khi hết thời gian chờ và hủy bỏ.
-u Tùy chọn này yêu cầu rpost gửi lệnh AUTHINFO USER ngay sau khi kết nối với
máy chủ từ xa, thay vì đợi yêu cầu ủy quyền. Bạn phải cung cấp
Tùy chọn -U và -P khi bạn sử dụng tùy chọn này.
-U tên người dùng -P mật khẩu
Hai tùy chọn này cho phép bạn chỉ định userid và mật khẩu, nếu máy chủ NNTP của bạn yêu cầu
Chúng.
-Q
Tùy chọn này cho phép bạn chỉ định userid và mật khẩu thông qua các biến môi trường
"NNTP_USER" và "NNTP_PASS" thay vì trên dòng lệnh. Điều này ngăn chặn một tiềm năng
vấn đề bảo mật trong đó ai đó thực hiện lệnh ps có thể thấy thông tin đăng nhập và mật khẩu của bạn.
-z Tùy chọn này yêu cầu rpost sử dụng SSL để giao tiếp với các máy chủ từ xa, nếu SSL là
được biên dịch thành rpost.
STDIN PHƯƠNG THỨC
đăng lại
rpost tên máy chủ
rpost đọc một bài báo từ stdin và gửi nó đến máy chủ NNTP. Bài viết phải có
tiêu đề có ít nhất hai dòng, cụ thể là Nhóm tin: và Chủ đề: và phần nội dung (bài viết).
Tiêu đề và nội dung phải được phân tách bằng một dòng mới. Rpost không thay đổi bài viết trong
dù sao.
Rpost sử dụng lệnh POST để đăng bài viết của bạn, giống như bất kỳ trình đọc tin tức tiêu chuẩn nào. Cái này
rất hữu ích khi sử dụng SLIP và PPP, vì hầu hết các nhà cung cấp không cho phép bất kỳ phương pháp nào khác
đăng bài viết (chẳng hạn như nntpsend hoặc innxmit).
PIN PHƯƠNG THỨC
đăng lại hostname -b tập tin lô -p tiếp đầu ngữ -d
Chế độ hàng loạt này cho phép bạn cung cấp cho tạp chí danh sách các bài báo và đăng tất cả chúng.
-b tập tin bó
Một danh sách các bài báo sẽ được đăng. Tham số này là BẮT BUỘC. Tệp này chứa
một bài viết trên mỗi dòng, với dòng là đường dẫn đến tệp chứa bài báo. Vì
thí dụ:
-b /usr/spool/news/out.ending/pixi
NẾU có bất kỳ sự cố nào khi tải lên một bài báo cụ thể, một tệp "không thành công" sẽ được tạo.
Nó sẽ được gọi là "batchfile" .fail và chứa dòng từ tệp batch này cho
(các) bài viết không tải lên thành công. Tập tin này có thể được sử dụng để chạy lại không thành công
tin nhắn thông qua rpost. LƯU Ý: các bài báo trùng lặp KHÔNG được coi là lỗi do lỗi
tập tin.
-d
Nếu quá trình tải lên các bài viết thành công, tùy chọn này sẽ làm cho bài đăng
xóa tệp lô có tên trong tùy chọn -b.
tiền tố -p
Nếu tệp batch không chứa một đường dẫn đầy đủ mà là một đường dẫn một phần, thì tham số này
phải được chỉ định. Điều này rất hữu ích khi tệp hàng loạt được tạo bởi chương trình khác.
Ví dụ: Inn liệt kê đường dẫn trong tệp out.going liên quan đến thư mục cơ sở của nó
/ usr / spool / tin tức. Trong trường hợp đó, chỉ cần sử dụng:
-p / usr / spool / news
TIN TỨC PHƯƠNG THỨC
đăng lại hostname -r rnews_file rnews_path
Tùy chọn này cho phép bạn sử dụng (các) tệp được tạo rnews để đăng. Nó yêu cầu hai
thông số.
rnews_file - đây là tên cơ sở cho các tệp rnews. Nếu bạn có (các) tệp rnews của mình
được gọi là batch1, batch2, v.v., thì đối số này sẽ là "batch".
rnews_path - đây là đường dẫn đến vị trí của các tệp rnews.
-r batch / usr / tmp / rnews
-d
Nếu việc tải lên tất cả các bài báo từ bất kỳ tệp rnews nào thành công, thì điều này
tùy chọn sẽ khiến rpost xóa tệp rnews cụ thể đó.
LỌC CHẾ ĐỘ
-f bộ lọc $$ o = filter_arg1 filter_arg2 ...
Trong nhiều trường hợp, mỗi bài viết phải được xoa bóp thì NNTP ở xa mới chấp nhận. Cái này
và tùy chọn bộ lọc perl được nhúng bên dưới, cho phép bạn làm điều đó. Những bộ lọc này không
hoạt động ở chế độ STDIN, nhưng ở chế độ hàng loạt và chạy từ phía trên. Lưu ý rằng -f ...
tùy chọn phải là tùy chọn CUỐI CÙNG, vì mọi thứ sau nó được chuyển đến bộ lọc,
ngoại trừ như ghi chú bên dưới. Có ba tham số bắt buộc với điều này:
$$ o = - là tên của tệp do bộ lọc của bạn tạo ra sẽ nhận được
được tải lên máy chủ NNTP từ xa. ĐIỀU NÀY KHÔNG được chuyển đến chương trình lọc của bạn. Cái này có thể
được chỉ định ở bất kỳ đâu trên dòng lệnh SAU đối số bộ lọc -f, hoặc trước
tên bộ lọc hoặc sau nó.
bộ lọc - tên của chương trình để gọi. Bất kỳ nội dung nào sau bộ lọc, NGOẠI TRỪ cho $$ o, là
các đối số được chuyển đến bộ lọc.
arg1 - Đối số đầu tiên cho chương trình / tập lệnh bộ lọc của bạn. Rất có thể sẽ là $$ i,
rpost điền tên của bài viết cần được dọn dẹp.
arg2 ... - có thể chỉ định bất kỳ args bổ sung nào cần thiết.
Hãy làm rõ điều này một chút với một ví dụ. Một số máy chủ NNTP không muốn nhận
các bài viết có NNTP-Postting-Host đã được điền. Hãy tạo một tập lệnh shell ngắn để xóa phần này
từ một tệp:
-myscr --------------------------------------------
#!/ Bin / sh
sed -e "/ ^ NNTP-Đăng-Máy chủ / d" $ 1> $ 2
-end myscr ----------------------------------------
Sau đó gọi rpost như sau:
rpost localhost -b /usr/spool/news/out.going/pixi -f myscr \ $ \ $ o = / tmp / FILTERED_MSG
\ $ \ $ i / tmp / FILTERED_MSG
Sau đó, trước khi mỗi bài viết được tải lên, myscr được gọi như vậy:
myscr infilename / tmp / FILTERED_MSG
Sau khi myscr kết thúc, rpost tải lên bài viết đã được làm sạch, được lưu trữ trong
/ tmp / FILTERED_MSG, tới máy chủ NNTP từ xa.
LƯU Ý:
$$ o và $$ i phải được thoát, sử dụng dấu gạch chéo ngược như trên hoặc với dấu
dấu ngoặc kép, để ngăn trình bao cố gắng diễn giải chúng dưới dạng các biến. Thất bại
thoát khỏi chúng sẽ dẫn đến rpost không hoạt động!
-F người làm nghề đánh lừa
Tùy chọn này cho phép bạn sử dụng bộ lọc perl nhúng để lọc các bài báo của mình. Theo thứ tự
để sử dụng điều này, bạn phải chỉnh sửa Makefile và xác định các tùy chọn PERL_ khác nhau. Nó có một
một số lợi thế so với tùy chọn -f ở trên. Bởi vì nó được nhúng perl, không có
forks và executels () được thực hiện, vì vậy nó sẽ nhanh hơn. Ngoài ra, bạn không cần phải lo lắng về
đối số của chương trình và thoát $$, v.v. như trên.
Rpost, khi nó khởi động, sẽ tải trong tệp perlfilter được chỉ định và phân tích cú pháp nó cho
lỗi cú pháp. Sau đó, đối với mỗi bài viết được tải lên, rpost sẽ gọi chương trình con
"perl_rpost", có trong tệp perlfilter. Xem sample / put.news.pl để biết đầy đủ
ví dụ làm việc. Có ba điểm chính bạn cần lưu ý khi tạo
lọc.
1. Tệp perlfilter phải chứa dòng "package Embed :: Persistant;", để
các biến trong tệp perlfilter không xung đột với các biến rpost và
chương trình con phải được gọi là "perl_rpost". Điều này có thể được thay đổi bằng cách chỉnh sửa
PERL_RPOST_SUB xác định trong suck_config.h.
2. Chương trình con perl_rpost nhận tên tệp đầu vào làm đối số duy nhất của nó và
phải trả lại đường dẫn đầy đủ đến vị trí của bài báo đã lọc dưới dạng một đường dẫn duy nhất
chuỗi vô hướng (trả về $ outfile).
3. Chương trình con phải đóng tệp đầu ra một cách rõ ràng (chứa
đối số) trước khi nó trả về. Điều này là do perl sẽ chỉ đóng tự động
sau khi hoàn thành chương trình (trong trường hợp của chúng tôi là khi rpost thoát) hoặc khi xử lý tệp
được sử dụng lại (lần sau khi chương trình con được gọi). Nếu việc đóng vẫn chưa xong, thì
rất có thể, một tệp 0 byte sẽ tồn tại khi rpost cố gắng đăng bài viết,
và lỗi sẽ dẫn đến.
Chú ý:
Hãy rất cẩn thận với những gì chương trình lọc xóa khỏi bài viết. Xóa sai
dòng có thể có tác động xấu sau này. Ví dụ: không xóa dòng MSG-ID, vì điều này
có thể khiến một tin nhắn được đăng nhiều lần, tùy thuộc vào cấu hình của
cả máy chủ báo địa phương và từ xa.
ĐĂNG lại LUẬN FILE
Nếu bạn chỉ định @filename trên dòng lệnh, rpost sẽ đọc từ tên tệp và phân tích cú pháp nó
cho bất kỳ đối số nào mà bạn muốn chuyển tới rpost. Bạn chỉ định các đối số tương tự trong này
như bạn làm trên dòng lệnh. Các đối số có thể nằm trên một dòng hoặc trải ra giữa các
nhiều hơn một dòng. Bạn cũng có thể sử dụng bình luận. Nhận xét bắt đầu bằng '#' và đi đến cuối
của một dòng. Tất cả các đối số dòng lệnh sẽ ghi đè các đối số trong tệp. Một lợi thế để
bằng cách sử dụng tệp thay vì dòng lệnh, bạn không phải thoát khỏi bất kỳ
các ký tự, chẳng hạn như $.
# Tệp đối số mẫu
-b batch # tùy chọn tệp hàng loạt
-M # tùy chọn trình đọc chế độ sử dụng
EXIT GIÁ TRỊ
Rpost trả về các giá trị thoát sau:
0 = thành công
1 = lỗi khi đăng một bài báo
2 = không thể thực hiện ủy quyền NNTP với máy chủ từ xa.
3 = câu trả lời bất ngờ cho lệnh khi thực hiện ủy quyền NNTP.
-1 = lỗi nghiêm trọng khác.
Sử dụng rpost trực tuyến bằng các dịch vụ onworks.net